public static function GetProjectAnalytes($caller, $getFieldType = TRUE, $sessionProject = NULL) { $pm = PmHelper::GetCurrentSessionPm($caller->user()); $project = $sessionProject == NULL ? ProjectHelper::GetCurrentSessionProject($caller->user()) : $sessionProject; $sessionKey = $getFieldType ? \Library\Enums\SessionKeys::ProjectFieldAnalytes : \Library\Enums\SessionKeys::ProjectLabAnalytes; if (count($project[$sessionKey]) === 0) { $type = $getFieldType ? "field" : "lab"; $className = "\\Applications\\PMTool\\Models\\Dao\\Project_" . $type . "_analyte"; $project_analyte = new $className(); $project_analyte->setProject_id($project[\Library\Enums\SessionKeys::ProjectObject]->project_id()); $dal = $caller->managers()->getManagerOf('Analyte'); $project_analytes = $dal->selectMany($project_analyte, "project_id"); $project[$sessionKey] = $project_analytes; ProjectHelper::SetUserSessionProject($caller->user(), $project); } return $project[$sessionKey]; }
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 GetAndStoreProjectServices($caller, $sessionProject) { $sessionProjects = $caller->user()->getAttribute(\Library\Enums\SessionKeys::UserSessionProjects); $projectService = new \Applications\PMTool\Models\Dao\Project_service(); $projectService->setProject_id($sessionProject[\Library\Enums\SessionKeys::ProjectObject]->project_id()); // if (!(count($sessionProject[\Library\Enums\SessionKeys::ProjectServices]) > 0)) { $dal = $caller->managers()->getManagerOf("ProjectService"); $sessionProject[\Library\Enums\SessionKeys::ProjectServices] = $dal->selectMany($projectService, "project_id"); // } ProjectHelper::SetUserSessionProject($caller->user(), $sessionProject); ProjectHelper::SetCurrentSessionProject($caller->user(), $sessionProject); return self::GetServicesFromProjectServices($caller->user(), $sessionProject); }