Example #1
0
 protected function _partConfig(Db_Query $query, Db_Query_Part $part)
 {
     $cfg = array();
     $fields = $part->getFields();
     $objectConfig = Db_Object_Config::getInstance($part->getObject());
     $mainPanel = new stdClass();
     $mainPanel->xtype = 'panel';
     $mainPanel->border = false;
     ksort($fields);
     foreach ($fields as $name => $config) {
         $obj = new stdClass();
         $obj->xtype = 'reportfield';
         $obj->valueSelected = $config['select'];
         $obj->valueTitle = $config['title'];
         $obj->valueAlias = $config['alias'];
         $obj->valueField = $name;
         $obj->valueIsLink = false;
         $obj->valueSelectSub = $config['selectSub'];
         $obj->valueObject = $part->getObject();
         $obj->valuePartId = $part->getId();
         $obj->valueSubObject = '';
         $obj->valueSubObjectTtile = '';
         if ($config['isLink'] && !$objectConfig->isDictionaryLink($name)) {
             $obj->valueIsLink = true;
             $child = $query->findChild($part->getId(), $name);
             if ($child !== false) {
                 $linked = $child->getObject();
             } else {
                 $linked = $objectConfig->getLinkedObject($name);
             }
             if ($linked) {
                 $obj->valueSubObject = $linked;
                 $obj->valueSubObjectTtile = Db_Object_Config::getInstance($linked)->get('title');
             }
         }
         $cfg[] = $obj;
     }
     $mainPanel->items = $cfg;
     return array('items' => $mainPanel, 'objectcfg' => array('join' => $part->joinType, 'title' => $objectConfig->get('title'), 'object' => $part->getObject(), 'childField' => $part->getChildField()));
 }