/**
  * Method that get a project and returns the result of operation
  * 
  * @param \Library\HttpRequest $rq
  * @return JSON
  */
 public function executeUpdateItems(\Library\HttpRequest $rq)
 {
     $result = $this->InitResponseWS();
     // Init result
     $rows_affected = 0;
     //Get the project objects from ids received
     $project_ids = str_getcsv($this->dataPost["project_ids"], ',');
     $projects = \Applications\PMTool\Helpers\CommonHelper::GetListObjectsInSessionByKey($this->app()->user(), \Library\Enums\SessionKeys::ProjectObject);
     $matchedElements = $this->FindObjectsFromIds(array("filter" => "project_id", "ids" => $project_ids, "objects" => $projects));
     foreach ($matchedElements as $project) {
         $project->setProject_active($this->dataPost["action"] === "active" ? TRUE : FALSE);
         $manager = $this->managers->getManagerOf($this->module);
         $rows_affected += $manager->edit($project, "project_id") ? 1 : 0;
     }
     $this->SendResponseWS($result, array("resx_file" => \Applications\PMTool\Resources\Enums\ResxFileNameKeys::Project, "resx_key" => $this->action(), "step" => $rows_affected === count($project_ids) ? "success" : "error"));
 }
 public static function SetCurrentProjectIfPmHasOnlyOneAndReturnProjects(\Library\User $user)
 {
     $projects = \Applications\PMTool\Helpers\ProjectHelper::GetSessionProjects($user);
     $pm = \Applications\PMTool\Helpers\PmHelper::GetCurrentSessionPm($user);
     $project_ids = count($pm[\Library\Enums\SessionKeys::PmProjectIds]) > 0 ? $pm[\Library\Enums\SessionKeys::PmProjectIds] : FALSE;
     if (count($projects) === 1 && $project_ids !== FALSE) {
         \Applications\PMTool\Helpers\ProjectHelper::SetCurrentSessionProject($user, $projects[\Library\Enums\SessionKeys::ProjectKey . $project_ids[0]]);
     } else {
         if (count($projects) > 1 && $project_ids !== FALSE) {
             $project_objects = \Applications\PMTool\Helpers\CommonHelper::GetListObjectsInSessionByKey($user, \Library\Enums\SessionKeys::ProjectObject);
             $project = \Applications\PMTool\Helpers\CommonHelper::FindObjectByIntValue(1, 'project_is_default', $project_objects);
             if ($project !== false) {
                 \Applications\PMTool\Helpers\ProjectHelper::SetCurrentSessionProject($user, $projects[\Library\Enums\SessionKeys::ProjectKey . $project->project_id()]);
             }
         }
     }
     return $projects;
 }