/** * Task copy: Task_service * Fetches the related Task_service for the * original task and creates the relation with the new * Task created in "copyTaskWithDependencies" */ public static function copyTaskTaskService($caller, $source_task_id, $target_task_id) { $tsDAO = new \Applications\PMTool\Models\Dao\Task_service(); $tsDAO->setTask_id($source_task_id); $dal = $caller->managers()->getManagerOf("Task"); $allTSs = $dal->selectMany($tsDAO, "task_id"); if (count($allTSs) > 0) { //TSs found, loop and remap with the new task id foreach ($allTSs as $ts) { $tsDAO = null; $tsDAO = new \Applications\PMTool\Models\Dao\Task_service(); $tsDAO->setTask_id($target_task_id); $tsDAO->setService_id($ts->service_id()); //Save $id = $dal->add($tsDAO); } } }
public static function UpdateTaskForms($caller) { $result = $caller->InitResponseWS(); // Init result $dataPost = $caller->dataPost(); $result["rows_affected"] = 0; $result["forms_ids"] = str_getcsv($dataPost["arrayOfValues"], ','); $sessionTask = \Applications\PMTool\Helpers\TaskHelper::GetCurrentSessionTask($caller->user()); $task_services = array(); foreach ($result["service_ids"] as $id) { $task_service = new \Applications\PMTool\Models\Dao\Task_service(); $task_service->setService_id($id); $task_service->setTask_id($sessionTask[\Library\Enums\SessionKeys::TaskObj]->task_id()); $dal = $caller->managers()->getManagerOf($caller->module()); if ($dataPost["action"] === "add") { $result["rows_affected"] += $dal->add($task_service) >= 0 ? 1 : 0; } else { $result["rows_affected"] += $dal->delete($task_service, "service_id") ? 1 : 0; } array_push($task_services, $task_service); } $sessionTask[\Library\Enums\SessionKeys::TaskServices] = $task_services; \Applications\PMTool\Helpers\TaskHelper::SetSessionTask($caller->user(), $sessionTask); return $result; }