function display($layout_id, $column_id, $readonly, $is_minimized, $display_preferences, $owner_id, $owner_type) { $arrf = Tracker_Report_RendererFactory::instance(); $store_in_session = false; if ($renderer = $arrf->getReportRendererById($this->renderer_id, null, $store_in_session)) { parent::display($layout_id, $column_id, $readonly, $is_minimized, $display_preferences, $owner_id, $owner_type); } }
/** * The singleton method */ public static function instance() { if (!isset(self::$_instance)) { $c = __CLASS__; self::$_instance = new $c(); } return self::$_instance; }
function getContent() { $content = ''; $arrf = Tracker_Report_RendererFactory::instance(); $store_in_session = false; if ($renderer = $arrf->getReportRendererById($this->renderer_id, null, $store_in_session)) { $current_user = UserManager::instance()->getCurrentUser(); echo $renderer->fetchWidget($current_user); } else { echo '<em>Renderer does not exist</em>'; } return $content; }
/** * Obtain the report renderer. * * @return Tracker_Report_Renderer */ function getRenderer() { $store_in_session = false; $arrf = Tracker_Report_RendererFactory::instance(); $renderer = $arrf->getReportRendererById($this->renderer_id, null, $store_in_session); if ($renderer) { $tracker = $renderer->report->getTracker(); $project = $tracker->getProject(); if ($tracker->isActive() && $project->isActive()) { return $renderer; } } return null; }
/** * Create a renderer - add in db * * @return bool true if success, false if failure */ public function create() { $success = true; $rrf = Tracker_Report_RendererFactory::instance(); if ($renderer_id = $rrf->saveRenderer($this->report, $this->name, $this->description, $this->getType())) { //field_id $this->saveRendererProperties($renderer_id); } return $success; }
/** * Create a renderer * * @return bool true if success, false if failure */ public function create() { $success = true; $rrf = Tracker_Report_RendererFactory::instance(); if ($renderer_id = $rrf->saveRenderer($this->report, $this->name, $this->description, $this->getType())) { //Save charts $charts = $this->getChartFactory()->getCharts($this); foreach ($charts as $chart_id => $chart) { //Add new chart $this->getChartFactory()->createDb($renderer_id, $chart); } } return $success; }
/** * Create a renderer - add in db * * @return bool true if success, false if failure */ public function create() { $success = true; $rrf = Tracker_Report_RendererFactory::instance(); if ($renderer_id = $rrf->saveRenderer($this->report, $this->name, $this->description, $this->getType())) { //columns $this->saveColumnsRenderer($renderer_id); //aggregates $this->saveAggregatesRenderer($renderer_id); //MultiSort/Chunksz $this->saveRendererProperties($renderer_id); //Sort $this->saveSortRenderer($renderer_id); } return $success; }
/** * retrieve a specific chart by its id from db only */ public function getChartFromDb($renderer, $id) { //not add in session $c = null; $dao = new GraphOnTrackersV5_ChartDao(CodendiDataAccess::instance()); $chart_data = $dao->searchById($id)->getRow(); if ($chart_data) { if (!$renderer) { $report = null; //We don't know the report $renderer = Tracker_Report_RendererFactory::instance()->getReportRendererById($chart_data['report_graphic_id'], $report); } if ($renderer) { if ($chart_classname = $this->getChartClassname($chart_data['chart_type'])) { $c = new $chart_classname($renderer, $chart_data['id'], $chart_data['rank'], $chart_data['title'], $chart_data['description'], $chart_data['width'], $chart_data['height']); } } } return $c; }
/** * Create new default report in the DataBase * * @param int trackerId of the created tracker * @param Object report * * @return id of the newly created Report */ public function saveObject($trackerId, $report) { $reportId = $this->getDao()->create($report->name, $report->description, $report->current_renderer_id, $report->parent_report_id, $report->user_id, $report->is_default, $trackerId, $report->is_query_displayed); //create criterias $reportDB = Tracker_ReportFactory::instance()->getReportById($reportId, null); if ($report->criterias) { foreach ($report->criterias as $criteria) { $reportDB->addCriteria($criteria); } } //create renderers if ($report->renderers) { foreach ($report->renderers as $renderer) { if ($renderer) { $rendererId = $reportDB->addRenderer($renderer->name, $renderer->description, $renderer->getType()); $rendererDB = Tracker_Report_RendererFactory::instance()->getReportRendererById($rendererId, $reportDB); $rendererDB->afterSaveObject($renderer); } } } return $reportDB->id; }
private function fetchAddRendererForm($current_renderer) { $hp = Codendi_HTMLPurifier::instance(); $current_renderer_id = $current_renderer ? (int) $current_renderer->id : ''; $add_renderer = ''; $add_renderer .= '<form action="" method="POST">'; $add_renderer .= '<input type="hidden" name="report" value="' . $this->id . '" />'; $add_renderer .= '<input type="hidden" name="renderer" value="' . $current_renderer_id . '" />'; $add_renderer .= '<input type="hidden" name="func" value="add-renderer" />'; $rrf = Tracker_Report_RendererFactory::instance(); $types = $rrf->getTypes(); if (count($types) > 1) { //No need to ask for type if there is only one $type = '<select name="new_type" id="tracker_renderer_add_type">'; foreach ($types as $key => $label) { $type .= '<option value="' . $key . '">' . $hp->purify($label, CODENDI_PURIFIER_CONVERT_HTML) . '</option>'; } $type .= '</select>'; } else { list(, $type) = each($types); } $add_renderer .= '<p><strong>' . $GLOBALS['Language']->getText('plugin_tracker_report', 'add_new') . ' ' . $type . '</strong></p>'; $add_renderer .= '<p>'; $add_renderer .= '<label for="tracker_renderer_add_name">' . $GLOBALS['Language']->getText('plugin_tracker_report', 'name') . '</label> <input type="text" name="new_name" value="" id="tracker_renderer_add_name" />'; $add_renderer .= '<label for="tracker_renderer_add_description">' . $GLOBALS['Language']->getText('plugin_tracker_report', 'description') . '</label> <textarea name="new_description" id="tracker_renderer_add_description" rows="5" cols="30"></textarea>'; $add_renderer .= '</p>'; $add_renderer .= '<input type="submit" class="btn btn-primary" value="' . $hp->purify($GLOBALS['Language']->getText('global', 'btn_submit'), CODENDI_PURIFIER_CONVERT_HTML) . '" onclick="if (!$(\'tracker_renderer_add_name\').getValue()) { alert(\'' . $GLOBALS['Language']->getText('plugin_tracker_report', 'name_mandatory') . '\'); return false;}"/> '; $add_renderer .= '</form>'; return $add_renderer; }
public function duplicate($from_report, $formElement_mapping) { //Duplicate criteria Tracker_Report_CriteriaFactory::instance()->duplicate($from_report, $this, $formElement_mapping); //Duplicate renderers Tracker_Report_RendererFactory::instance()->duplicate($from_report, $this, $formElement_mapping); }