public function buildQuickForm()
 {
     parent::buildQuickForm();
     if ($this->_action == CRM_Core_Action::DELETE) {
         return;
     } else {
         $this->applyFilter('__ALL__', 'trim');
         $this->add('text', 'name', ts('Name'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Mapping', 'name'), TRUE);
         $this->addRule('name', ts('Name already exists in Database.'), 'objectExists', array('CRM_Core_DAO_Mapping', $this->_id));
         $this->addElement('text', 'description', ts('Description'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_Mapping', 'description'));
         $mappingType = $this->addElement('select', 'mapping_type_id', ts('Mapping Type'), CRM_Core_PseudoConstant::mappingTypes());
         if ($this->_action == CRM_Core_Action::UPDATE) {
             $mappingType->freeze();
         }
     }
 }
示例#2
0
文件: Basic.php 项目: bhirsch/voipdev
 /**
  * browse all entities.
  *
  * @param int $action
  *
  * @return void
  * @access public
  */
 function browse($action = null, $sort)
 {
     $links =& $this->links();
     if ($action == null) {
         if (!empty($links)) {
             $action = array_sum(array_keys($links));
         }
     }
     if ($action & CRM_Core_Action::DISABLE) {
         $action -= CRM_Core_Action::DISABLE;
     }
     if ($action & CRM_Core_Action::ENABLE) {
         $action -= CRM_Core_Action::ENABLE;
     }
     eval('$object =& new ' . $this->getBAOName() . '( );');
     $values = array();
     /*
      * lets make sure we get the stuff sorted by name if it exists
      */
     $fields =& $object->fields();
     $key = '';
     if (CRM_Utils_Array::value('title', $fields)) {
         $key = 'title';
     } else {
         if (CRM_Utils_Array::value('label', $fields)) {
             $key = 'label';
         } else {
             if (CRM_Utils_Array::value('name', $fields)) {
                 $key = 'name';
             }
         }
     }
     if (trim($sort)) {
         $object->orderBy($sort);
     } else {
         if ($key) {
             $object->orderBy($key . ' asc');
         }
     }
     // find all objects
     $object->find();
     while ($object->fetch()) {
         if (!isset($object->mapping_type_id) || $object->mapping_type_id != 1) {
             // "1 for Search Builder"
             $permission = CRM_Core_Permission::EDIT;
             if ($key) {
                 $permission = $this->checkPermission($object->id, $object->{$key});
             }
             if ($permission) {
                 $values[$object->id] = array();
                 CRM_Core_DAO::storeValues($object, $values[$object->id]);
                 require_once 'CRM/Contact/DAO/RelationshipType.php';
                 CRM_Contact_DAO_RelationshipType::addDisplayEnums($values[$object->id]);
                 // populate action links
                 $this->action($object, $action, $values[$object->id], $links, $permission);
                 if (isset($object->mapping_type_id)) {
                     require_once 'CRM/Core/PseudoConstant.php';
                     $mappintTypes = CRM_Core_PseudoConstant::mappingTypes();
                     $values[$object->id]['mapping_type'] = $mappintTypes[$object->mapping_type_id];
                 }
             }
             $this->assign('rows', $values);
         }
     }
 }