Exemplo n.º 1
0
 public static function StoreSessionTask($user, $list, $sessionProject = NULL)
 {
     $SessionTasks = array();
     $project = $sessionProject === NULL ? ProjectHelper::GetCurrentSessionProject($user) : $sessionProject;
     $countActiveTask = 0;
     foreach ($list as $task) {
         $key = \Library\Enums\SessionKeys::TaskKey . $task->task_id();
         $sessionTask = self::MakeSessionTask($task);
         $SessionTasks[$key] = $sessionTask;
         array_push($project[\Library\Enums\SessionKeys::ProjectTasks], $key);
         if ($task->task_active()) {
             $countActiveTask += 1;
             $currentSessionTask = $sessionTask;
             //Get sessin task object
         }
     }
     ProjectHelper::SetUserSessionProject($user, $project);
     self::SetSessionTasks($user, $SessionTasks);
     if ($countActiveTask === 1) {
         //Set current task if there is only one active
         self::SetCurrentSessionTask($user, $currentSessionTask);
     }
     return $SessionTasks;
 }
 public static function GetLocationsFromTaskLocations(\Library\User $user, $sessionTask)
 {
     $matches = array();
     $sessionProject = ProjectHelper::GetCurrentSessionProject($user);
     foreach ($sessionProject[\Library\Enums\SessionKeys::ProjectLocations] as $location) {
         foreach ($sessionTask[\Library\Enums\SessionKeys::TaskLocations] as $task_location) {
             if (intval($location->location_id()) === intval($task_location->location_id())) {
                 array_push($matches, $location);
                 break;
             }
         }
     }
     return $matches;
 }
Exemplo n.º 3
0
 public static function AddProjectAnalyte($caller, \Applications\PMTool\Models\Dao\Field_analyte $analyte, $dataPost)
 {
     $sessionProject = ProjectHelper::GetCurrentSessionProject($caller->user());
     $project = $sessionProject[\Library\Enums\SessionKeys::ProjectObject];
     $projectAnalyte = new \Applications\PMTool\Models\Dao\Project_field_analyte();
     $dal = $caller->managers()->getManagerOf($caller->module());
     $projectAnalyte->setProject_id($project->project_id());
     $projectAnalyte->setField_analyte_id($analyte->field_analyte_id());
     $result = $dal->add($projectAnalyte);
     if ($result >= 0) {
         self::AddTaskAnalyte($caller, $projectAnalyte, $dataPost);
     } else {
         throw new \Exception("Project field data wasn't added for following field data => \n\r" . var_dump($analyte), $result, NULL);
     }
 }