示例#1
0
 public function testCallsContactStudioViews()
 {
     $seed = new Call();
     $def = $seed->field_defs['contact_name'];
     $this->assertTrue(ListLayoutMetaDataParser::isValidField($def['name'], $def));
     $this->assertFalse(GridLayoutMetaDataParser::validField($def, 'editview'));
     $this->assertFalse(GridLayoutMetaDataParser::validField($def, 'detailview'));
     $this->assertFalse(GridLayoutMetaDataParser::validField($def, 'quickcreate'));
 }
 public function isValidField($key, array $def)
 {
     if (isset($def['type']) && $def['type'] == "assigned_user_name") {
         $origDefs = $this->getOriginalViewDefs();
         if (isset($def['group']) && isset($origDefs[$def['group']])) {
             return false;
         }
         if (!isset($def['studio']) || is_array($def['studio']) && !isset($def['studio']['searchview'])) {
             return true;
         }
     }
     if (isset($def['studio']) && is_array($def['studio']) && isset($def['studio']['searchview'])) {
         return $def['studio']['searchview'] !== false && ($def['studio']['searchview'] === true || $def['studio']['searchview'] != 'false');
     }
     if (!parent::isValidField($key, $def)) {
         return false;
     }
     //Special case to prevent multiple copies of assigned, modified, or created by user on the search view
     if (empty($def['studio']) && $key == "assigned_user_name") {
         $origDefs = $this->getOriginalViewDefs();
         if ($key == "assigned_user_name" && isset($origDefs['assigned_user_id'])) {
             return false;
         }
     }
     //Remove image fields (unless studio was set)
     if (!empty($def['studio']) && isset($def['type']) && $def['type'] == "image") {
         return false;
     }
     return true;
 }
 /**
  * Validates portal only fields. Runs the field through a prelimiary check
  * of type before passing the field on to the parent validator.
  *
  * @param  string $key The field name to check for
  * @param  array  $def The field defs for the key
  * @return bool
  */
 public function isValidFieldPortal($key, array $def)
 {
     if (isset($this->invalidTypes['portal'])) {
         if (!isset($def['type']) || in_array($def['type'], $this->invalidTypes['portal'])) {
             return false;
         }
     }
     return parent::isValidField($key, $def);
 }