'civicrm/grant/add', 'query' => "reset=1&action=add&context=standalone", 'ref' => 'new-grant', 'title' => ts('Grant'), ]; } } /** * Implements hook_civicrm_permission(). * * Define CiviGrant permissions. */ function civigrant_civicrm_permission(&$permissions) { $permissions['access CiviGrant'] = [ E::ts('access CiviGrant'), E::ts('View all grants'), ]; $permissions['edit grants'] = [ E::ts('edit grants'), E::ts('Create and update grants'), ]; $permissions['delete in CiviGrant'] = [ E::ts('delete in CiviGrant'), E::ts('Delete grants'), ]; } /** * Implements hook_civicrm_alterAPIPermissions(). * * Set CiviGrant permissions for APIv3. */ function civigrant_civicrm_alterAPIPermissions($entity, $action, &$params, &$permissions) { $permissions['grant'] = [ 'get' => [ 'access CiviGrant', ], 'delete' => [ 'delete in CiviGrant', ], 'create' => [ 'edit grants', ], 'update' => [ 'edit grants', ], ]; } /** * Implements hook_civicrm_queryObjects(). * * Adds query object for legacy screens like advanced search, search builder, etc. */ function civigrant_civicrm_queryObjects(&$queryObjects, $type) { if ($type == 'Contact') { $queryObjects[] = new CRM_Grant_BAO_Query(); } elseif ($type == 'Report') { // Do we need to do something here? } }