コード例 #1
0
ファイル: DNProject.php プロジェクト: ss23/deploynaut
 /**
  * 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;
 }
コード例 #2
0
ファイル: DNRoot.php プロジェクト: udomsak/deploynaut
 /**
  * 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();
 }
コード例 #3
0
 public function setUp()
 {
     parent::setUp();
     $this->project = DNProject::create();
     $this->project->Name = 'testproject';
 }