Ejemplo n.º 1
0
 public function executeAdd(\Library\HttpRequest $rq)
 {
     // Init result
     $result = $this->InitResponseWS();
     //Init PDO
     $sessionProject = \Applications\PMTool\Helpers\ProjectHelper::GetCurrentSessionProject($this->app()->user());
     $pm = \Applications\PMTool\Helpers\PmHelper::GetCurrentSessionPm($this->user());
     $this->dataPost["pm_id"] = $pm[\Library\Enums\SessionKeys::PmObject]->pm_id();
     $files = $this->files();
     if ($this->dataPost["title"] == "" or is_null($this->dataPost["title"])) {
         $this->dataPost["title"] = $files["file"]["name"];
     }
     $form = \Applications\PMTool\Helpers\FormHelper::PrepareUserFormObject($this->dataPost());
     $result["dataIn"] = $form;
     //Load interface to query the database
     $manager = $this->managers->getManagerOf("UserForm");
     $manager->setRootDirectory($this->app()->config()->get(\Library\Enums\AppSettingKeys::RootDocumentUpload));
     $manager->setWebDirectory($this->app()->config()->get(\Library\Enums\AppSettingKeys::BaseUrl) . $this->app()->config()->get(\Library\Enums\AppSettingKeys::RootUploadsFolderPath));
     $result["dataOut"] = $manager->addWithFile($form, $files['file']);
     if ($result["dataOut"] > 0) {
         $form->setForm_id($result["dataOut"]);
         array_push($sessionProject[\Library\Enums\SessionKeys::ProjectAvailableForms][\Library\Enums\SessionKeys::ProjectUserForms], $form);
         \Applications\PMTool\Helpers\ProjectHelper::SetCurrentSessionProject($this->user(), $sessionProject);
     }
     $this->SendResponseWS($result, array("resx_file" => \Applications\PMTool\Resources\Enums\ResxFileNameKeys::Form, "resx_key" => $this->action(), "step" => intval($result["dataOut"]) > 0 ? "success" : "error"));
 }