Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 /**
  * 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')));
         }
     }
 }