/** * Build a new project * * @param ProjectCreationData $data project data * @return Project created */ public function build(ProjectCreationData $data) { if (!$this->ruleShortName->isValid($data->getUnixName())) { throw new Project_InvalidShortName_Exception($this->ruleShortName->getErrorMessage()); } if (!$this->ruleFullName->isValid($data->getFullName())) { throw new Project_InvalidFullName_Exception($this->ruleFullName->getErrorMessage()); } $id = $this->createProject($data); if ($id) { return $this->projectManager->getProject($id); } throw new Project_Creation_Exception(); }
function validate($data) { $is_valid = true; if (!$data['project']['form_full_name'] || !$data['project']['form_unix_name']) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_projectname', 'info_missed')); $is_valid = false; } else { //check for valid group name $form_unix_name = $data['project']['form_unix_name']; $rule = new Rule_ProjectName(); if (!$rule->isValid($form_unix_name)) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_license', 'invalid_short_name')); $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage()); } else { $form_full_name = $data['project']['form_full_name']; $rule = new Rule_ProjectFullName(); if (!$rule->isValid($form_full_name)) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_license', 'invalid_full_name')); $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage()); $is_valid = false; } } } return $is_valid; }
/** * Create a new project * * $data['project']['form_unix_name'] * $data['project']['form_full_name'] * $data['project']['form_license'] * $data['project']['form_license_other'] * $data['project']['form_short_description'] * $data['project']['built_from_template'] * $data['project']['is_test'] * $data['project']['is_public'] * $data['project']["form_".$descfieldsinfos[$i]["group_desc_id"]] * foreach($data['project']['trove'] as $root => $values); * $data['project']['services'][$arr['service_id']]['is_used']; * $data['project']['services'][$arr['service_id']]['server_id']; * * @param String $shortName * @param String $publicName * @param Array $data * * @return Project */ public function create($shortName, $publicName, $data) { if (!$this->ruleShortName->isValid($shortName)) { throw new Project_InvalidShortName_Exception($this->ruleShortName->getErrorMessage()); } $data['project']['form_unix_name'] = $shortName; if (!$this->ruleFullName->isValid($publicName)) { throw new Project_InvalidFullName_Exception($this->ruleFullName->getErrorMessage()); } $data['project']['form_full_name'] = $publicName; $id = $this->create_project($data); if ($id) { return $this->projectManager->getProject($id); } throw new Project_Creation_Exception(); }
require_once 'common/include/TemplateSingleton.class.php'; require_once 'common/event/EventManager.class.php'; session_require(array('group' => '1', 'admin_flags' => 'A')); $pm = ProjectManager::instance(); $group = $pm->getProject($group_id, false, true); $currentproject = new project($group_id); $em = EventManager::instance(); $Rename = $request->get('Rename'); if ($Rename) { $new_name = $request->get('new_name'); if (isset($new_name) && $group_id) { if (SystemEventManager::instance()->canRenameProject($group)) { $rule = new Rule_ProjectName(); if (!$rule->isValid($new_name)) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('admin_groupedit', 'invalid_short_name')); $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage()); $GLOBALS['Response']->redirect('/admin/groupedit.php?group_id=' . $group_id); } else { $em->processEvent(Event::PROJECT_RENAME, array('group_id' => $group_id, 'new_name' => $new_name)); //update group history group_add_history('rename_request', $group->getUnixName(false) . ' :: ' . $new_name, $group_id); $GLOBALS['Response']->addFeedback('info', $Language->getText('admin_groupedit', 'rename_project_msg', array($group->getUnixName(false), $new_name))); $GLOBALS['Response']->addFeedback('warning', $Language->getText('admin_groupedit', 'rename_project_warn')); $GLOBALS['Response']->redirect('/admin/groupedit.php?group_id=' . $group_id); } } else { $GLOBALS['Response']->addFeedback('warning', $Language->getText('admin_groupedit', 'rename_project_already_queued'), CODENDI_PURIFIER_DISABLED); $GLOBALS['Response']->redirect('/admin/groupedit.php?group_id=' . $group_id); } } }
/** * Check groupname validity. DEPRECATED * * @deprecated * @see Rule_ProjectName * @param String $name * @return Integer */ function account_groupnamevalid($name) { $rule = new Rule_ProjectName(); if (!$rule->isValid($name)) { $GLOBALS['register_error'] = $rule->getErrorMessage(); return 0; } return 1; }
/** * * @return \Project_OneStepCreation_OneStepCreationValidator */ private function validateUnixName() { if ($this->creation_request->getUnixName() == null) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_projectname', 'info_missed')); $this->setIsNotValid(); return $this; } //check for valid group name $rule = new Rule_ProjectName(); if (!$rule->isValid($this->creation_request->getUnixName())) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_license', 'invalid_short_name')); $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage()); $this->setIsNotValid(); } return $this; }