Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-03-13T07:41:35Zhttps://lab.civicrm.org/dev/core/-/issues/4171FormBuilder: Create options to style radio buttons/checkboxes2023-03-13T07:41:35ZJonGoldFormBuilder: Create options to style radio buttons/checkboxesCurrently, there's no way to configure the style of radio buttons/checkboxes within the FormBuilder UI. It also doesn't respect the "Options Per Line" setting of the custom field.
Ideally we could specify vertical/horizontal/columns for...Currently, there's no way to configure the style of radio buttons/checkboxes within the FormBuilder UI. It also doesn't respect the "Options Per Line" setting of the custom field.
Ideally we could specify vertical/horizontal/columns for options.https://lab.civicrm.org/dev/core/-/issues/4170FormBuilder: Allow placing fields outside their entity fieldset2023-03-13T07:41:15ZJonGoldFormBuilder: Allow placing fields outside their entity fieldsetFrom today's FormBuilder meeting:
Currently, the markup for a field doesn't specify its entity, in order to facilitate creating reusable blocks. However, it would be beneficial to allow specifying the entity for a field within the field...From today's FormBuilder meeting:
Currently, the markup for a field doesn't specify its entity, in order to facilitate creating reusable blocks. However, it would be beneficial to allow specifying the entity for a field within the field's markup.
This would allow a UX-friendly way of freely ordering fields on a form without regard to the entity.https://lab.civicrm.org/dev/core/-/issues/4167Transferred to Link in View Event Registration for {participant} Goes to a Pr...2023-03-09T09:20:26ZLKuttnerTransferred to Link in View Event Registration for {participant} Goes to a Previous EventSteps to Reproduce:
- View an event registration that has been transferred to another participant.
- In the Status line, Click the name of the participant that the registration has been transferred to.
- Example: _Status | Transferred (...Steps to Reproduce:
- View an event registration that has been transferred to another participant.
- In the Status line, Click the name of the participant that the registration has been transferred to.
- Example: _Status | Transferred (Transferred to Megan Nedzinski)_
- The link takes you to the registration for the first event that the person was ever registered for.
- The link does not take you to the latest registration that was just transferred to that contact.
- This only happens in the View Event Registration for {participant} page.
- In the Edit Event Registration for {participant} page, clicking the equivalent link does take you to the correct event.
This is using CiviCRM 5.55.1 on Drupal 7. I just noticed this and don't know how long this behavior has been in effect.https://lab.civicrm.org/dev/core/-/issues/4162Up/down arrow on pager on a contact's Events tab doesn't do the right thing.2023-03-07T07:27:22ZDaveDUp/down arrow on pager on a contact's Events tab doesn't do the right thing.1. Find a contact that has attended 51+ events. Note you can use the api Participant.create to quickly generate some records against the same event+contact since otherwise this is a lot of clicking.
* Note even if you change the defau...1. Find a contact that has attended 51+ events. Note you can use the api Participant.create to quickly generate some records against the same event+contact since otherwise this is a lot of clicking.
* Note even if you change the default pager size at search settings it seems hardcoded to 50.
1. Visit the contact's events tab.
1. Click the up arrow on the pager page control.
1. It takes you to a new register participant form instead of the next page.
The next/last links work ok.
What's interesting is that the url in the network tab seems correct, and if you visit it standalone it does seem to run the event search form correctly. So I suspect something about the context is getting lost in the session. The relevant code might be in CRM_Event_Page_Tab.https://lab.civicrm.org/dev/core/-/issues/4160Convert html special chars to their ascii equivalent in ical file generation2023-03-07T07:26:05ZyashodhaConvert html special chars to their ascii equivalent in ical file generationWhen an event is set to public, the event registration receipt includes a link to download a .ics (ical) file of the event.
This ICS file is generated on the fly, and adds the description of the event to the description field in the .ics...When an event is set to public, the event registration receipt includes a link to download a .ics (ical) file of the event.
This ICS file is generated on the fly, and adds the description of the event to the description field in the .ics. All html tags are stripped from the text, however special chars that have been converted to their html code are not converted back to ASCII in the .ics.
We need to update the generation of the .ics file to include the conversion of html char code back to ASCII equivalent.
e.g.
- è ; > è
- " ; > "
- Â ; > Â
-   ; > [space]
(put the space before ; so that one can see the char code)
etc...yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4159CiviBuild with Redis crashes when `Redis` has list of extensions cached & `ci...2023-03-07T07:25:36ZeileenCiviBuild with Redis crashes when `Redis` has list of extensions cached & `civibuild create` calledJust noting down the suggested fix
suppose that cv core:install generates civicrm.settings.php and includes a constant:
define('CIVICRM_DEPLOY_ID', 'SoMe_RaNdOM_1234')
the CIVICRM_DEPLOY_ID would be reset each time you reinstall. it co...Just noting down the suggested fix
suppose that cv core:install generates civicrm.settings.php and includes a constant:
define('CIVICRM_DEPLOY_ID', 'SoMe_RaNdOM_1234')
the CIVICRM_DEPLOY_ID would be reset each time you reinstall. it could be included as part of the prefix/key for memcache/redis and php-cache-files
s.t. if you do a civibuild reinstall, any cache derived from CIVICRM_DEPLOY_ID is guaranteed to be resethttps://lab.civicrm.org/dev/joomla/-/issues/46KC Finder Not Working Under Joomla 42023-12-11T14:04:46ZcrusonwebKC Finder Not Working Under Joomla 4I have discovered that currently KC Finder will not work under Joomla 4. If you click the Browse Server button when inserting an image into the editor using CKEditor 4, CKEditor 5 or TinyMCE you get a 500 error. I have recreated this o...I have discovered that currently KC Finder will not work under Joomla 4. If you click the Browse Server button when inserting an image into the editor using CKEditor 4, CKEditor 5 or TinyMCE you get a 500 error. I have recreated this on multiple client sites running Joomla 4.2.7 and 4.2.8 and CiviCRM 5.57.0 and 5.58.1. I have also recreated it on the Joomla 4 demo site, although I had to turn off Mosaico to do so (since it is on by default).
I did some digging and the problem appears to rest in the authenticate_joomla function within /packages/kcfinder/integration/civicrm.php which is using JFactory::getApplication('administrator'). Under Joomla 4, getApplication doesn't work the same way it did under Joomla 3 so you get the non-descript 500 error screen. I updated the code with the following block and that worked in most of my cases:
```
if (version_compare(JVERSION, '4.0.0', 'lt')) {
$mainframe = JFactory::getApplication('administrator');
$mainframe->initialise();
$user_id = JFactory::getUser()->id;
} else {
// Boot the DI container.
$container = \Joomla\CMS\Factory::getContainer();
// Alias the session service key to the web session service.
$container->alias(\Joomla\Session\SessionInterface::class, 'session.web.site');
// Get the application.
$app = $container->get(\Joomla\CMS\Application\AdministratorApplication::class);
$user_id = Joomla\CMS\Factory::getUser()->id;
}
```
In all but one case this got KC Finder working, that last case I ended up with the folder and file fields both saying "Unknown Error" which I am thinking is due to something specific to that site and not Civi. However, I am not 100% confident my approach is the right one so I wanted to raise this as an issue so another set of eyes could confirm or correct my solution.Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/4143Smarty bus errors2023-02-24T22:05:21ZeileenSmarty bus errorsSmarty can show bus errors under load
See
Truncating a compiled template leads to concurrency issues if another process is including the same file. See also CRM-11189 for a description of the "bus error" encountered when one of the co...Smarty can show bus errors under load
See
Truncating a compiled template leads to concurrency issues if another process is including the same file. See also CRM-11189 for a description of the "bus error" encountered when one of the concurrent processes dies.
CRM-19013: Compiled templates are truncated
CRM-11189: When CiviMail renders smarty templates for mailing, it saves them to disk
https://github.com/civicrm/civicrm-packages/pull/158https://lab.civicrm.org/dev/core/-/issues/4139Form Builder: Display only field fixes for date, checkbox, radio, select and ...2023-02-24T07:10:42ZKurund JalmiForm Builder: Display only field fixes for date, checkbox, radio, select and entity ref fieldsCurrently, display only fields shows raw values which works well only for text fields.
We need to fix the display for the following data types:
- Date
- Select
- Checkbox
- Radio
- Select
- Entity RefCurrently, display only fields shows raw values which works well only for text fields.
We need to fix the display for the following data types:
- Date
- Select
- Checkbox
- Radio
- Select
- Entity RefKurund JalmiKurund Jalmihttps://lab.civicrm.org/dev/core/-/issues/4137Possible issue with Token processor and Smarty2023-03-03T20:07:08ZGuillaumeSorelPossible issue with Token processor and SmartyWhen using smarty logic with custom fields they don't get considered as numeric values any more so no calculation operation can be processed.
Sent as a 'normal' token, the token get merged. Nothing in the configuration changed. The custo...When using smarty logic with custom fields they don't get considered as numeric values any more so no calculation operation can be processed.
Sent as a 'normal' token, the token get merged. Nothing in the configuration changed. The custom are still declared as numeric.
If combined with smarty, they become simple 'text' values and in our situation nothing happens, when it should be.
This process was working since months until upgrading to 5.58.1 (on WP 6.1.1 and php 7.4) and was used many times to edit invoices:
```
{if $contact.custom_147==0}{else}- {contact.custom_147} Licences assurances annuelles = {$contact.custom_147*20}€{/if}
{if $contact.custom_154==0}{else}- {contact.custom_154} Licences assurances occasionnelles = {$contact.custom_154*15}€{/if}
{if $contact.custom_155==0}{else}- {contact.custom_155} Frais de gestion pour membre stagiaire en formation secourisme = {$contact.custom_155*10}€{/if}
{if $contact.custom_156==0}{else}- {contact.custom_156} Frais d'affiliation = {$contact.custom_156*150}€{/if}
Total réglé = {math equation="(op1*20)+(op2*15)+(op3*10)+(op4*150)" op1=$contact.custom_147 op2=$contact.custom_154 op3=$contact.custom_155 op4=$contact.custom_156}€
```
and this should show something like
- 2 Licences assurances annuelles = 40€
- 3 Frais de gestion pour membre stagiaire en formation secourisme = 30€
Total réglé = 70€https://lab.civicrm.org/dev/core/-/issues/4136Saving Repeating Events causes Registration date to be copied and/or overwritten2023-02-20T06:29:43ZshaneonabikeSaving Repeating Events causes Registration date to be copied and/or overwrittenOverview
----------------------------------------
Repeating Events are amazing for structuring recurring events. For a client, we had about 12 events scheduled and I wanted to add a new payment processor to those events. Upon adding tha...Overview
----------------------------------------
Repeating Events are amazing for structuring recurring events. For a client, we had about 12 events scheduled and I wanted to add a new payment processor to those events. Upon adding that to the Fees , and applying it to all the Events it changed all the ```Registration dates``` to match the first event :face_palm:
Reproduction steps
----------------------------------------
1. Create an Event
1. Set some fees and one payment processor
1. Set a Start date and Registration date a week before the start date
1. Set the repeat tab to ```Repeats every```: 1 month on the Third Thursday
1. Set an End after 11 occurrences
1. Save the Event choosing ```Every Event``` in the popup
1. Edit one of the Events
1. Check off another payment processor
1. Save the Event
1. The Registration date has changed on all the events
Expected behaviour
----------------------------------------
Basically, I was thinking that either A) we detect this is a modification and don't propagate OR B) we just don't propagate that field since it doesn't seem to make sense (at least to me) to do that on repeating events.https://lab.civicrm.org/dev/core/-/issues/4129API v4 explorer: boolean params don't render correctly for CV (short)2023-02-20T06:24:39ZnoahAPI v4 explorer: boolean params don't render correctly for CV (short)The API4 explorer generates shorthand `cv` syntax that looks like, for example:
````bash
cv api4 Contact.delete +w 'id = 99' checkPermissions=false useTrash=false
````
However, `cv` does not correctly interpret `false` in this context....The API4 explorer generates shorthand `cv` syntax that looks like, for example:
````bash
cv api4 Contact.delete +w 'id = 99' checkPermissions=false useTrash=false
````
However, `cv` does not correctly interpret `false` in this context. The syntax that works is:
````bash
cv api4 Contact.delete +w 'id = 99' checkPermissions=0 useTrash=0
````
So the explorer should generate that syntax.https://lab.civicrm.org/dev/core/-/issues/4125Use a maintenance template and theme for Drupal 8/9+ in CRM_Utils_System_Drup...2023-02-20T06:21:58ZherbdoolUse a maintenance template and theme for Drupal 8/9+ in CRM_Utils_System_Drupal8::theme() (follow up to dev/core#4076)In https://lab.civicrm.org/dev/core/-/issues/4076 we're splitting up the `theme()` method and putting it into each System class. The Drupal8 method doesn't behave like Drupal 7's, which uses the maintenance template and theme (without th...In https://lab.civicrm.org/dev/core/-/issues/4076 we're splitting up the `theme()` method and putting it into each System class. The Drupal8 method doesn't behave like Drupal 7's, which uses the maintenance template and theme (without the admin menu, etc). It would be nice if it did.
A first attempt looked like the following but it's missing the Civi core JS and CSS:
```
public function theme(&$content, $print = FALSE, $maintenance = FALSE) {
$ret = FALSE;
if (!$print) {
if ($maintenance) {
if ($region = CRM_Core_Region::instance('html-header', FALSE)) {
CRM_Utils_System::addHTMLHead($region->render(''));
}
$renderer = \Drupal::service('bare_html_page_renderer');
$build['content'] = [
'#markup' => \Drupal\Core\Render\Markup::create($content),
];
$civicrmPageState = \Drupal::service('civicrm.page_state');
$title = $civicrmPageState->getTitle();
$response = $renderer->renderBarePage($build, $title, 'maintenance_page');
print $response->getContent();
exit();
}
$ret = TRUE;
}
$out = $content;
if ($ret) {
return $out;
}
else {
print $out;
return NULL;
}
}
```https://lab.civicrm.org/dev/core/-/issues/4124Past campaigns are not to be assigned via batch update/update contributions2023-03-15T06:27:08ZyashodhaPast campaigns are not to be assigned via batch update/update contributionsSteps to replicate :
- Create a campaign with end date in past
![campaign](/uploads/cefd27e11afe0c929803e28f58f67bbb/campaign.png)
- Create a profile configured for contribution fields (including the campaign field)
- Find Contribution...Steps to replicate :
- Create a campaign with end date in past
![campaign](/uploads/cefd27e11afe0c929803e28f58f67bbb/campaign.png)
- Create a profile configured for contribution fields (including the campaign field)
- Find Contributions, and select a few and use the created profile to update the campaign
- The campaign is NOT available in the drop down
![batch_update](/uploads/cfa7bee25d1cb7baa5bd1664b39e00e5/batch_update.png)
- On new/edit contributions, you are able to choose the past campaigns as well (which is the correct behavior).
![new_contribution](/uploads/82d4ddaaf86af46cab608ef26b333ece/new_contribution.png)yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4122Send receipt for contribution in contact dashboard redirects to advanced search2023-02-15T05:58:42ZChabadrichmondSend receipt for contribution in contact dashboard redirects to advanced searchOverview
----------------------------------------
When sending a receipt for a contribution in the contact dashboard it submits the receipt successfully and redirects to the search page with a notice on the top right saying "Because your...Overview
----------------------------------------
When sending a receipt for a contribution in the contact dashboard it submits the receipt successfully and redirects to the search page with a notice on the top right saying "Because your session timed out, we have reset the search page."
I tested on Civicrm Demo site as well and saw it on a number of versions starting from 5.53
Reproduction steps
----------------------------------------
1. Click on Contacts
2. Go to contributions Tab
3. Send a receipt to an existing contribution
4. Email is sent but it redirects to advanced search page with notice about Session timeout
![Receipt_error](/uploads/890aea89a1a364196a66ad79ff6175bc/Receipt_error.gif)
Expected behaviour
----------------------------------------
Receipt dialog box should close with success messagehttps://lab.civicrm.org/dev/core/-/issues/4117Filter Searches by 'is_current' / expires_date2023-02-07T23:27:08ZeileenFilter Searches by 'is_current' / expires_dateThe `civicrm_search` table has an `expires_date` field. I believe it should be used as a filter on the search admin screen.
I copied the field into `civicrm_user_job` when I created that and the searches based on user jobs have expires_...The `civicrm_search` table has an `expires_date` field. I believe it should be used as a filter on the search admin screen.
I copied the field into `civicrm_user_job` when I created that and the searches based on user jobs have expires_date set from the user job.
I realised it is a bit of a pain to add to the js as it would be `expires_date` is in the past OR is NULL - which got me thinking that it is most like `is_current` & perhaps should be a trait like that - with is_current = TRUE as a default
@colemanw - what has me most confused is where to put it - I could add it to `IsCurrentSpecProvider` & it just has different rules - maybe I'll tryhttps://lab.civicrm.org/dev/core/-/issues/4111Searchkit: Fatal error on Related Contacts search2023-02-08T19:45:59ZshaneonabikeSearchkit: Fatal error on Related Contacts searchHey there,
I built out a Related Contacts search, but noticed recently that there are some Fatal error messages in the Civi logs.
## How to reproduce
You can use my export here it's nothing complicated just a Display of Related Contac...Hey there,
I built out a Related Contacts search, but noticed recently that there are some Fatal error messages in the Civi logs.
## How to reproduce
You can use my export here it's nothing complicated just a Display of Related Contacts (way to go on this feature btw)
```
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "Related_Contacts",
"label": "Related Contacts",
"form_values": null,
"mapping_id": null,
"search_custom_id": null,
"api_entity": "RelationshipCache",
"api_params": {
"version": 4,
"select": [
"near_relation:label",
"far_contact_id.display_name"
],
"orderBy": [],
"where": [
[
"is_active",
"=",
true
]
],
"groupBy": [],
"join": [],
"having": []
},
"expires_date": null,
"description": null
}
],
"match": [
"name"
]
}
],
[
"SearchDisplay",
"save",
{
"records": [
{
"name": "Relationships",
"label": "Relationships Table",
"saved_search_id.name": "Related_Contacts",
"type": "table",
"settings": {
"actions": true,
"limit": 25,
"classes": [
"table",
"table-striped",
"table-bordered"
],
"pager": {
"show_count": true,
"expose_limit": true
},
"columns": [
{
"type": "field",
"key": "near_relation:label",
"dataType": "String",
"label": "Relationship",
"sortable": true,
"link": {
"path": "",
"entity": "Relationship",
"action": "view",
"join": "",
"target": "crm-popup"
},
"title": "View Related Contact",
"tally": {
"fn": null
}
},
{
"type": "field",
"key": "far_contact_id.display_name",
"dataType": "String",
"label": "Contact Name",
"sortable": true,
"link": {
"path": "",
"entity": "Contact",
"action": "view",
"join": "far_contact_id",
"target": "_blank"
},
"title": "View Contact",
"tally": {
"fn": null
}
}
],
"sort": [
[
"relationship_type_id",
"DESC"
],
[
"far_contact_id.display_name",
"ASC"
]
],
"placeholder": 5,
"tally": {
"label": "Total"
}
},
"acl_bypass": true
}
],
"match": [
"name",
"saved_search_id"
]
}
],
[
"Afform",
"save",
{
"records": [
{
"name": "afsearchRelationships",
"requires": [],
"title": "Relationships",
"description": "",
"is_dashlet": false,
"is_public": false,
"is_token": false,
"permission": "access CiviCRM",
"type": "search",
"entity_type": null,
"join_entity": null,
"contact_summary": "block",
"icon": "fa-list-alt",
"server_route": "",
"redirect": null,
"create_submission": false,
"navigation": null,
"layout": "<div af-fieldset=\"\">\n <af-field name=\"far_contact_id.display_name\" defn=\"{label: 'Contact Name', input_attrs: {}}\" />\n <crm-search-display-table search-name=\"Related_Contacts\" display-name=\"Relationships\" filters=\"{near_contact_id: options.contact_id}\"></crm-search-display-table>\n</div>\n"
}
]
}
]
]
```
## What is happening
The display renders perfectly, but in the logs it seems that the ```SELECT statement``` is incorrect. This fires just on the actual search as well.
## The Error
```
Feb. 03 09:30:22 [error] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -2
[message] => DB Error: syntax error
[mode] => 16
[debug_info] => SELECT FROM (SELECT `a`.`near_relation` AS `near_relation:label`, `far_contact_id_1`.`display_name` AS `far_contact_id.display_name`, `RelationshipCache_Contact_far_contact_id_01`.`display_name` AS `RelationshipCache_Contact_far_contact_id_01.display_name`
FROM civicrm_relationship_cache a
LEFT JOIN `civicrm_relationship_type_en_CA` `RelationshipCache_RelationshipType_relationship_type_id_01` ON `a`.`relationship_type_id` = `RelationshipCache_RelationshipType_relationship_type_id_01`.`id`
LEFT JOIN `civicrm_contact` `RelationshipCache_Contact_far_contact_id_01` ON `a`.`far_contact_id` = `RelationshipCache_Contact_far_contact_id_01`.`id`
LEFT JOIN `civicrm_contact` `far_contact_id_1` ON `a`.`far_contact_id` = `far_contact_id_1`.`id`
WHERE (`a`.`is_active` = "1")
) `api_query` [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM (SELECT `a`.`near_relation` AS `near_relation:label`, `far_contact_id_1`...' at line 1]
[type] => DB_Error
[user_info] => SELECT FROM (SELECT `a`.`near_relation` AS `near_relation:label`, `far_contact_id_1`.`display_name` AS `far_contact_id.display_name`, `RelationshipCache_Contact_far_contact_id_01`.`display_name` AS `RelationshipCache_Contact_far_contact_id_01.display_name`
FROM civicrm_relationship_cache a
LEFT JOIN `civicrm_relationship_type_en_CA` `RelationshipCache_RelationshipType_relationship_type_id_01` ON `a`.`relationship_type_id` = `RelationshipCache_RelationshipType_relationship_type_id_01`.`id`
LEFT JOIN `civicrm_contact` `RelationshipCache_Contact_far_contact_id_01` ON `a`.`far_contact_id` = `RelationshipCache_Contact_far_contact_id_01`.`id`
LEFT JOIN `civicrm_contact` `far_contact_id_1` ON `a`.`far_contact_id` = `far_contact_id_1`.`id`
WHERE (`a`.`is_active` = "1")
) `api_query` [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM (SELECT `a`.`near_relation` AS `near_relation:label`, `far_contact_id_1`...' at line 1]
[to_string] => [db_error: message="DB Error: syntax error" code=-2 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="SELECT FROM (SELECT `a`.`near_relation` AS `near_relation:label`, `far_contact_id_1`.`display_name` AS `far_contact_id.display_name`, `RelationshipCache_Contact_far_contact_id_01`.`display_name` AS `RelationshipCache_Contact_far_contact_id_01.display_name`
FROM civicrm_relationship_cache a
LEFT JOIN `civicrm_relationship_type_en_CA` `RelationshipCache_RelationshipType_relationship_type_id_01` ON `a`.`relationship_type_id` = `RelationshipCache_RelationshipType_relationship_type_id_01`.`id`
LEFT JOIN `civicrm_contact` `RelationshipCache_Contact_far_contact_id_01` ON `a`.`far_contact_id` = `RelationshipCache_Contact_far_contact_id_01`.`id`
LEFT JOIN `civicrm_contact` `far_contact_id_1` ON `a`.`far_contact_id` = `far_contact_id_1`.`id`
WHERE (`a`.`is_active` = "1")
) `api_query` [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM (SELECT `a`.`near_relation` AS `near_relation:label`, `far_contact_id_1`...' at line 1]"]
)
```
The thing I want to point out is the ```SELECT FROM (SELECT `a`.`near_relation` ``` at the start. The Select is invalid because it's not selecting any fields. Perhaps it should be ```*```, but really I did choose ```Relationship to contact``` and ```Contact (far side)``` to be displayed in the actual table below
![Selection_003](/uploads/1e2116880e9c710671ec74425b19d41e/Selection_003.png)https://lab.civicrm.org/dev/core/-/issues/4110Can't edit Activity source, targets, assignees in FormBuilder2023-04-05T16:48:01ZnoahCan't edit Activity source, targets, assignees in FormBuilder[As reported](https://chat.civicrm.org/civicrm/pl/eprjkpg4cbrcbbj7u64qnbsohc) by @guyiac on MM:
I'm trying to use a form to edit existing activities. I can pass the existing activity id successfully with an URL, and all the information ...[As reported](https://chat.civicrm.org/civicrm/pl/eprjkpg4cbrcbbj7u64qnbsohc) by @guyiac on MM:
I'm trying to use a form to edit existing activities. I can pass the existing activity id successfully with an URL, and all the information for the activity will pre-fill into the form, ***except*** the contacts (targets, assigned to, and created by). Am I missing something? Civi 5.54.0.https://lab.civicrm.org/dev/core/-/issues/4108Missing field for state province is easily missed2023-02-02T07:52:59ZyashodhaMissing field for state province is easily missedSteps to replicate :
--------------------
- Go to main of any configured contribution pages
- Fill all the mandatory fields except postcode
- On submit, the page will have postcode field in view (no need to scroll) all the way down.
...Steps to replicate :
--------------------
- Go to main of any configured contribution pages
- Fill all the mandatory fields except postcode
- On submit, the page will have postcode field in view (no need to scroll) all the way down.
![dmaster_postcode](/uploads/66a33999f7035fd958cde632cf975f74/dmaster_postcode.png)
- Fill all the mandatory fields except state province
- On submit, the page will NOT have state province field in view (need to scroll)
![dmaster_state](/uploads/f8019eddec3cfd91bf6c5b77f0dfdd28/dmaster_state.png)
This is inconsistent and esp cumbersome when you have a lot of fields configured in profile.https://lab.civicrm.org/dev/core/-/issues/4107Disabling an extension should not remove associated permissions from the CMS2023-07-05T22:19:53ZlarsssandergreenDisabling an extension should not remove associated permissions from the CMSDisabling an extension doesn't erase any settings for the extension, except if there is an associated permission in the CMS, which is removed on disabling the extension. When you later re-enable the extension, no one has the permission w...Disabling an extension doesn't erase any settings for the extension, except if there is an associated permission in the CMS, which is removed on disabling the extension. When you later re-enable the extension, no one has the permission which is re-added. This is inconsistent with how all the other settings work and confusing for users and admins (who will wonder why they can't do what they used to be able to do). This came up for me with CDN Tax Receipts, but testing shows it seems to happen with other extensions too.
Is there any reason we couldn't just leave permissions in place on extension disable and remove them instead on uninstall?
Tested on 5.59 on D7.