}
/**
+ * @param int $userId
* @return bool
*/
- public static function customGroupAdmin() {
+ public static function customGroupAdmin($userId = NULL) {
// check if user has all powerful permission
// or administer civicrm permission (CRM-1905)
- if (self::check('access all custom data')) {
+ if (self::check('access all custom data', $userId)) {
return TRUE;
}
if (
- self::check('administer Multiple Organizations') &&
+ self::check('administer Multiple Organizations', $userId) &&
self::isMultisiteEnabled()
) {
return TRUE;
}
- if (self::check('administer CiviCRM data')) {
+ if (self::check('administer CiviCRM data', $userId)) {
return TRUE;
}
/**
* @param int $type
* @param bool $reset
+ * @param int $userId
*
* @return array
*/
- public static function customGroup($type = CRM_Core_Permission::VIEW, $reset = FALSE) {
+ public static function customGroup($type = CRM_Core_Permission::VIEW, $reset = FALSE, $userId = NULL) {
$customGroups = CRM_Core_PseudoConstant::get('CRM_Core_DAO_CustomField', 'custom_group_id',
['fresh' => $reset]);
$defaultGroups = [];
// check if user has all powerful permission
// or administer civicrm permission (CRM-1905)
- if (self::customGroupAdmin()) {
- $defaultGroups = array_keys($customGroups);
+ if (self::customGroupAdmin($userId)) {
+ return array_keys($customGroups);
}
- return CRM_ACL_API::group($type, NULL, 'civicrm_custom_group', $customGroups, $defaultGroups);
+ return CRM_ACL_API::group($type, $userId, 'civicrm_custom_group', $customGroups, $defaultGroups);
}
/**
$prefix . ts('administer payment processors'),
ts('Add, Update, or Disable Payment Processors'),
],
+ 'render templates' => [
+ $prefix . ts('render templates'),
+ ts('Render open-ended template content. (Additional constraints may apply to autoloaded records and specific notations.)'),
+ ],
'edit message templates' => [
$prefix . ts('edit message templates'),
],
],
];
$permissions['line_item'] = $permissions['contribution'];
+ $permissions['product'] = $permissions['contribution'];
$permissions['financial_item'] = $permissions['contribution'];
+ $permissions['financial_type']['get'] = $permissions['contribution']['get'];
+ $permissions['entity_financial_account']['get'] = $permissions['contribution']['get'];
+ $permissions['financial_account']['get'] = $permissions['contribution']['get'];
+ $permissions['financial_trxn']['get'] = $permissions['contribution']['get'];
// Payment permissions
$permissions['payment'] = [