Details
-
Type: Bug
-
Status: Open
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: 4.6.25, 4.7.15
-
Fix Version/s: None
-
Component/s: CiviEvent
-
Labels:None
-
Versioning Impact:Patch (backwards-compatible bug fixes)
-
Documentation Required?:None
-
Funding Source:Needs Funding
-
Verified?:No
Description
(Agileware reference #23949)
Using the "Create new location" option does not work as expected with the "This event onwards" or "Every event" cascade modes.
Verified on dmaster.demo.civicrm.org
Steps to reproduce:
- Create an Event with filled in address details
- Configure the "Repeat" options to repeat (e.g.) 6 times
- Select the settings link for the second event in the series
- Change the location for the event, ensuring "Create new location" is set.
- When prompted "How should this change affect others in the series?" select "This event onwards"
Expected outcome:
- The second and all onward events receive the new location details
Actual outcome:
- Only the selected event in the series is updated
- Expected outcome is apparent if the event does not have a location configured before step 4.
This appears to be a result of `CRM_Core_BAO_RecurringEntity::triggerUpdate` being called while the edited event's `LocBlock` is still unsaved, or at least not referred to by the entity.
As each call to `CRM_Core_DAO::cascadeUpdate` loads a "from" Event with a NULL `loc_block_id`, no information is available to be propagated to other to the "to" Event.