/** * Function to actually build the form * * @return None * @access public */ public function buildQuickForm() { $customGroup = CRM_Core_PseudoConstant::customGroup(); unset($customGroup[$this->_srcGID]); if (empty($customGroup)) { CRM_Core_Error::statusBounce(ts('You need more than one custom group to move fields')); } $customGroup = array('' => ts('- select -')) + $customGroup; $this->add('select', 'dst_group_id', ts('Destination'), $customGroup, TRUE); $this->addButtons(array(array('type' => 'next', 'name' => ts('Move Custom Field'), 'isDefault' => TRUE), array('type' => 'cancel', 'name' => ts('Cancel')))); $this->addFormRule(array('CRM_Custom_Form_MoveField', 'formRule'), $this); }
public static function customGroup($type = CRM_Core_Permission::VIEW, $reset = FALSE) { $customGroups = CRM_Core_PseudoConstant::customGroup($reset); $defaultGroups = array(); // check if user has all powerful permission // or administer civicrm permission (CRM-1905) if (self::customGroupAdmin()) { $defaultGroups = array_keys($customGroups); } return CRM_ACL_API::group($type, NULL, 'civicrm_custom_group', $customGroups, $defaultGroups); }
/** * Function to build the form * * @return None * @access public */ public function buildQuickForm() { parent::buildQuickForm(); if ($this->_action & CRM_Core_Action::DELETE) { return; } $attributes = CRM_Core_DAO::getAttribute('CRM_ACL_DAO_ACL'); $this->add('text', 'name', ts('Description'), CRM_Core_DAO::getAttribute('CRM_ACL_DAO_ACL', 'name'), TRUE); $operations = array('' => ts('- select -')) + CRM_ACL_BAO_ACL::operation(); $this->add('select', 'operation', ts('Operation'), $operations, TRUE); $objTypes = array('1' => ts('A group of contacts'), '2' => ts('A profile'), '3' => ts('A set of custom data fields')); if (CRM_Core_Permission::access('CiviEvent')) { $objTypes['4'] = ts('Events'); } $extra = array('onclick' => "showObjectSelect();"); $this->addRadio('object_type', ts('Type of Data'), $objTypes, $extra, ' ', TRUE); $label = ts('Role'); $role = array('-1' => ts('- select role -'), '0' => ts('Everyone')) + CRM_Core_OptionGroup::values('acl_role'); $this->add('select', 'entity_id', $label, $role, TRUE); $group = array('-1' => ts('- select -'), '0' => ts('All Groups')) + CRM_Core_PseudoConstant::group(); $customGroup = array('-1' => ts('- select -'), '0' => ts('All Custom Groups')) + CRM_Core_PseudoConstant::customGroup(); $ufGroup = array('-1' => ts('- select -'), '0' => ts('All Profiles')) + CRM_Core_PseudoConstant::ufGroup(); $event = array('-1' => ts('- select -'), '0' => ts('All Events')) + CRM_Event_PseudoConstant::event(NULL, FALSE, "( is_template IS NULL OR is_template != 1 )"); $this->add('select', 'group_id', ts('Group'), $group); $this->add('select', 'custom_group_id', ts('Custom Data'), $customGroup); $this->add('select', 'uf_group_id', ts('Profile'), $ufGroup); $this->add('select', 'event_id', ts('Event'), $event); $this->add('checkbox', 'is_active', ts('Enabled?')); $this->addFormRule(array('CRM_ACL_Form_ACL', 'formRule')); }
public static function customGroup($type = CRM_Core_Permission::VIEW, $reset = false) { $customGroups = CRM_Core_PseudoConstant::customGroup($reset); $defaultGroups = array(); // check if user has all powerful permission // or administer civicrm permission (CRM-1905) if (self::check('access all custom data')) { $defaultGroups = array_keys($customGroups); } else { if (defined('CIVICRM_MULTISITE') && CIVICRM_MULTISITE) { if (self::check('administer Multiple Organizations')) { $defaultGroups = array_keys($customGroups); } } else { if (self::check('administer CiviCRM')) { $defaultGroups = array_keys($customGroups); } } } require_once 'CRM/ACL/API.php'; return CRM_ACL_API::group($type, null, 'civicrm_custom_group', $customGroups, $defaultGroups); }
/** * Browse all acls * * @return void * @access public * @static */ function browse() { require_once 'CRM/ACL/DAO/ACL.php'; // get all acl's sorted by weight $acl = array(); $query = "\n SELECT *\n FROM civicrm_acl\n WHERE ( object_table IN ( 'civicrm_saved_search', 'civicrm_uf_group', 'civicrm_custom_group', 'civicrm_event' ) )\nORDER BY entity_id\n"; $dao = CRM_Core_DAO::executeQuery($query, CRM_Core_DAO::$_nullArray); require_once 'CRM/Core/OptionGroup.php'; $roles = CRM_Core_OptionGroup::values('acl_role'); $group = array('-1' => ts('- select -'), '0' => ts('All Groups')) + CRM_Core_PseudoConstant::group(); $customGroup = array('-1' => ts('- select -'), '0' => ts('All Custom Groups')) + CRM_Core_PseudoConstant::customGroup(); $ufGroup = array('-1' => ts('- select -'), '0' => ts('All Profiles')) + CRM_Core_PseudoConstant::ufGroup(); require_once 'CRM/Event/PseudoConstant.php'; $event = array('-1' => ts('- select -'), '0' => ts('All Events')) + CRM_Event_PseudoConstant::event(); while ($dao->fetch()) { $acl[$dao->id] = array(); $acl[$dao->id]['name'] = $dao->name; $acl[$dao->id]['operation'] = $dao->operation; $acl[$dao->id]['entity_id'] = $dao->entity_id; $acl[$dao->id]['entity_table'] = $dao->entity_table; $acl[$dao->id]['object_table'] = $dao->object_table; $acl[$dao->id]['object_id'] = $dao->object_id; $acl[$dao->id]['is_active'] = $dao->is_active; if ($acl[$dao->id]['entity_id']) { $acl[$dao->id]['entity'] = $roles[$acl[$dao->id]['entity_id']]; } else { $acl[$dao->id]['entity'] = ts('Everyone'); } switch ($acl[$dao->id]['object_table']) { case 'civicrm_saved_search': $acl[$dao->id]['object'] = $group[$acl[$dao->id]['object_id']]; $acl[$dao->id]['object_name'] = ts('Group'); break; case 'civicrm_uf_group': $acl[$dao->id]['object'] = $ufGroup[$acl[$dao->id]['object_id']]; $acl[$dao->id]['object_name'] = ts('Profile'); break; case 'civicrm_custom_group': $acl[$dao->id]['object'] = $customGroup[$acl[$dao->id]['object_id']]; $acl[$dao->id]['object_name'] = ts('Custom Group'); break; case 'civicrm_event': $acl[$dao->id]['object'] = $event[$acl[$dao->id]['object_id']]; $acl[$dao->id]['object_name'] = ts('Event'); break; } // form all action links $action = array_sum(array_keys($this->links())); if ($dao->is_active) { $action -= CRM_Core_Action::ENABLE; } else { $action -= CRM_Core_Action::DISABLE; } $acl[$dao->id]['action'] = CRM_Core_Action::formLink(self::links(), $action, array('id' => $dao->id)); } $this->assign('rows', $acl); }
public static function customGroup($type = CRM_Core_Permission::VIEW, $reset = false) { $customGroups = CRM_Core_PseudoConstant::customGroup($reset); // check if user has all powerful permission // or administer civicrm permission (CRM-1905) if (self::check('access all custom data') || self::check('administer CiviCRM')) { return array_keys($customGroups); } require_once 'CRM/ACL/API.php'; return CRM_ACL_API::group($type, null, 'civicrm_custom_group', $customGroups); }