/** * Configure issue fields * * @param TBGRequest $request The request object */ public function runConfigureIssuetypes(TBGRequest $request) { $this->mode = $request->getParameter('mode', 'issuetypes'); if ($this->mode == 'issuetypes' || $this->mode == 'scheme') { $this->issue_types = TBGIssuetype::getAll(); $this->icons = TBGIssuetype::getIcons(); } elseif ($this->mode == 'schemes') { $this->issue_type_schemes = TBGIssuetypeScheme::getAll(); } if ($request->hasParameter('scheme_id')) { $this->scheme = TBGContext::factory()->TBGIssuetypeScheme((int) $request->getParameter('scheme_id')); if ($this->mode == 'copy_scheme') { if ($new_name = $request->getParameter('new_name')) { $new_scheme = new TBGIssuetypeScheme(); $new_scheme->setName($new_name); $new_scheme->save(); foreach ($this->scheme->getIssuetypes() as $issuetype) { $new_scheme->setIssuetypeEnabled($issuetype); $new_scheme->setIssuetypeRedirectedAfterReporting($issuetype, $this->scheme->isIssuetypeRedirectedAfterReporting($issuetype)); $new_scheme->setIssuetypeReportable($issuetype, $this->scheme->isIssuetypeReportable($issuetype)); } TBGIssueFieldsTable::getTable()->copyBySchemeIDs($this->scheme->getID(), $new_scheme->getID()); return $this->renderJSON(array('content' => $this->getTemplateHTML('configuration/issuetypescheme', array('scheme' => $new_scheme)))); } else { $this->error = TBGContext::getI18n()->__('Please enter a valid name'); } } elseif ($this->mode == 'delete_scheme') { $this->scheme->delete(); return $this->renderJSON(array('success' => true, 'message' => TBGContext::getI18n()->__('The issuetype scheme was deleted'))); } } }
public function componentIssueType() { $this->icons = TBGIssuetype::getIcons(); }