public function resourcetaskassigndeleteAction() { $dresource_model = new Timemanagement_Model_Projectresources(); $task_resource_model = new Timemanagement_Model_Projecttaskresources(); $projectId = $this->_getParam('projectId'); $employeeId = $this->_getParam('employeeId'); $checkedTasks = $this->_getParam('chekedtaskids'); $uncheckedTasks = $this->_getParam('uncheckedtaskids'); $checkedTaskIds = json_decode($checkedTasks); $uncheckedTasksIds = json_decode($uncheckedTasks); $allTaskIdsArray = array(); $project_task_id = array(); $inserted_count = 0; $updated_count = 0; $getAllTasks = $dresource_model->getAllTasks($projectId); //get all tasks for perticuler project foreach ($getAllTasks as $task_id) { $allTaskIdsArray[] = $task_id['task_id']; $project_task_id[$task_id['task_id']] = $task_id['id']; } $assignedTasks = $dresource_model->getassignedTasks($projectId, $employeeId); $assignedTaskIds = array(); $resourceProjectTaskPrimaryId = array(); if (count($assignedTasks) > 0) { foreach ($assignedTasks as $id) { $assignedTaskIds[] = $id['task_id']; $resourceProjectTaskPrimaryId[$id['task_id']] = $id['id']; } } $unAssignedTasks = array(); foreach ($allTaskIdsArray as $tId) { if (!in_array($tId, $assignedTaskIds)) { $unAssignedTasks[] = $tId; } } //user selected to delete tasks from resources //compare previoues assigned tasks and selected to delete tasks if (count($uncheckedTasksIds) > 0) { foreach ($uncheckedTasksIds as $ckedId) { if (in_array($ckedId, $assignedTaskIds)) { $is_updated = $task_resource_model->assignTasks($ckedId, $projectId, $employeeId, $resourceProjectTaskPrimaryId[$ckedId], $for_update = 1); if ($is_updated == 'update') { $updated_count++; } } } } if (count($checkedTaskIds) > 0) { foreach ($checkedTaskIds as $taskId) { if (in_array($taskId, $unAssignedTasks)) { //insert tasks in employee_tasks table $isTaskAssigned = $task_resource_model->isTaskAssigned($projectId, $taskId, $employeeId); if ($isTaskAssigned == 0) { $is_inserted = $task_resource_model->assignTasks($taskId, $projectId, $employeeId, $project_task_id[$taskId]); if ($is_inserted > 0) { $inserted_count++; } } } } } //$this->_helper->json(array('message'=>'success','status'=>$updated_count.' Tasks deleted successfully,'.$inserted_count.' Tasks assigned successfully.')); $this->_helper->json(array('message' => 'success', 'status' => 'Tasks list updated successfully.')); }
public function saveresourcesAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; $projectTaskResourceModel = new Timemanagement_Model_Projecttaskresources(); if ($this->getRequest()->getPost()) { $projectId = $this->_getParam('projectId'); $oldRes = $this->_getParam('oldRes'); $newRes = $this->_getParam('newRes'); $taskId = $this->_getParam('taskId'); $projectTaskId = $this->_getParam('projectTaskId'); $oldRes_arr = $newRes_arr = array(); if (isset($oldRes) && $oldRes != '') { $projRes = trim($oldRes, ","); $oldRes_arr = explode(",", $oldRes); } if (isset($newRes) && $newRes != '') { $projRes = trim($newRes, ","); $newRes_arr = explode(",", $newRes); } if (!empty($newRes_arr)) { foreach ($newRes_arr as $newRess) { if (in_array($newRess, $oldRes_arr)) { $key = array_search($newRess, $oldRes_arr); unset($oldRes_arr[$key]); // check already exists or not continue; } else { $checkprojTaskResRecExists = $projectTaskResourceModel->isTaskAssigned(trim($projectId), trim($taskId), trim($newRess)); if (empty($checkprojTaskResRecExists)) { $projectTaskResourceData = array('project_id' => trim($projectId), 'task_id' => trim($taskId), 'project_task_id' => trim($projectTaskId), 'emp_id' => trim($newRess), 'created_by' => $loginUserId, 'created' => gmdate("Y-m-d H:i:s"), 'is_active' => 1, 'modified_by' => $loginUserId, 'modified' => gmdate("Y-m-d H:i:s")); $result = $projectTaskResourceModel->SaveorUpdateProjectTaskResourceData($projectTaskResourceData, ''); } } } } if (!empty($oldRes_arr)) { // now $oldRes_arr contains removed res id's foreach ($oldRes_arr as $removedRes) { $projectTaskResourceData_remove = array('is_active' => 0, 'modified_by' => $loginUserId, 'modified' => gmdate("Y-m-d H:i:s")); $where = array('project_id=?' => trim($projectId), 'project_task_id=?' => trim($projectTaskId), 'emp_id=?' => trim($removedRes)); $result = $projectTaskResourceModel->SaveorUpdateProjectTaskResourceData($projectTaskResourceData_remove, $where); } } $this->_helper->json(array('message' => 'success', 'status' => 'Resource assigned to tasks successfully.')); } } }