Unable to view cases without "administer CiviCRM" permission
Client is getting an error with permissions when trying to view cases, was previously working on 5.10.3 but we've upgraded them to 5.13.0 recently so assuming this is a regression bug (also tested on other sites for 5.10.4 and 5.11.0 [no issues]).
The backtrace is here: CiviCRM_API3_Exception: "API permission check failed for Activity/getcount call; insufficient permission: require administer CiviCRM"
#0 /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Activity/BAO/Activity.php(950): civicrm_api3("Activity", "getcount", (Array:11))
#1 /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Activity/Selector/Activity.php(361): CRM_Activity_BAO_Activity::getActivitiesCount((Array:8))
#2 /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Core/Selector/Controller.php(234): CRM_Activity_Selector_Activity->getTotalCount(4, "316")
#3 /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Case/Page/Tab.php(122): CRM_Core_Selector_Controller->__construct(Object(CRM_Activity_Selector_Activity), NULL, NULL, 4, Object(CRM_Case_Page_Tab), 1, NULL, "316")
#4 /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Case/Page/Tab.php(196): CRM_Case_Page_Tab->view()
#5 /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Core/Invoke.php(311): CRM_Case_Page_Tab->run((Array:4), NULL)
#6 /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Core/Invoke.php(85): CRM_Core_Invoke::runItem((Array:13))
#7 /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#8 /var/www/html/drupal7/sites/all/modules/civicrm/drupal/civicrm.module(444): CRM_Core_Invoke::invoke((Array:4))
#9 /var/www/html/drupal7/includes/menu.inc(527): civicrm_invoke("contact", "view", "case")
#10 /var/www/html/drupal7/index.php(21): menu_execute_active_handler()
#11 {main}
URL:
Extensions:
- uk.co.vedaconsulting.outlookapi
- uk.co.vedaconsulting.gdpr
- nz.co.fuzion.csvimport
- com.cividesk.apikey
Environment:
- Drupal 7.67
- CiviCRM 5.13.0
Works fine for users with administer CiviCRM, but masquerading as a user without this permission (as they shouldn't have access to the rest of Civi) causes the above trace.
A comment from Pradeep is:
Meantime until core fixes the issue we can do a quick fix by altering the line https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/Permission.php#L1046 by changing permission to View all activities.
Expected Outcome:
- Be able to see cases data
Actual Outcome:
- Requires "administer CiviCRM" permission, and not "access CiviCRM" permission as
$permissions['activity']
states.
(Tagging @eileen as this is a discussion I had on Civi's Mattermost)