public static function loadFixtures(\thebuggenie\core\entities\Scope $scope) { $scheme = new IssuetypeScheme(); $scheme->setScope($scope->getID()); $scheme->setName("Default issuetype scheme"); $scheme->setDescription("This is the default issuetype scheme. It is used by all projects with no specific issuetype scheme selected. This scheme cannot be edited or removed."); $scheme->save(); framework\Settings::saveSetting(framework\Settings::SETTING_DEFAULT_ISSUETYPESCHEME, $scheme->getID(), 'core', $scope->getID()); foreach (Issuetype::getAll() as $issuetype) { $scheme->setIssuetypeEnabled($issuetype); if ($issuetype->getIcon() == 'developer_report') { $scheme->setIssuetypeRedirectedAfterReporting($issuetype, false); } if (in_array($issuetype->getIcon(), array('task', 'developer_report', 'idea'))) { $scheme->setIssuetypeReportable($issuetype, false); } } return $scheme; }
/** * Configure issue fields * * @param framework\Request $request The request object */ public function runConfigureIssuetypes(framework\Request $request) { $this->mode = $request->getParameter('mode', 'issuetypes'); if ($this->mode == 'issuetypes' || $this->mode == 'scheme') { $this->issue_types = entities\Issuetype::getAll(); $this->icons = entities\Issuetype::getIcons(); } elseif ($this->mode == 'schemes') { $this->issue_type_schemes = entities\IssuetypeScheme::getAll(); } if ($request->hasParameter('scheme_id')) { $this->scheme = entities\IssuetypeScheme::getB2DBTable()->selectById((int) $request['scheme_id']); if ($this->mode == 'copy_scheme') { if ($new_name = $request['new_name']) { $new_scheme = new entities\IssuetypeScheme(); $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)); } tables\IssueFields::getTable()->copyBySchemeIDs($this->scheme->getID(), $new_scheme->getID()); return $this->renderJSON(array('content' => $this->getComponentHTML('configuration/issuetypescheme', array('scheme' => $new_scheme)))); } else { $this->error = framework\Context::getI18n()->__('Please enter a valid name'); } } elseif ($this->mode == 'delete_scheme') { $this->scheme->delete(); return $this->renderJSON(array('success' => true, 'message' => framework\Context::getI18n()->__('The issuetype scheme was deleted'))); } } }