예제 #1
0
 /**
  * @see parent::loadEditView()
  */
 function loadEditView()
 {
     parent::loadEditView();
     CExObject::initLocales();
     CExObject::$_locales_cache_enabled = false;
     if ($this->pixel_positionning) {
         $grid = null;
         $out_of_grid = null;
         $this->getPixelGrid();
         foreach ($this->_ref_groups as $_ex_group) {
             $_ex_group->loadRefsSubgroups(true);
             $_ex_group->loadRefsPictures(true);
             $_subgroups = $_ex_group->loadRefsSubgroups(true);
             foreach ($_subgroups as $_subgroup) {
                 $_subgroup->countBackRefs("children_groups");
                 $_subgroup->countBackRefs("children_fields");
                 $_subgroup->countBackRefs("children_messages");
             }
         }
     } else {
         list($grid, $out_of_grid) = $this->getGrid(4, 40, false);
     }
     $events = $this->loadRefsEvents();
     foreach ($events as $_event) {
         $_event->countBackRefs("constraints");
     }
     $this->_groups = CGroups::loadGroups();
     $this->_ex_object = $this->getExObjectInstance();
     $this->_grid = $grid;
     $this->_out_of_grid = $out_of_grid;
     if (!$this->_id) {
         $this->group_id = CGroups::loadCurrent()->_id;
     }
     $classes = CExClassEvent::getReportableClasses();
     $instances = array();
     foreach ($classes as $_class) {
         $instances[$_class] = new $_class();
     }
     $this->_host_objects = $instances;
     $category = new CExClassCategory();
     $this->_categories = $category->loadList(null, "title");
 }
 /**
  * @see parent::getProps()
  */
 function getProps()
 {
     $props = parent::getProps();
     $props["ex_group_id"] = "ref class|CExClassFieldGroup cascade";
     $props["subgroup_id"] = "ref class|CExClassFieldSubgroup nullify";
     $props["concept_id"] = "ref class|CExConcept autocomplete|name";
     $props["name"] = "str notNull protected canonical";
     $props["disabled"] = "bool notNull default|0";
     //$props["report_level"]= "enum list|1|2|host";
     $props["report_class"] = "enum list|" . implode("|", CExClassEvent::getReportableClasses());
     $props["prop"] = "text notNull";
     $props["predicate_id"] = "ref class|CExClassFieldPredicate autocomplete|_view|true nullify";
     $props["prefix"] = "str";
     $props["suffix"] = "str";
     $props["show_label"] = "bool notNull default|1";
     $props["tab_index"] = "num";
     $props["readonly"] = "bool notNull default|0";
     $props["hidden"] = "bool notNull default|0";
     $props["in_doc_template"] = "bool notNull default|0";
     $props["formula"] = "text";
     // canonical tokens
     $props["_formula"] = "text";
     // localized tokens
     $props["result_in_title"] = "bool notNull default|0";
     $props["coord_field_x"] = "num min|0 max|100";
     $props["coord_field_y"] = "num min|0 max|100";
     //$props["coord_field_colspan"] = "num min|1 max|100";
     //$props["coord_field_rowspan"] = "num min|1 max|100";
     $props["coord_label_x"] = "num min|0 max|100";
     $props["coord_label_y"] = "num min|0 max|100";
     // Pixel positionned
     $props["coord_left"] = "num";
     $props["coord_top"] = "num";
     $props["coord_width"] = "num min|1";
     $props["coord_height"] = "num min|1";
     $props["_ex_class_id"] = "ref class|CExClass";
     $props["_locale"] = "str notNull";
     $props["_locale_desc"] = "str";
     $props["_locale_court"] = "str";
     return $props;
 }
예제 #3
0
 static function getReportableFields($class = null)
 {
     $list = array();
     if ($class) {
         $classes = array($class);
     } else {
         $classes = CExClassEvent::getReportableClasses();
     }
     $full = false;
     foreach ($classes as $_class) {
         $ex_class_event = new CExClassEvent();
         $ex_class_event->host_class = $_class;
         $list = array_merge($list, $ex_class_event->buildHostFieldsList($_class));
     }
     if (!$full) {
         $select = array_flip(array("CPatient _annees", "CPatient _poids", "CPatient _taille"));
         $list = array_intersect_key($list, $select);
     }
     return $list;
 }