/** * Exports a single track * * @param \Gems_Tracker_RespondentTrack $respTrack */ protected function _exportTrack(\Gems_Tracker_RespondentTrack $respTrack) { if (!$this->_isTrackInFilter($respTrack)) { return; } $trackModel = $this->loader->getTracker()->getRespondentTrackModel(); $trackModel->applyDetailSettings($respTrack->getTrackEngine(), false); $trackModel->resetOrder(); $trackModel->set('gtr_track_name', 'label', $this->_('Track')); $trackModel->set('gr2t_track_info', 'label', $this->_('Description'), 'description', $this->_('Enter the particulars concerning the assignment to this respondent.')); $trackModel->set('assigned_by', 'label', $this->_('Assigned by')); $trackModel->set('gr2t_start_date', 'label', $this->_('Start'), 'formatFunction', $this->util->getTranslated()->formatDate, 'default', \MUtil_Date::format(new \Zend_Date(), 'dd-MM-yyyy')); $trackModel->set('gr2t_reception_code'); $trackModel->set('gr2t_comment', 'label', $this->_('Comment')); $trackModel->setFilter(array('gr2t_id_respondent_track' => $respTrack->getRespondentTrackId())); $trackData = $trackModel->loadFirst(); $this->html->h3($this->_('Track') . ' ' . $trackData['gtr_track_name']); $bridge = $trackModel->getBridgeFor('itemTable', array('class' => 'browser table')); $bridge->setRepeater(\MUtil_Lazy::repeat(array($trackData))); $bridge->th($this->_('Track information'), array('colspan' => 2)); $bridge->setColumnCount(1); foreach ($trackModel->getItemsOrdered() as $name) { if ($label = $trackModel->get($name, 'label')) { $bridge->addItem($name, $label); } } $tableContainer = \MUtil_Html::create()->div(array('class' => 'table-container')); $tableContainer[] = $bridge->getTable(); $this->html[] = $tableContainer; $this->html->br(); $this->_exportTrackTokens($respTrack); $this->html->hr(); }