* adjust for project flow.
This commit is contained in:
@@ -429,6 +429,7 @@ class project extends control
|
||||
}
|
||||
}
|
||||
|
||||
$this->executeHooks($projectID);
|
||||
if($this->viewType == 'json') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'id' => $projectID));
|
||||
|
||||
if($this->app->tab == 'program')
|
||||
@@ -587,6 +588,7 @@ class project extends control
|
||||
$this->loadModel('productplan')->linkProject($projectID, $newPlans);
|
||||
}
|
||||
|
||||
$this->executeHooks($projectID);
|
||||
if(isonlybody()) return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent'));
|
||||
|
||||
$locateLink = ($this->session->projectList and $from != 'view') ? $this->session->projectList : inLink('view', "projectID=$projectID");
|
||||
@@ -762,6 +764,8 @@ class project extends control
|
||||
if(!empty($extend) and $extend->extensionType == 'extend') $isExtended = true;
|
||||
}
|
||||
|
||||
$this->executeHooks($projectID);
|
||||
|
||||
$this->view->title = $this->lang->project->view;
|
||||
$this->view->position = $this->lang->project->view;
|
||||
$this->view->projectID = $projectID;
|
||||
@@ -1722,6 +1726,7 @@ class project extends control
|
||||
$url = $this->createLink('project', 'browse');
|
||||
if($this->app->tab == 'program') $url = $this->createLink('program', 'browse');
|
||||
|
||||
$this->executeHooks($projectID);
|
||||
if(empty($executionIdList))
|
||||
{
|
||||
if($this->viewType == 'json') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess));
|
||||
|
||||
@@ -1517,6 +1517,7 @@ class projectModel extends model
|
||||
/* When acl is open, white list set empty. When acl is private,update user view. */
|
||||
if($project->acl == 'open') $this->loadModel('personnel')->updateWhitelist(array(), 'project', $projectID);
|
||||
if($project->acl != 'open') $this->loadModel('user')->updateUserView($projectID, 'project');
|
||||
$this->executeHooks($projectID);
|
||||
}
|
||||
$allChanges[$projectID] = common::createChanges($oldProject, $project);
|
||||
}
|
||||
|
||||
@@ -1142,21 +1142,21 @@ class taskModel extends model
|
||||
{
|
||||
if(isset($data->modules[$taskID]) and ($data->modules[$taskID] == 'ditto')) $data->modules[$taskID] = isset($prev['module']) ? $prev['module'] : 0;
|
||||
if($data->types[$taskID] == 'ditto') $data->types[$taskID] = isset($prev['type']) ? $prev['type'] : '';
|
||||
if($data->assignedTos[$taskID] == 'ditto') $data->assignedTos[$taskID] = isset($prev['assignedTo']) ? $prev['assignedTo'] : '';
|
||||
if($data->pris[$taskID] == 'ditto') $data->pris[$taskID] = isset($prev['pri']) ? $prev['pri'] : 0;
|
||||
if($data->finishedBys[$taskID] == 'ditto') $data->finishedBys[$taskID] = isset($prev['finishedBy']) ? $prev['finishedBy'] : '';
|
||||
if($data->canceledBys[$taskID] == 'ditto') $data->canceledBys[$taskID] = isset($prev['canceledBy']) ? $prev['canceledBy'] : '';
|
||||
if($data->closedBys[$taskID] == 'ditto') $data->closedBys[$taskID] = isset($prev['closedBy']) ? $prev['closedBy'] : '';
|
||||
if($data->estStarteds[$taskID] == '0000-00-00') $data->estStarteds[$taskID] = '';
|
||||
if($data->deadlines[$taskID] == '0000-00-00') $data->deadlines[$taskID] = '';
|
||||
if(isset($data->assignedTos[$taskID]) and $data->assignedTos[$taskID] == 'ditto') $data->assignedTos[$taskID] = isset($prev['assignedTo']) ? $prev['assignedTo'] : '';
|
||||
|
||||
$prev['module'] = $data->modules[$taskID];
|
||||
$prev['type'] = $data->types[$taskID];
|
||||
$prev['assignedTo'] = $data->assignedTos[$taskID];
|
||||
$prev['pri'] = $data->pris[$taskID];
|
||||
$prev['finishedBy'] = $data->finishedBys[$taskID];
|
||||
$prev['canceledBy'] = $data->canceledBys[$taskID];
|
||||
$prev['closedBy'] = $data->closedBys[$taskID];
|
||||
if(isset($data->assignedTos[$taskID])) $prev['assignedTo'] = $data->assignedTos[$taskID];
|
||||
}
|
||||
|
||||
/* Initialize tasks from the post data.*/
|
||||
@@ -1174,7 +1174,6 @@ class taskModel extends model
|
||||
$task->module = isset($data->modules[$taskID]) ? $data->modules[$taskID] : 0;
|
||||
$task->type = $data->types[$taskID];
|
||||
$task->status = isset($data->statuses[$taskID]) ? $data->statuses[$taskID] : $oldTask->status;
|
||||
$task->assignedTo = $task->status == 'closed' ? 'closed' : $data->assignedTos[$taskID];
|
||||
$task->pri = $data->pris[$taskID];
|
||||
$task->estimate = isset($data->estimates[$taskID]) ? $data->estimates[$taskID] : $oldTask->estimate;
|
||||
$task->left = isset($data->lefts[$taskID]) ? $data->lefts[$taskID] : $oldTask->left;
|
||||
@@ -1184,7 +1183,6 @@ class taskModel extends model
|
||||
$task->canceledBy = $data->canceledBys[$taskID];
|
||||
$task->closedBy = $data->closedBys[$taskID];
|
||||
$task->closedReason = $data->closedReasons[$taskID];
|
||||
$task->assignedDate = $oldTask->assignedTo ==$task->assignedTo ? $oldTask->assignedDate : $now;
|
||||
$task->finishedDate = $oldTask->finishedBy == $task->finishedBy ? $oldTask->finishedDate : $now;
|
||||
$task->canceledDate = $oldTask->canceledBy == $task->canceledBy ? $oldTask->canceledDate : $now;
|
||||
$task->closedDate = $oldTask->closedBy == $task->closedBy ? $oldTask->closedDate : $now;
|
||||
@@ -1193,6 +1191,10 @@ class taskModel extends model
|
||||
$task->consumed = $oldTask->consumed;
|
||||
$task->parent = $oldTask->parent;
|
||||
|
||||
if(isset($data->assignedTos[$taskID])) $task->assignedTo = $data->assignedTos[$taskID];
|
||||
if($task->status == 'closed') $task->assignedTo = 'closed';
|
||||
if(isset($task->assignedTo) and $oldTask->assignedTo != $task->assignedTo) $task->assignedDate = $now;
|
||||
|
||||
if(strpos(',doing,pause,', $task->status) and empty($teams) and empty($task->left))
|
||||
{
|
||||
dao::$errors[] = sprintf($this->lang->task->error->leftEmptyAB, zget($this->lang->task->statusList, $task->status));
|
||||
|
||||
Reference in New Issue
Block a user