/** * @param array $data * @param Form $form * * @return bool|HTMLText|SS_HTTPResponse */ public function doCreateEnvironment($data, Form $form) { $this->setCurrentActionType(self::ACTION_ENVIRONMENTS); $project = $this->getCurrentProject(); if (!$project) { return $this->project404Response(); } if (!$project->canCreateEnvironments()) { return new SS_HTTPResponse('Not allowed to create environments for this project', 401); } // Set the environment type so we know what we're creating. $data['EnvironmentType'] = $project->AllowedEnvironmentType; $job = DNCreateEnvironment::create(); $job->Data = serialize($data); $job->ProjectID = $project->ID; $job->write(); $job->start(); return $this->redirect($project->Link('createenv') . '/' . $job->ID); }