Create repeating activity requires Event permission
Creating a repeating activity through the UI gives an Access Denied error unless the user has "access CiviEvent" permission.
Steps to replicate
- Log in as a user without "access CiviEvent" permission.
- From contact summary, Activities tab, click New Activity, choose e.g. Meeting.
- Expand the "Repeat Activity" section, Click the "After" radio button, Save.
Expected result
Confirm dialog lists the instances that will be created. On clicking Confirm, the instances are created and listed.
Actual result
Confirm dialog is blank. Error message appears: "Access Denied / Ensure you are still logged in and have permission to access this feature.". On clicking Confirm, the instances are created and listed.
Analysis
Problem occurs because the confirm dialog uses a path that requires "access CiviEvent" permission. In CRM/Core/xml/Menu/Misc.xml:
<item>
<path>civicrm/recurringentity/preview</path>
<page_callback>CRM_Core_Page_RecurringEntityPreview</page_callback>
<access_arguments>access CiviCRM,access CiviEvent</access_arguments>
<title>Confirm dates</title>
</item>
Problem is resolved by removing ",access CiviEvent".