/** * Used by the sync task * * @param string $path * @return \DNProject */ public static function create_from_path($path) { $project = DNProject::create(); $project->Name = $path; $project->write(); // add the administrators group as the viewers of the new project $adminGroup = Group::get()->filter('Code', 'administrators')->first(); if ($adminGroup && $adminGroup->exists()) { $project->Viewers()->add($adminGroup); } return $project; }
/** * Does the actual project creation. * * @param $data array * @param $form Form * * @return SS_HTTPResponse */ public function doCreateProject($data, $form) { $form->loadDataFrom($data); $project = DNProject::create(); $form->saveInto($project); $this->extend('onBeforeCreateProject', $project, $data, $form); try { if ($project->write() > 0) { $this->extend('onAfterCreateProject', $project, $data, $form); // If an extension hasn't redirected us, we'll redirect to the project. if (!$this->redirectedTo()) { return $this->redirect($project->Link()); } else { return $this->response; } } else { $form->sessionMessage('Unable to write the stack to the database.', 'bad'); } } catch (ValidationException $e) { $form->sessionMessage($e->getMessage(), 'bad'); } return $this->redirectBack(); }
public function setUp() { parent::setUp(); $this->project = DNProject::create(); $this->project->Name = 'testproject'; }