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; }
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); } }