Example #1
0
 /**
  * Browse all custom group fields.
  *
  * @return void
  */
 public function browse()
 {
     $resourceManager = CRM_Core_Resources::singleton();
     if (!empty($_GET['new']) && $resourceManager->ajaxPopupsEnabled) {
         $resourceManager->addScriptFile('civicrm', 'js/crm.addNew.js', 999, 'html-header');
     }
     $customField = array();
     $customFieldBAO = new CRM_Core_BAO_CustomField();
     // fkey is gid
     $customFieldBAO->custom_group_id = $this->_gid;
     $customFieldBAO->orderBy('weight, label');
     $customFieldBAO->find();
     while ($customFieldBAO->fetch()) {
         $customField[$customFieldBAO->id] = array();
         CRM_Core_DAO::storeValues($customFieldBAO, $customField[$customFieldBAO->id]);
         $action = array_sum(array_keys($this->actionLinks()));
         if ($customFieldBAO->is_active) {
             $action -= CRM_Core_Action::ENABLE;
         } else {
             $action -= CRM_Core_Action::DISABLE;
         }
         switch ($customFieldBAO->data_type) {
             case "String":
             case "Int":
             case "Float":
             case "Money":
                 // if Multi Select field is selected in custom field
                 if ($customFieldBAO->html_type == 'Text') {
                     $action -= CRM_Core_Action::BROWSE;
                 }
                 break;
             case "ContactReference":
             case "Memo":
             case "Date":
             case "Boolean":
             case "StateProvince":
             case "Country":
             case "File":
             case "Link":
                 $action -= CRM_Core_Action::BROWSE;
                 break;
         }
         $customFieldDataType = CRM_Core_BAO_CustomField::dataType();
         $customField[$customFieldBAO->id]['data_type'] = $customFieldDataType[$customField[$customFieldBAO->id]['data_type']];
         $customField[$customFieldBAO->id]['order'] = $customField[$customFieldBAO->id]['weight'];
         $customField[$customFieldBAO->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $customFieldBAO->id, 'gid' => $this->_gid), ts('more'), FALSE, 'customField.row.actions', 'CustomField', $customFieldBAO->id);
     }
     $returnURL = CRM_Utils_System::url('civicrm/admin/custom/group/field', "reset=1&action=browse&gid={$this->_gid}");
     $filter = "custom_group_id = {$this->_gid}";
     CRM_Utils_Weight::addOrder($customField, 'CRM_Core_DAO_CustomField', 'id', $returnURL, $filter);
     $this->assign('customField', $customField);
 }
Example #2
0
 /**
  * Browse all custom group fields.
  * 
  * @param null
  * 
  * @return void
  * @access public
  */
 function browse()
 {
     require_once 'CRM/Core/BAO/CustomField.php';
     $customField = array();
     $customFieldBAO = new CRM_Core_BAO_CustomField();
     // fkey is gid
     $customFieldBAO->custom_group_id = $this->_gid;
     $customFieldBAO->orderBy('weight, label');
     $customFieldBAO->find();
     while ($customFieldBAO->fetch()) {
         $customField[$customFieldBAO->id] = array();
         CRM_Core_DAO::storeValues($customFieldBAO, $customField[$customFieldBAO->id]);
         $action = array_sum(array_keys($this->actionLinks()));
         if ($customFieldBAO->is_active) {
             $action -= CRM_Core_Action::ENABLE;
         } else {
             $action -= CRM_Core_Action::DISABLE;
         }
         switch ($customFieldBAO->data_type) {
             case "String":
             case "Int":
             case "Float":
             case "Money":
                 // if Multi Select field is selected in custom field
                 if ($customFieldBAO->html_type == 'Text') {
                     $action -= CRM_Core_Action::BROWSE;
                 }
                 break;
             case "ContactReference":
             case "Memo":
             case "Date":
             case "Boolean":
             case "StateProvince":
             case "Country":
             case "File":
             case "Link":
                 $action -= CRM_Core_Action::BROWSE;
                 break;
         }
         $customFieldDataType = CRM_Core_BAO_CustomField::dataType();
         $customField[$customFieldBAO->id]['data_type'] = $customFieldDataType[$customField[$customFieldBAO->id]['data_type']];
         $customField[$customFieldBAO->id]['order'] = $customField[$customFieldBAO->id]['weight'];
         $customField[$customFieldBAO->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $customFieldBAO->id, 'gid' => $this->_gid));
     }
     $returnURL = CRM_Utils_System::url('civicrm/admin/custom/group/field', "reset=1&action=browse&gid={$this->_gid}");
     $filter = "custom_group_id = {$this->_gid}";
     require_once 'CRM/Utils/Weight.php';
     CRM_Utils_Weight::addOrder($customField, 'CRM_Core_DAO_CustomField', 'id', $returnURL, $filter);
     $this->assign('customField', $customField);
 }