CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2023-10-13T01:01:38Zhttps://lab.civicrm.org/dev/core/-/issues/4499Undefined array key 0 when sending offline event receipt2023-10-13T01:01:38ZDaveDUndefined array key 0 when sending offline event receiptIt seems to be $lineItem[0] at https://github.com/civicrm/civicrm-core/blob/44efaf52507df2445908e02c30caef62ada0100a/CRM/Event/Form/Participant.php#L1353. It looks like it might not always be defined if editing an existing participant. B...It seems to be $lineItem[0] at https://github.com/civicrm/civicrm-core/blob/44efaf52507df2445908e02c30caef62ada0100a/CRM/Event/Form/Participant.php#L1353. It looks like it might not always be defined if editing an existing participant. But it's also confusing because it looks like sometimes it will be 0 and sometimes the array is keyed on price set id.https://lab.civicrm.org/dev/core/-/issues/4497Redirect after editing Custom Field Group is broken2023-08-13T20:50:50ZlarsssandergreenRedirect after editing Custom Field Group is brokenOn dmaster:
1. Admin > Customize Data & Screens > Custom Fields
1. Select Settings for a Custom Field Group
1. Save
Result: Redirected to somewhere weird (sometimes /civicrm, sometimes a report)
Expected: Redirected back to the browse...On dmaster:
1. Admin > Customize Data & Screens > Custom Fields
1. Select Settings for a Custom Field Group
1. Save
Result: Redirected to somewhere weird (sometimes /civicrm, sometimes a report)
Expected: Redirected back to the browse page
I tried to follow this in the debugger and concluded that `UserContext` in `$_SESSION` is wrong as soon as you load the form, but didn't get any further than that.
I also note the same issue with deleting or previewing a Custom Field Group.https://lab.civicrm.org/dev/core/-/issues/4496Event template fix-ups2023-08-17T14:18:50ZeileenEvent template fix-upsGenerally the goal is to make event templates not dependent on the form layer (using tokens & the MessageTemplate harness)
I'm creating this tracking issue to load up some screen shots for comparisonsGenerally the goal is to make event templates not dependent on the form layer (using tokens & the MessageTemplate harness)
I'm creating this tracking issue to load up some screen shots for comparisonshttps://lab.civicrm.org/dev/core/-/issues/4495Proposal pseudoconstant facade2023-08-17T14:18:27ZeileenProposal pseudoconstant facadeI have long found using the core pseudoconstant functions a bit error prone as I 'guess' the BAO names & mix 'Contribute' & Contribution etc
Perhaps we should add
```
\Civi::pseudoConstant($entity)->getKey($name, $fieldName);
\Civi::ps...I have long found using the core pseudoconstant functions a bit error prone as I 'guess' the BAO names & mix 'Contribute' & Contribution etc
Perhaps we should add
```
\Civi::pseudoConstant($entity)->getKey($name, $fieldName);
\Civi::pseudoConstant($entity)->getLabel($id, $fieldName);
\Civi::pseudoConstant($entity)->getName($id, $fieldName);
(e.g value could be 'icon')
\Civi::pseudoConstant($entity)->getValue($id, $fieldName, $value);
```
I have some misgivings about the work pseudoConstant - it could be '\Civi::options()' or something else
Importantly `$entity` is the short-name
- I just added a note to docs discouraging people from randomly using core functions & suggesting they use only ones that are explicitly for external use & realised that there is no explicitly supported version of these super important functionshttps://lab.civicrm.org/dev/core/-/issues/4493Support for Note entity available in FormBuilder2023-08-24T16:19:13ZbrienneSupport for Note entity available in FormBuilderOverview
----------------------------------------
In continuing to expand FormBuilder's use cases, it would be great to support the Note entity on afforms, so that users can have a place to enter text without having to create a custom fi...Overview
----------------------------------------
In continuing to expand FormBuilder's use cases, it would be great to support the Note entity on afforms, so that users can have a place to enter text without having to create a custom field on the entity to which they want to stick a note.
Example use-case
----------------------------------------
1. A form for users to create a new contact and add a note about them, which may not fit into a specific (or reusable) custom field
Current behaviour
----------------------------------------
The Note entity is not currently available to add to an afform.
Proposed behaviour
----------------------------------------
A Note entity could be added in FormBuilder and configured so that the back end user can select the `entity_table` that the Note is associated with.https://lab.civicrm.org/dev/core/-/issues/4491Document - Modifying Afform Editor UI2023-08-17T14:17:17ZseamusleeDocument - Modifying Afform Editor UIInspired by Kevin's comments here https://chat.civicrm.org/civicrm/pl/86tae1m6ijfiuf7ejewi9q8wxo It made me think about if I was doing an email submission handling as an extension how I would go about it
We already have the afformSubmis...Inspired by Kevin's comments here https://chat.civicrm.org/civicrm/pl/86tae1m6ijfiuf7ejewi9q8wxo It made me think about if I was doing an email submission handling as an extension how I would go about it
We already have the afformSubmission event which can be used to trigger the sending of the email. However I would imagine end users would want some level of customisations on a per form basis, e.g. the to email address, The email body, the subject line and maybe the from email address. What I don't know is if we have good documentation about how to modify the afform editor interface to include such fields that can then be stored somewhere sensible and I don't know where that storage would be either.
I figure we should have some documentation here as to the correct way to do this as others may want to add their own submission events on e.g. posting to a zapier end point or maybe throwing a webhook somewhere right?colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4490Feature request - Queue api should respect maintenance mode2023-09-20T02:39:21ZeileenFeature request - Queue api should respect maintenance modeProposal to add a maintenance mode setting that is respected by the Queue api such that it would not permit `claimItems` while this setting is enabled - except for possibly upgrade tasks?
Note that when coworker respects this it should ...Proposal to add a maintenance mode setting that is respected by the Queue api such that it would not permit `claimItems` while this setting is enabled - except for possibly upgrade tasks?
Note that when coworker respects this it should log a message with a priority of `warning` so that a sysadmin can see that although the process is running no tasks are.
Chat discussion to date https://chat.civicrm.org/civicrm/pl/9h93yabz33g17qa3apcet8irdy
The summary of the chat is that `claimItem` api should be the place where maintenance mode is checked & heeded. This would be for 'persistent queues' - ie `CRM_Queue_Queue_Memory` would not check it.
- [ ] The claim item/s functions should call a symfony listener - returning false in this piece of code if an external listener (threshold check) sets the status to false
- [ ] we should add a setting for Maintenance mode (keep it simple) - call it `queue_maintenance_mode`? ClaimItem should return FALSE if this is TRUE
**Notes**
1) the following query will determine whether all queues have finished once maintenance mode is enabled:
`SELECT * FROM civicrm_queue_item where release_time > NOW()`
If future scheduling is in use (civi-rules?) then this might not suffice and if that ever arises as a feature someone wants to work on they could add a suitable field to the `civicrm_queue_item` table (`is_future_scheduled` ?)
2) I can't recall what we decided re should claimItems support an override - ie if you took everything else down in order to keep one queue running & want that queue to still claim items.... perhaps I'll find ithttps://lab.civicrm.org/dev/core/-/issues/4489FormBuilder UX general improvements2023-08-17T14:15:48ZbrienneFormBuilder UX general improvementsOverview
----------------------------------------
This feature request stems from the monthly FormBuilder meeting and some product research of other form building tools, such as Webform (Drupal) and WPForms (WordPress).
Current behavio...Overview
----------------------------------------
This feature request stems from the monthly FormBuilder meeting and some product research of other form building tools, such as Webform (Drupal) and WPForms (WordPress).
Current behaviour
----------------------------------------
There are several aspects of the FormBuilder UI that are not as user friendly as they could be. Taking on the UI overall is quite a big project, but it can be parsed into smaller portions that can be easier to tackle, such as making the listing of Entities span the width of the screen so that the user has more real estate to see what they've added to the form.
Proposed behaviour
----------------------------------------
I've created a [wireframe](https://briennekordis957225.invisionapp.com/freehand/FormBuilder-gEujDK3pw?dsid_h=9f8d5b19659b2874dcac52af00d939a53fd8db4d67516799d42d559da618ca25&uid_h=02b042cff858bbdbc3946e1968bcbe6a1445c788c050f33252bf8876878fb775) with some ideas the meld an improved design of FormBuilder's current layout with some of the better features of WebForm and WPForms.
![Selection_016](/uploads/8994c626ba5ad0f628dd42cc7417a2f6/Selection_016.png)
![Selection_017](/uploads/790e8de4193c486023eaeed94c073994/Selection_017.png)
![Selection_018](/uploads/6ef75e5b76588b89dadc36722603e5c2/Selection_018.png)https://lab.civicrm.org/dev/core/-/issues/4488Supporter Profile is a required field2023-11-23T07:48:29Zkiwi_BrogrammerSupporter Profile is a required fieldOverview
----------------------------------------
When editing contribution pages, if you click on the personal campaign tab and save (without changes) you get a warning about supporter profile being required field.
replicated this on d...Overview
----------------------------------------
When editing contribution pages, if you click on the personal campaign tab and save (without changes) you get a warning about supporter profile being required field.
replicated this on dmaster site.
civichat discussion : https://chat.civicrm.org/civicrm/pl/b8gp5g6u63dr7d6d8oqrrrc5nr
Environment information
----------------------------------------
* __CiviCRM:__ 5.62.1.
* __PHP:__ 8.1.20
* __CMS:__ Drupal 10.1.1
* __Database:__ MariaDB 10.5.19https://lab.civicrm.org/dev/core/-/issues/4482Action schedule effective start and end dates ignored when using an absolute ...2023-08-09T13:56:33ZjamieAction schedule effective start and end dates ignored when using an absolute trigger dateHere's an action schedule that did not go as expected:
![image](/uploads/8205f1e5dbba0c9f0b056b72d4f6c261/image.png)
Notice how there is an absolute date as the "When (trigger) date" *that does not allow you to enter a time* and also a...Here's an action schedule that did not go as expected:
![image](/uploads/8205f1e5dbba0c9f0b056b72d4f6c261/image.png)
Notice how there is an absolute date as the "When (trigger) date" *that does not allow you to enter a time* and also an "Effective Start Date" that *does allow you to enter a time.*
In the [code](https://github.com/civicrm/civicrm-core/blob/4e4de633c452fd2e9a36df61bdbdb258b9f88ed7/Civi/ActionSchedule/RecipientBuilder.php#L418) we seem to ignore the effective start and end dates when an absolute date is specified.
So, this email was sent at 12:05 am on August 5th instead of 8:05 am on August 5th.
I get it. If you are specifying an absolute start date, why would you need an effective start date?
Well, in this case it's because you are fine-tuning with a time.
I see three options:
1. Change the UI so that the effective start and end dates are greyed out if you enter an absolute date. This seems like the easiest to implement.
2. Change the code so that we don't ignore the effective start and end date when using an absolute date. I'm not crazy about messing with the Action Schedule code. But, this seems like it could be pulled off without a lot of work or risk.
3. Allow setting an absolute date with a time attached to it (and also doing number two). I would rather have a root canal than be responsible for this one. But, it does seem like the best optionhttps://lab.civicrm.org/dev/core/-/issues/4479When a contact with a shared address from another contact updates their addre...2023-08-06T18:48:45ZlarsssandergreenWhen a contact with a shared address from another contact updates their address via profile, address data can be lost or inconsistentIf you set Bob to use Julie's address and then Julie updates her address in a profile, Bob's address is updated as expected. However if Bob updates his address via profile, then Bob's address will be updated, but Bob's address will still...If you set Bob to use Julie's address and then Julie updates her address in a profile, Bob's address is updated as expected. However if Bob updates his address via profile, then Bob's address will be updated, but Bob's address will still be shown as using Julie's address (will still have the master_id, even though it is now different than the master address). This is inconsistent as Bob's address is actually now different from Julie's, so they no longer share an address.
If you then edit Bob's address and save it, Bob's address will be set back to Julie's address, losing the perhaps more current address that Bob had input in the profile (though at least in this case you can see what will happen if you are paying attention). Even worse, if you use Edit from the Contact Summary and save this form, you'll also revert Bob's address back to Julie's without it being evident that this is happening at all.
Two possibilities for the expected behaviour here:
1. Both Bob and Julie should be able to update their shared address. In this case, if Bob submits a profile, we should update the shared address (even though it belongs to Julie).
1. Bob should not be able to update the shared address, only Julie should be able to update the address. When Bob submits a profile with address fields, we compare the submitted values to the DB values and if they are different, we updated Bob's address only and change it so it is no longer a shared address (remove master_id).
I think option 1 is probably best, otherwise we would end up with shared addresses that become unshared frequently because someone will submit a profile anonymously that is deduped to an existing contact but they will write 3rd St instead of Third St or some other small change. I can see that some might want to have a shared address that can only be updated by the "owner" of the address, but I think it would be best to implement option 1 as the default behaviour and then if someone wants option 2, that could be implemented as a global and/or per address setting.https://lab.civicrm.org/dev/core/-/issues/4478(D8+) Strange handling of `$initialized` leads to crash in civix2023-09-27T04:51:47Ztotten(D8+) Strange handling of `$initialized` leads to crash in civixSteps to Reproduce
-------------------
Create a site running D9/D10. (*I focused my triage on D10, but the same arises on D9, and I suspect it would affect D8.*)
Then:
```bash
cd web/sites/default/files/civicrm/ext/civicrm
wget https...Steps to Reproduce
-------------------
Create a site running D9/D10. (*I focused my triage on D10, but the same arises on D9, and I suspect it would affect D8.*)
Then:
```bash
cd web/sites/default/files/civicrm/ext/civicrm
wget https://download.civicrm.org/civix/civix-23.08.0.phar -O civix.phar
php ./civix.phar generate:module foobar
## Answer "Y" to question about enabling the extension
```
It crashes with:
```
TypeError: htmlentities(): Argument #1 ($string) must be of type string, array given in /home/totten/bknix/build/d10/vendor/civicrm/civicrm-core/CRM/Utils/System.php on line 284 #0 /home/totten/bknix/build/d10/vendor/civicrm/civicrm-core/CRM/Utils/System.php(284): htmlentities(Array)
#1 /home/totten/bknix/build/d10/vendor/civicrm/civicrm-core/CRM/Core/Menu.php(445): CRM_Utils_System::url('civicrm/tag', 'reset=1', false, NULL, true, false, true)
#2 /home/totten/bknix/build/d10/vendor/civicrm/civicrm-core/CRM/Core/Menu.php(265): CRM_Core_Menu::buildBreadcrumb(Array, 'civicrm/tag/edi...')
#3 /home/totten/bknix/build/d10/vendor/civicrm/civicrm-core/CRM/Core/Menu.php(296): CRM_Core_Menu::build(Array)
#4 /home/totten/bknix/build/d10/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(389): CRM_Core_Menu::store()
#5 /home/totten/bknix/build/d10/vendor/civicrm/civicrm-core/CRM/Extension/Manager.php(319): CRM_Core_Invoke::rebuildMenuAndCaches(true)
#6 /home/totten/bknix/build/d10/vendor/civicrm/civicrm-core/api/v3/Extension.php(42): CRM_Extension_Manager->install(Array)
```
Analysis
--------
* The apparent error stems from `\CRM_Utils_System_Drupal8->url()`. It [swallows an exception](https://github.com/civicrm/civicrm-core/blob/5.64/CRM/Utils/System/Drupal8.php#L291-L305) and returns a malformed `$url` instead. The malformed `$url` is not a `string` and cannot be handled by `htmlentities()`.
* The underlying exception is raised by [`\Drupal\civicrm\Civicrm->initialize()`](https://github.com/civicrm/civicrm-drupal-8/blob/5.64/src/Civicrm.php#L45-L49). It tries to load `civicrm.settings.php` and fails.
* In the big picture, the underlying exception makes no sense. Look at the callstack: CiviCRM is already running. The `civicrm.settings.php` has already been loaded. The file exists.
* __Why are we initializing again?__ Because [CivicrmPathProcessor](https://github.com/civicrm/civicrm-drupal-8/blob/5.64/src/PathProcessor/CivicrmPathProcessor.php#L21-L22) repeatedly creates new instances of `Drupal\civicrm\Civicrm`. This negates the [`$initialized` guard](https://github.com/civicrm/civicrm-drupal-8/blob/5.64/src/Civicrm.php#L27-L29).
* To visualize this, you can apply https://gist.github.com/totten/e983d23439addeb7f76b0d7f52679031 and run `cv flush`.
* __Why is the file missing?__ The CWD changed.
* In the original CLI, the CWD is `DRUPALSITE/web/sites/default/files/civicrm/ext/civicrm`
* During bootstrap, CWD changes to the web-root (`DRUPALSITE/web`). The chosen path for `$settingsFile` is relative to that.
* But `civix` needs to create files in the original CWD. After bootstrap, it returns to the original CWD.
* But `$settingsFile` is relative -- and not valid in this new path.https://lab.civicrm.org/dev/core/-/issues/4477Pay later instructions for offline event registration2023-08-07T01:50:54ZlarsssandergreenPay later instructions for offline event registrationIf you register a contact for an event on the back end, you can select Pending (Pay later) as the participant status and Pending as the contribution status. However, despite what you might expect the pay later instructions for the event ...If you register a contact for an event on the back end, you can select Pending (Pay later) as the participant status and Pending as the contribution status. However, despite what you might expect the pay later instructions for the event will not be sent in the offline event registration email, as `$is_pay_later` does not exist for offline registrations.
Presumably because it is copy-pasted from the online template, the offline event registration template does contain two conditionals for `$is_pay_later` (and so we get PHP warnings).
Option one, we remove `$is_pay_later` from the offline registration template. Simplification! No more warnings.
Option two, if participant status is Pending (pay later) and contribution status is Pending and the pay later instructions text exists for the event, we add the pay later instructions to the email. This is nice because it does what the user probably expects and it gives the registrant useful information to complete the payment. The downside is we are further perpetuating the arguably bad pay later concept, though we don't directly use is_pay_later. There is also added complexity for something that is probably not that common.https://lab.civicrm.org/dev/core/-/issues/4476Autocomplete-Select input box does not display in FormBuilder2023-08-17T14:14:15ZbrienneAutocomplete-Select input box does not display in FormBuilderOverview
----------------------------------------
In trying to review [PR 26841](https://github.com/civicrm/civicrm-core/pull/26841), I came across a different issue; the input box- let alone the values to be selected- for Autocomplete-S...Overview
----------------------------------------
In trying to review [PR 26841](https://github.com/civicrm/civicrm-core/pull/26841), I came across a different issue; the input box- let alone the values to be selected- for Autocomplete-Select custom fields do not display within the FormBuilder editor nor on the afform itself.
![Selection_007](/uploads/ab2b92b6a0b67c640706af99f1e975af/Selection_007.png)
Reproduction steps
----------------------------------------
1. Create or edit an existing custom field to have a data type of Autocomplete-Select
1. Create a FormBuilder form with that custom field
1. Only the title of the custom field is displayed
1. Click on the gear of the custom field and you'll notice that the *Type* field appears empty, as the first option is blank
![Selection_008](/uploads/a3fb08b4dc07b6b7775bf6a6d41ff5a4/Selection_008.png)
Current behaviour
----------------------------------------
Only the title of the Autocomplete-Select custom field displays when that field is added to an afform.
While you can use a work around for the custom field by changing the *Type* mentioned in the last reproduction step, that defeats the purpose of having the custom field be an Autocomplete-Select.
Expected behaviour
---------------------------------
An input box that allows for typing/selection should display when an Autocomplete-Select custom field is added to an afform.
Environment information
----------------------------------------
Tested on CiviCRM 5.63.2, 5.64.0, and 5.66.alpha1,https://lab.civicrm.org/dev/core/-/issues/4475Feature request: Searchkit – Add Contains one off2023-08-09T19:47:06ZdavidFeature request: Searchkit – Add Contains one offOverview
----------------------------------------
PleaseFiltering for e.g. multiply participant roles is complicated and look not very nice compared to filtering for a participant status. The way the filtering of the two fields works is ...Overview
----------------------------------------
PleaseFiltering for e.g. multiply participant roles is complicated and look not very nice compared to filtering for a participant status. The way the filtering of the two fields works is completely different. In contrast, the selection (in the backend form participant) of role and status is very similar, both are set in a selection field. For search it should be also as same as possible.
Example use-case
![grafik](/uploads/3c6e273b903997ec94e4fa9d3454febb/grafik.png)
Until 5.63 I used “is one of”, what is not longer available for participant role. (what is ok, because it is not working 100%, how I learned here: https://lab.civicrm.org/dev/core/-/issues/1321#note_58735
Proposed behaviour
----------------------------------------
Feature request:
Is it possible to integrate a “contains on of” operator?
Is it possible to change “contains” to allows multiple values?
So it would be the same look and feel like “is one of”, what is much easier than using or/and groups and it would also fit to the data input for backend users, to have only one field to search.
Comments
----------------------------------------
I played a little bit around. If I loop throw the values in Api4SelectQuery->createSQLClause and connecting the singe pattern with or / and, it seems to work in seachrkit for participant role, but I am not skilled enough to implement finally and to understand the consequence.
```
protected function createSQLClause($fieldAlias, $operator, $value, $field, int $depth) {
//...
if ($operator === "CONTAINS" || $operator === "NOT CONTAINS" || $operator === "CONTAINS ONE OF" || $operator === "NOT CONTAINS ONE OF") {
if ($operator === "CONTAINS ONE OF") {
$operator = "CONTAINS";
$binding = " OR ";
} else if ($operator === "NOT CONTAINS ONE OF") {
$operator = "NOT CONTAINS";
$binding = " OR ";
} else {
$binding = " AND ";
}
if (is_array($value)) {
$querString = "";
foreach ($value as $v) {
if ($querString !== "") {
$querString .= $binding;
}
$querString .= $this->createSQLClause($fieldAlias, $operator, $v, $field, $depth);
}
return $querString;
}
//...
}
```https://lab.civicrm.org/dev/core/-/issues/4474Searchkit: Where clause doesn't handle financial types with commas in the name2023-08-25T02:21:36ZDaveDSearchkit: Where clause doesn't handle financial types with commas in the namee.g. suppose you have "Donations, Canada" and "Donations, US" as financial types. If you do a searchkit and in the where clause put "is one of" and choose your types, it separates them by commas so then the search doesn't find them, e.g....e.g. suppose you have "Donations, Canada" and "Donations, US" as financial types. If you do a searchkit and in the where clause put "is one of" and choose your types, it separates them by commas so then the search doesn't find them, e.g. the debug info looks like this:
```
"financial_type_id:name",
"IN",
[
"Donations",
"Canada"
]
```https://lab.civicrm.org/dev/core/-/issues/4471`updateRelatedMemberships` does not fire "pre" and "post" hooks2023-08-07T12:12:48Zmasetto`updateRelatedMemberships` does not fire "pre" and "post" hooksThe method `updateRelatedMemberships` in file `CRM/Member/BAO/Membership.php` does not call "pre" and "post" hooks. Is it a bug or is it intentional
This is the function:
```php
public static function updateRelatedMemberships($ownerMe...The method `updateRelatedMemberships` in file `CRM/Member/BAO/Membership.php` does not call "pre" and "post" hooks. Is it a bug or is it intentional
This is the function:
```php
public static function updateRelatedMemberships($ownerMembershipId, $params) {
$membership = new CRM_Member_DAO_Membership();
$membership->owner_membership_id = $ownerMembershipId;
$membership->find();
while ($membership->fetch()) {
$relatedMembership = new CRM_Member_DAO_Membership();
$relatedMembership->id = $membership->id;
$relatedMembership->copyValues($params);
$relatedMembership->save();
}
}
```
The effect is, because I'm using the `hook_civicrm_post` hook, I don't have the update hook of related memberships.
I propose to change it as:
```php
public static function updateRelatedMemberships($ownerMembershipId, $params) {
$membership = new CRM_Member_DAO_Membership();
$membership->owner_membership_id = $ownerMembershipId;
$membership->find();
while ($membership->fetch()) {
CRM_Utils_Hook::pre('edit', 'Membership', $membership->id, $params);
$relatedMembership = new CRM_Member_DAO_Membership();
$relatedMembership->id = $membership->id;
$relatedMembership->copyValues($params);
$relatedMembership->save();
CRM_Utils_Hook::post('edit', 'Membership', $membership->id, $relatedMembership);
}
}
```https://lab.civicrm.org/dev/core/-/issues/4470Allow disabling household contact type2023-08-04T03:59:56ZlarsssandergreenAllow disabling household contact typeCurrent proposal:
Make it possible to disable household contact type.
Initial: These cannot be disabled. It would be nice to be able to disable them, especially households as many orgs do not use them. I know Spark has households disab...Current proposal:
Make it possible to disable household contact type.
Initial: These cannot be disabled. It would be nice to be able to disable them, especially households as many orgs do not use them. I know Spark has households disabled, so at least disabling households shouldn't break anything. Organizations might be different though and less important to allow disabling. Maybe worth trying to allow disabling households first and then see.https://lab.civicrm.org/dev/core/-/issues/4467Import caching issue2023-08-03T12:58:44ZeileenImport caching issueSteps to replicate
1) Enable Civi-import
2) Import the attached file 'import.csv' (Contributions-\>import contributions) - be sure to create an import template on the mapping screen
![image.png](/uploads/31373d18b7c61b4d81e17c3c256f6a7...Steps to replicate
1) Enable Civi-import
2) Import the attached file 'import.csv' (Contributions-\>import contributions) - be sure to create an import template on the mapping screen
![image.png](/uploads/31373d18b7c61b4d81e17c3c256f6a7f/image.png)
3) After doing that first import use the import template & try to import the second attached file (import_with_source.csv)
![image.png](/uploads/9c0149213e4c31c4eea70bd7e10ae5ca/image.png)
4) Update the mapping & choose to save it
![image.png](/uploads/3d4669537b10f7c947f716b47b862e18/image.png)
5) after updating try to re-use with the same csv & the error still pops up
![image.png](/uploads/7f24d75f78a4c71784b2f6eb35ff0f30/image.png)
6) I have ALSO been experiencing issues with the import template updates not 'saving' when the cache is warm. However, I couldn't replicate today when trying to - but the error in 5 was consistent. @larssg also reported it not saving here https://github.com/civicrm/civicrm-core/pull/26867#issuecomment-1640580102 & that day I couldn't replicate & then another day I could.... and now I can't
[import.csv](/uploads/35ffcf0f7778417e4ea63fe55f5165a3/import.csv)
[import_with_source.csv](/uploads/b60901676b4f90c480d9bba7c2b49cd5/import_with_source.csv)https://lab.civicrm.org/dev/core/-/issues/4464Authentication tokens: session already active - different user2023-08-04T12:51:21Zaydunsaidan.saunders@squiffle.ukAuthentication tokens: session already active - different userOverview
----------------------------------------
See #4463 and https://lab.civicrm.org/dev/core/-/issues/4462 This improvement issue relates to handling the case where the new user is different to that of the existing session.
From [t...Overview
----------------------------------------
See #4463 and https://lab.civicrm.org/dev/core/-/issues/4462 This improvement issue relates to handling the case where the new user is different to that of the existing session.
From [this chat](https://chat.civicrm.org/civicrm/pl/n4cr3jownifexnjda3k45qhura):
@totten says:
- if the active session is same user, then no problems. just proceed.
- if the active session user differs from the requested user, then you kinda have to choose between:
- killing the old session and starting a new one
- changing the userID of the live session. (but then you're liable to leak session-data in hard-to-predict ways)
- aborting the request
For the already active session with different user - I think it would be ideal to show a prompt and confirm that they want to logout/switch-user.