/** * Method that edits a project and facility from map modal * * @param \Library\HttpRequest $rq * @return JSON */ public function executeMapEdit(\Library\HttpRequest $rq) { // Init result $result = $this->InitResponseWS(); $dataPost = json_decode($this->dataPost["params"], true); $sessionProjects = \Applications\PMTool\Helpers\ProjectHelper::GetSessionProjects($this->user()); if ($dataPost["project"]["project_id"]) { $sessionProject = $sessionProjects[\Library\Enums\SessionKeys::ProjectKey . $dataPost["project"]["project_id"]]; $facility = $sessionProject[\Library\Enums\SessionKeys::FacilityObject]; $project = $sessionProject[\Library\Enums\SessionKeys::ProjectObject]; } if ($facility !== NULL && $project !== NULL) { //Init PDO $facility = \Applications\PMTool\Helpers\CommonHelper::PrepareUserObject($dataPost["facility"], $facility); $project = \Applications\PMTool\Helpers\CommonHelper::PrepareUserObject($dataPost["project"], $project); $manager = $this->managers->getManagerOf($this->module()); $result_edit["facility"] = $manager->edit($facility, "facility_id"); $manager = $this->managers->getManagerOf("Project"); $result_edit["project"] = $manager->edit($project, "project_id"); $result["data"]["facility"] = $facility; $result["data"]["project"] = $project; } //Update this project in session projects list if ($result_edit) { $sessionProject[\Library\Enums\SessionKeys::ProjectObject] = $project; $sessionProject[\Library\Enums\SessionKeys::FacilityObject] = $facility; $sessionProjects[\Library\Enums\SessionKeys::ProjectKey . $dataPost["project"]["project_id"]] = $sessionProject; \Applications\PMTool\Helpers\ProjectHelper::SetSessionProjects($this->user(), $sessionProjects); } $this->SendResponseWS($result, array("resx_file" => \Applications\PMTool\Resources\Enums\ResxFileNameKeys::Project, "resx_key" => $this->action(), "step" => $result_edit ? "success" : "error")); }