From a41e43311a4e9bef29c1c6608d607f2b806a584a Mon Sep 17 00:00:00 2001
From: holan20180123 <56391770@qq.com>
Date: Fri, 5 Mar 2021 09:35:40 +0800
Subject: [PATCH] * Distinguish project execution from task module.
---
module/task/control.php | 241 +++++++++++------------
module/task/js/batchcreate.js | 4 +-
module/task/js/create.js | 54 ++---
module/task/js/edit.js | 68 +++----
module/task/js/report.js | 2 +-
module/task/lang/de.php | 50 ++---
module/task/lang/en.php | 50 ++---
module/task/lang/fr.php | 50 ++---
module/task/lang/vi.php | 50 ++---
module/task/lang/zh-cn.php | 50 ++---
module/task/model.php | 154 +++++++--------
module/task/view/batchcreate.html.php | 16 +-
module/task/view/batchedit.html.php | 6 +-
module/task/view/create.html.php | 14 +-
module/task/view/edit.html.php | 16 +-
module/task/view/recordestimate.html.php | 4 +-
module/task/view/report.html.php | 8 +-
module/task/view/view.html.php | 24 +--
18 files changed, 430 insertions(+), 431 deletions(-)
diff --git a/module/task/control.php b/module/task/control.php
index 65a82e0334..394569b12c 100644
--- a/module/task/control.php
+++ b/module/task/control.php
@@ -29,7 +29,7 @@ class task extends control
/**
* Create a task.
*
- * @param int $projectID
+ * @param int $executionID
* @param int $storyID
* @param int $moduleID
* @param int $taskID
@@ -37,17 +37,17 @@ class task extends control
* @access public
* @return void
*/
- public function create($projectID = 0, $storyID = 0, $moduleID = 0, $taskID = 0, $todoID = 0)
+ public function create($executionID = 0, $storyID = 0, $moduleID = 0, $taskID = 0, $todoID = 0)
{
- $projects = $this->project->getExecutionPairs($this->session->project);
- $projectID = $this->project->saveState($projectID, $projects);
+ $executions = $this->execution->getPairs($this->session->project);
+ $executionID = $this->execution->saveState($executionID, $executions);
- $this->project->getLimitedExecution();
- $limitedProjects = !empty($_SESSION['limitedProjects']) ? $_SESSION['limitedProjects'] : '';
- if(strpos(",{$limitedProjects},", ",$projectID,") !== false)
+ $this->execution->getLimitedExecution();
+ $limitedExecutions = !empty($_SESSION['limitedExecutions']) ? $_SESSION['limitedExecutions'] : '';
+ if(strpos(",{$limitedExecutions},", ",$executionID,") !== false)
{
echo js::alert($this->lang->task->createDenied);
- die(js::locate($this->createLink('project', 'task', "projectID=$projectID")));
+ die(js::locate($this->createLink('execution', 'task', "executionID=$executionID")));
}
$task = new stdClass();
@@ -65,8 +65,8 @@ class task extends control
$task->color = '';
if($taskID > 0)
{
- $task = $this->task->getByID($taskID);
- $projectID = $task->project;
+ $task = $this->task->getByID($taskID);
+ $executionID = $task->execution;
}
if($todoID > 0)
@@ -77,13 +77,12 @@ class task extends control
$task->desc = $todo->desc;
}
- $project = $this->project->getById($projectID);
-
- $taskLink = $this->createLink('project', 'browse', "projectID=$projectID&tab=task");
- $storyLink = $this->session->storyList ? $this->session->storyList : $this->createLink('project', 'story', "projectID=$projectID");
+ $execution = $this->execution->getById($executionID);
+ $taskLink = $this->createLink('execution', 'browse', "executionID=$executionID&tab=task");
+ $storyLink = $this->session->storyList ? $this->session->storyList : $this->createLink('execution', 'story', "executionID=$executionID");
/* Set menu. */
- $this->project->setMenu($projects, $project->id);
+ $this->execution->setMenu($executions, $execution->id);
if(!empty($_POST))
{
@@ -91,8 +90,8 @@ class task extends control
$response['message'] = $this->lang->saveSuccess;
setcookie('lastTaskModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', false, false);
- if($this->post->project) $projectID = (int)$this->post->project;
- $tasksID = $this->task->create($projectID);
+ if($this->post->execution) $executionID = (int)$this->post->execution;
+ $tasksID = $this->task->create($executionID);
if(dao::isError())
{
$response['result'] = 'fail';
@@ -145,13 +144,13 @@ class task extends control
if($this->post->after == 'continueAdding')
{
$response['message'] = $this->lang->task->successSaved . $this->lang->task->afterChoices['continueAdding'];
- $response['locate'] = $this->createLink('task', 'create', "projectID=$projectID&storyID={$this->post->story}&moduleID=$moduleID");
+ $response['locate'] = $this->createLink('task', 'create', "executionID=$executionID&storyID={$this->post->story}&moduleID=$moduleID");
$this->send($response);
}
elseif($this->post->after == 'toTaskList')
{
setcookie('moduleBrowseParam', 0, 0, $this->config->webRoot, '', false, false);
- $taskLink = $this->createLink('project', 'task', "projectID=$projectID&status=unclosed¶m=0&orderBy=id_desc");
+ $taskLink = $this->createLink('execution', 'task', "executionID=$executionID&status=unclosed¶m=0&orderBy=id_desc");
$response['locate'] = $taskLink;
$this->send($response);
}
@@ -168,9 +167,9 @@ class task extends control
}
$users = $this->loadModel('user')->getPairs('noclosed|nodeleted');
- $members = $this->project->getTeamMemberPairs($projectID, 'nodeleted');
- $showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : '';
- $moduleOptionMenu = $this->tree->getTaskOptionMenu($projectID, 0, 0, $showAllModule ? 'allModule' : '');
+ $members = $this->execution->getTeamMemberPairs($executionID, 'nodeleted');
+ $showAllModule = isset($this->config->execution->task->allModule) ? $this->config->execution->task->allModule : '';
+ $moduleOptionMenu = $this->tree->getTaskOptionMenu($executionID, 0, 0, $showAllModule ? 'allModule' : '');
/* Fix bug #3381. When the story module is the root module. */
if($storyID)
@@ -189,16 +188,16 @@ class task extends control
$moduleID = $this->tree->getStoryModule($task->module);
$moduleIdList = $this->tree->getAllChildID($moduleID);
}
- $stories = $this->story->getProjectStoryPairs($projectID, 0, 0, $moduleIdList, 'full', 'unclosed');
+ $stories = $this->story->getExecutionStoryPairs($executionID, 0, 0, $moduleIdList, 'full', 'unclosed');
- $title = $project->name . $this->lang->colon . $this->lang->task->create;
- $position[] = html::a($taskLink, $project->name);
+ $title = $execution->name . $this->lang->colon . $this->lang->task->create;
+ $position[] = html::a($taskLink, $execution->name);
$position[] = $this->lang->task->common;
$position[] = $this->lang->task->create;
/* Set Custom*/
foreach(explode(',', $this->config->task->customCreateFields) as $field) $customFields[$field] = $this->lang->task->$field;
- if($project->type == 'ops') unset($customFields['story']);
+ if($execution->type == 'ops') unset($customFields['story']);
$this->view->customFields = $customFields;
$this->view->showFields = $this->config->task->custom->createFields;
@@ -206,12 +205,12 @@ class task extends control
$this->view->title = $title;
$this->view->position = $position;
- $this->view->project = $project;
- $this->view->projects = $this->config->systemMode == 'classic' ? $projects : $this->execution->getByProject($this->session->project, 'all', 0, true);
+ $this->view->execution = $execution;
+ $this->view->executions = $this->config->systemMode == 'classic' ? $executions : $this->execution->getByProject($this->session->project, 'all', 0, true);
$this->view->task = $task;
$this->view->users = $users;
$this->view->stories = $stories;
- $this->view->testStoryIdList = $this->loadModel('story')->getTestStories(array_keys($stories), $project->id);
+ $this->view->testStoryIdList = $this->loadModel('story')->getTestStories(array_keys($stories), $execution->id);
$this->view->members = $members;
$this->view->moduleOptionMenu = $moduleOptionMenu;
$this->display();
@@ -220,7 +219,7 @@ class task extends control
/**
* Batch create task.
*
- * @param int $projectID
+ * @param int $executionID
* @param int $storyID
* @param int $iframe
* @param int $taskID
@@ -228,14 +227,14 @@ class task extends control
* @access public
* @return void
*/
- public function batchCreate($projectID = 0, $storyID = 0, $moduleID = 0, $taskID = 0, $iframe = 0)
+ public function batchCreate($executionID = 0, $storyID = 0, $moduleID = 0, $taskID = 0, $iframe = 0)
{
- $this->project->getLimitedExecution();
- $limitedProjects = !empty($_SESSION['limitedProjects']) ? $_SESSION['limitedProjects'] : '';
- if(strpos(",{$limitedProjects},", ",$projectID,") !== false)
+ $this->execution->getLimitedExecution();
+ $limitedExecutions = !empty($_SESSION['limitedExecutions']) ? $_SESSION['limitedExecutions'] : '';
+ if(strpos(",{$limitedExecutions},", ",$executionID,") !== false)
{
echo js::alert($this->lang->task->createDenied);
- die(js::locate($this->createLink('project', 'task', "projectID=$projectID")));
+ die(js::locate($this->createLink('execution', 'task', "executionID=$executionID")));
}
if($this->config->systemMode == 'new')
@@ -244,12 +243,12 @@ class task extends control
if($project->model == 'waterfall') $this->config->task->create->requiredFields .= ',estStarted,deadline';
}
- $project = $this->project->getById($projectID);
- $taskLink = $this->createLink('project', 'browse', "projectID=$projectID&tab=task");
- $storyLink = $this->session->storyList ? $this->session->storyList : $this->createLink('project', 'story', "projectID=$projectID");
+ $execution = $this->execution->getById($executionID);
+ $taskLink = $this->createLink('execution', 'browse', "executionID=$executionID&tab=task");
+ $storyLink = $this->session->storyList ? $this->session->storyList : $this->createLink('execution', 'story', "executionID=$executionID");
/* Set menu. */
- $this->project->setMenu($this->project->getExecutionPairs($this->session->project), $project->id);
+ $this->execution->setMenu($this->execution->getPairs($this->session->project), $execution->id);
/* When common task are child tasks, query whether common task are consumed. */
$taskConsumed = 0;
@@ -261,7 +260,7 @@ class task extends control
if(!empty($_POST))
{
- $mails = $this->task->batchCreate($projectID);
+ $mails = $this->task->batchCreate($executionID);
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
/* Locate the browser. */
@@ -275,14 +274,14 @@ class task extends control
$this->view->showFields = $this->config->task->custom->batchCreateFields;
- $stories = $this->story->getProjectStoryPairs($projectID, 0, 0, 0, 'short');
- $members = $this->project->getTeamMemberPairs($projectID, 'nodeleted');
+ $stories = $this->story->getExecutionStoryPairs($executionID, 0, 0, 0, 'short');
+ $members = $this->execution->getTeamMemberPairs($executionID, 'nodeleted');
- $showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : '';
- $modules = $this->loadModel('tree')->getTaskOptionMenu($projectID, 0, 0, $showAllModule ? 'allModule' : '');
+ $showAllModule = isset($this->config->execution->task->allModule) ? $this->config->execution->task->allModule : '';
+ $modules = $this->loadModel('tree')->getTaskOptionMenu($executionID, 0, 0, $showAllModule ? 'allModule' : '');
- $title = $project->name . $this->lang->colon . $this->lang->task->batchCreate;
- $position[] = html::a($taskLink, $project->name);
+ $title = $execution->name . $this->lang->colon . $this->lang->task->batchCreate;
+ $position[] = html::a($taskLink, $execution->name);
$position[] = $this->lang->task->common;
$position[] = $this->lang->task->batchCreate;
@@ -290,13 +289,13 @@ class task extends control
$this->view->title = $title;
$this->view->position = $position;
- $this->view->project = $project;
+ $this->view->execution = $execution;
$this->view->stories = $stories;
$this->view->modules = $modules;
$this->view->parent = $taskID;
$this->view->storyID = $storyID;
$this->view->story = $this->story->getByID($storyID);
- $this->view->storyTasks = $this->task->getStoryTaskCounts(array_keys($stories), $projectID);
+ $this->view->storyTasks = $this->task->getStoryTaskCounts(array_keys($stories), $executionID);
$this->view->members = $members;
$this->view->moduleID = $moduleID;
$this->view->taskConsumed = $taskConsumed;
@@ -312,14 +311,14 @@ class task extends control
*/
public function commonAction($taskID)
{
- $this->view->task = $this->loadModel('task')->getByID($taskID);
- $this->view->project = $this->project->getById($this->view->task->project);
- $this->view->members = $this->project->getTeamMemberPairs($this->view->project->id ,'nodeleted');
- $this->view->actions = $this->loadModel('action')->getList('task', $taskID);
+ $this->view->task = $this->loadModel('task')->getByID($taskID);
+ $this->view->execution = $this->execution->getById($this->view->task->execution);
+ $this->view->members = $this->execution->getTeamMemberPairs($this->view->execution->id ,'nodeleted');
+ $this->view->actions = $this->loadModel('action')->getList('task', $taskID);
/* Set menu. */
- $this->project->setMenu($this->project->getExecutionPairs($this->session->project), $this->view->project->id);
- $this->view->position[] = html::a($this->createLink('project', 'browse', "project={$this->view->task->project}"), $this->view->project->name);
+ $this->execution->setMenu($this->execution->getPairs($this->session->project), $this->view->execution->id);
+ $this->view->position[] = html::a($this->createLink('execution', 'browse', "execution={$this->view->task->execution}"), $this->view->execution->name);
}
/**
@@ -379,7 +378,7 @@ class task extends control
}
}
- $tasks = $this->task->getParentTaskPairs($this->view->project->id, $this->view->task->parent);
+ $tasks = $this->task->getParentTaskPairs($this->view->execution->id, $this->view->task->parent);
if(isset($tasks[$taskID])) unset($tasks[$taskID]);
if(!isset($this->view->members[$this->view->task->assignedTo])) $this->view->members[$this->view->task->assignedTo] = $this->view->task->assignedTo;
@@ -388,12 +387,12 @@ class task extends control
$this->view->title = $this->lang->task->edit . 'TASK' . $this->lang->colon . $this->view->task->name;
$this->view->position[] = $this->lang->task->common;
$this->view->position[] = $this->lang->task->edit;
- $this->view->stories = $this->story->getProjectStoryPairs($this->view->project->id);
+ $this->view->stories = $this->story->getExecutionStoryPairs($this->view->execution->id);
$this->view->tasks = $tasks;
$this->view->users = $this->loadModel('user')->getPairs('nodeleted', "{$this->view->task->openedBy},{$this->view->task->canceledBy},{$this->view->task->closedBy}");
- $this->view->showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : '';
- $this->view->modules = $this->tree->getTaskOptionMenu($this->view->task->project, 0, 0, $this->view->showAllModule ? 'allModule' : '');
- $this->view->projects = $this->config->systemMode == 'classic' ? $this->project->getExecutionPairs() : $this->execution->getByProject($this->session->project, 'all', 0, true);
+ $this->view->showAllModule = isset($this->config->execution->task->allModule) ? $this->config->execution->task->allModule : '';
+ $this->view->modules = $this->tree->getTaskOptionMenu($this->view->task->execution, 0, 0, $this->view->showAllModule ? 'allModule' : '');
+ $this->view->executions = $this->config->systemMode == 'classic' ? $this->execution->getPairs() : $this->execution->getByProject($this->session->project, 'all', 0, true);
$this->display();
}
@@ -445,16 +444,16 @@ class task extends control
/* The tasks of execution. */
if($executionID)
{
- $execution = $this->project->getById($executionID);
- $this->project->setMenu($this->project->getExecutionPairs($this->session->project), $execution->id);
+ $execution = $this->execution->getById($executionID);
+ $this->execution->setMenu($this->execution->getPairs($this->session->project), $execution->id);
/* Set modules and members. */
- $showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : '';
+ $showAllModule = isset($this->config->task->allModule) ? $this->config->task->allModule : '';
$modules = $this->tree->getTaskOptionMenu($executionID, 0, 0, $showAllModule ? 'allModule' : '');
$modules = array('ditto' => $this->lang->task->ditto) + $modules;
$this->view->title = $execution->name . $this->lang->colon . $this->lang->task->batchEdit;
- $this->view->position[] = html::a($this->createLink('project', 'browse', "executionID=$execution->id"), $execution->name);
+ $this->view->position[] = html::a($this->createLink('execution', 'browse', "executionID=$execution->id"), $execution->name);
$this->view->execution = $execution;
$this->view->modules = $modules;
}
@@ -476,7 +475,7 @@ class task extends control
/* Get execution teams. */
$executionIDList = array();
- foreach($tasks as $task) if(!in_array($task->project, $executionIDList)) $executionIDList[] = $task->project;
+ foreach($tasks as $task) if(!in_array($task->execution, $executionIDList)) $executionIDList[] = $task->execution;
$executionTeams = $this->dao->select('*')->from(TABLE_TEAM)->where('root')->in($executionIDList)->andWhere('type')->in('sprint,stage')->fetchGroup('root', 'account');
/* Judge whether the editedTasks is too large and set session. */
@@ -514,7 +513,7 @@ class task extends control
* @access public
* @return void
*/
- public function assignTo($projectID, $taskID)
+ public function assignTo($executionID, $taskID)
{
$this->commonAction($taskID);
@@ -534,7 +533,7 @@ class task extends control
$task = $this->task->getByID($taskID);
- $members = $this->project->getTeamMemberPairs($projectID, 'nodeleted');
+ $members = $this->execution->getTeamMemberPairs($executionID, 'nodeleted');
/* Compute next assignedTo. */
if(!empty($task->team))
@@ -546,7 +545,7 @@ class task extends control
if(!isset($members[$task->assignedTo])) $members[$task->assignedTo] = $task->assignedTo;
if(isset($members['closed']) or $task->status == 'closed') $members['closed'] = 'Closed';
- $this->view->title = $this->view->project->name . $this->lang->colon . $this->lang->task->assign;
+ $this->view->title = $this->view->execution->name . $this->lang->colon . $this->lang->task->assign;
$this->view->position[] = $this->lang->task->assign;
$this->view->task = $task;
$this->view->members = $members;
@@ -584,11 +583,11 @@ class task extends control
/**
* Batch update assign of task.
*
- * @param int $project
+ * @param int $execution
* @access public
* @return void
*/
- public function batchAssignTo($project)
+ public function batchAssignTo($execution)
{
if(!empty($_POST))
{
@@ -596,7 +595,7 @@ class task extends control
$taskIDList = $this->post->taskIDList;
$taskIDList = array_unique($taskIDList);
unset($_POST['taskIDList']);
- if(!is_array($taskIDList)) die(js::locate($this->createLink('project', 'task', "projectID=$project"), 'parent'));
+ if(!is_array($taskIDList)) die(js::locate($this->createLink('execution', 'task', "executionID=$execution"), 'parent'));
$taskIDList = array_unique($taskIDList);
$muletipleTasks = $this->dao->select('root , account')->from(TABLE_TEAM)->where('type')->eq('task')->andWhere('root')->in($taskIDList)->fetchGroup('root', 'account');
@@ -628,7 +627,7 @@ class task extends control
{
$task = $this->task->getById($taskID, true);
if(!$task) die(js::error($this->lang->notFound) . js::locate('back'));
- $this->session->project = $task->PRJ;
+ $this->session->project = $task->project;
if($task->fromBug != 0)
{
@@ -655,19 +654,19 @@ class task extends control
if($task->assignedTo == $this->app->user->account) $this->loadModel('action')->read('task', $taskID);
/* Set menu. */
- $project = $this->project->getById($task->project);
- $this->project->setMenu($this->project->getExecutionPairs($this->session->project), $project->id);
+ $execution = $this->execution->getById($task->execution);
+ $this->execution->setMenu($this->execution->getPairs($this->session->project), $execution->id);
$this->executeHooks($taskID);
- $title = "TASK#$task->id $task->name / $project->name";
- $position[] = html::a($this->createLink('project', 'browse', "projectID=$task->project"), $project->name);
+ $title = "TASK#$task->id $task->name / $execution->name";
+ $position[] = html::a($this->createLink('execution', 'browse', "executionID=$task->execution"), $execution->name);
$position[] = $this->lang->task->common;
$position[] = $this->lang->task->view;
$this->view->title = $title;
$this->view->position = $position;
- $this->view->project = $project;
+ $this->view->execution = $execution;
$this->view->task = $task;
$this->view->actions = $this->loadModel('action')->getList('task', $taskID);
$this->view->users = $this->loadModel('user')->getPairs('noletter');
@@ -742,11 +741,11 @@ class task extends control
die(js::locate($this->createLink('task', 'view', "taskID=$taskID"), 'parent'));
}
- $this->view->title = $this->view->project->name . $this->lang->colon .$this->lang->task->start;
+ $this->view->title = $this->view->execution->name . $this->lang->colon .$this->lang->task->start;
$this->view->position[] = $this->lang->task->start;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->members = $this->execution->getTeamMemberPairs($task->project, 'nodeleted');
+ $this->view->members = $this->execution->getTeamMemberPairs($task->execution, 'nodeleted');
$this->view->assignedTo = $task->assignedTo == '' ? $this->app->user->account : $task->assignedTo;
$this->display();
}
@@ -905,7 +904,7 @@ class task extends control
}
$task = $this->view->task;
- $members = $this->execution->getTeamMemberPairs($task->project, 'nodeleted');
+ $members = $this->execution->getTeamMemberPairs($task->execution, 'nodeleted');
$task->nextBy = $task->openedBy;
$this->view->users = $members;
@@ -927,7 +926,7 @@ class task extends control
}
}
- $this->view->title = $this->view->project->name . $this->lang->colon .$this->lang->task->finish;
+ $this->view->title = $this->view->execution->name . $this->lang->colon .$this->lang->task->finish;
$this->view->position[] = $this->lang->task->finish;
$this->view->members = $members;
@@ -963,7 +962,7 @@ class task extends control
die(js::locate($this->createLink('task', 'view', "taskID=$taskID"), 'parent'));
}
- $this->view->title = $this->view->project->name . $this->lang->colon .$this->lang->task->pause;
+ $this->view->title = $this->view->execution->name . $this->lang->colon .$this->lang->task->pause;
$this->view->position[] = $this->lang->task->pause;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
@@ -1002,11 +1001,11 @@ class task extends control
die(js::locate($this->createLink('task', 'view', "taskID=$taskID"), 'parent'));
}
- $this->view->title = $this->view->project->name . $this->lang->colon .$this->lang->task->restart;
+ $this->view->title = $this->view->execution->name . $this->lang->colon .$this->lang->task->restart;
$this->view->position[] = $this->lang->task->restart;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->members = $this->execution->getTeamMemberPairs($task->project, 'nodeleted');
+ $this->view->members = $this->execution->getTeamMemberPairs($task->execution, 'nodeleted');
$this->view->assignedTo = $task->assignedTo == '' ? $this->app->user->account : $task->assignedTo;
$this->display();
}
@@ -1048,7 +1047,7 @@ class task extends control
}
}
- $this->view->title = $this->view->project->name . $this->lang->colon .$this->lang->task->finish;
+ $this->view->title = $this->view->execution->name . $this->lang->colon .$this->lang->task->finish;
$this->view->position[] = $this->lang->task->finish;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
@@ -1171,7 +1170,7 @@ class task extends control
die(js::locate($this->createLink('task', 'view', "taskID=$taskID"), 'parent'));
}
- $this->view->title = $this->view->project->name . $this->lang->colon .$this->lang->task->cancel;
+ $this->view->title = $this->view->execution->name . $this->lang->colon .$this->lang->task->cancel;
$this->view->position[] = $this->lang->task->cancel;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
@@ -1208,7 +1207,7 @@ class task extends control
}
if(!isset($this->view->members[$this->view->task->finishedBy])) $this->view->members[$this->view->task->finishedBy] = $this->view->task->finishedBy;
- $this->view->title = $this->view->project->name . $this->lang->colon . $this->lang->task->activate;
+ $this->view->title = $this->view->execution->name . $this->lang->colon . $this->lang->task->activate;
$this->view->position[] = $this->lang->task->activate;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
$this->display();
@@ -1217,20 +1216,20 @@ class task extends control
/**
* Delete a task.
*
- * @param int $projectID
+ * @param int $executionID
* @param int $taskID
* @param string $confirm yes|no
* @access public
* @return void
*/
- public function delete($projectID, $taskID, $confirm = 'no')
+ public function delete($executionID, $taskID, $confirm = 'no')
{
$task = $this->task->getById($taskID);
if($task->parent < 0) die(js::alert($this->lang->task->cannotDeleteParent));
if($confirm == 'no')
{
- die(js::confirm($this->lang->task->confirmDelete, inlink('delete', "projectID=$projectID&taskID=$taskID&confirm=yes")));
+ die(js::confirm($this->lang->task->confirmDelete, inlink('delete', "executionID=$executionID&taskID=$taskID&confirm=yes")));
}
else
{
@@ -1271,16 +1270,16 @@ class task extends control
}
/**
- * AJAX: return project tasks in html select.
+ * AJAX: return execution tasks in html select.
*
- * @param int $projectID
+ * @param int $executionID
* @param int $taskID
* @access public
* @return string
*/
- public function ajaxGetProjectTasks($projectID, $taskID = 0)
+ public function ajaxGetExecutionTasks($executionID, $taskID = 0)
{
- $tasks = $this->task->getProjectTaskPairs((int)$projectID);
+ $tasks = $this->task->getExecutionTaskPairs((int)$executionID);
die(html::select('task', empty($tasks) ? array('' => '') : $tasks, $taskID, "class='form-control'"));
}
@@ -1300,12 +1299,12 @@ class task extends control
/**
* The report page.
*
- * @param int $projectID
+ * @param int $executionID
* @param string $browseType
* @access public
* @return void
*/
- public function report($projectID, $browseType = 'all', $chartType = 'default')
+ public function report($executionID, $browseType = 'all', $chartType = 'default')
{
$this->loadModel('report');
$this->view->charts = array();
@@ -1324,14 +1323,14 @@ class task extends control
}
}
- $projects = $this->project->getExecutionPairs($this->session->project);
+ $executions = $this->execution->getPairs($this->session->project);
- $this->project->setMenu($projects, $projectID);
- $this->projects = $projects;
- $this->view->title = $this->projects[$projectID] . $this->lang->colon . $this->lang->task->report->common;
- $this->view->position[] = $this->projects[$projectID];
+ $this->execution->setMenu($executions, $executionID);
+ $this->executions = $executions;
+ $this->view->title = $this->executions[$executionID] . $this->lang->colon . $this->lang->task->report->common;
+ $this->view->position[] = $this->executions[$executionID];
$this->view->position[] = $this->lang->task->report->common;
- $this->view->projectID = $projectID;
+ $this->view->executionID = $executionID;
$this->view->browseType = $browseType;
$this->view->chartType = $chartType;
$this->view->checkedCharts = $this->post->charts ? join(',', $this->post->charts) : '';
@@ -1342,16 +1341,16 @@ class task extends control
/**
* get data to export
*
- * @param int $projectID
+ * @param int $executionID
* @param string $orderBy
* @access public
* @return void
*/
- public function export($projectID, $orderBy, $type)
+ public function export($executionID, $orderBy, $type)
{
- $project = $this->project->getById($projectID);
+ $execution = $this->execution->getById($executionID);
$allExportFields = $this->config->task->exportFields;
- if($project->type == 'ops') $allExportFields = str_replace(' story,', '', $allExportFields);
+ if($execution->type == 'ops') $allExportFields = str_replace(' story,', '', $allExportFields);
if($_POST)
{
@@ -1400,9 +1399,9 @@ class task extends control
while($row = $stmt->fetch()) $tasks[$row->id] = $row;
}
- /* Get users and projects. */
- $users = $this->loadModel('user')->getPairs('noletter');
- $projects = $this->execution->getPairs($this->session->project, 'all', 'all|nocode');
+ /* Get users and executions. */
+ $users = $this->loadModel('user')->getPairs('noletter');
+ $executions = $this->execution->getPairs($this->session->execution, 'all', 'all|nocode');
/* Get related objects id lists. */
$relatedStoryIdList = array();
@@ -1466,7 +1465,7 @@ class task extends control
if($type == 'group')
{
- $stories = $this->loadModel('story')->getProjectStories($projectID);
+ $stories = $this->loadModel('story')->getExecutionStories($executionID);
$groupTasks = array();
foreach($tasks as $task)
{
@@ -1525,7 +1524,7 @@ class task extends control
/* fill some field with useful value. */
$task->story = isset($relatedStories[$task->story]) ? $relatedStories[$task->story] . "(#$task->story)" : '';
- if(isset($projects[$task->project])) $task->project = $projects[$task->project] . "(#$task->project)";
+ if(isset($executions[$task->execution])) $task->execution = $executions[$task->execution] . "(#$task->execution)";
if(isset($taskLang->typeList[$task->type])) $task->type = $taskLang->typeList[$task->type];
if(isset($taskLang->priList[$task->pri])) $task->pri = $taskLang->priList[$task->pri];
if(isset($taskLang->statusList[$task->status])) $task->status = $this->processStatus('task', $task);
@@ -1548,9 +1547,9 @@ class task extends control
$task->canceledDate = substr($task->canceledDate, 0, 10);
$task->closedDate = substr($task->closedDate, 0, 10);
$task->lastEditedDate = substr($task->lastEditedDate, 0, 10);
- $task->estimate = $task->estimate . $this->lang->project->workHourUnit;
- $task->consumed = $task->consumed . $this->lang->project->workHourUnit;
- $task->left = $task->left . $this->lang->project->workHourUnit;
+ $task->estimate = $task->estimate . $this->lang->execution->workHourUnit;
+ $task->consumed = $task->consumed . $this->lang->execution->workHourUnit;
+ $task->left = $task->left . $this->lang->execution->workHourUnit;
/* Set related files. */
$task->files = '';
@@ -1571,24 +1570,24 @@ class task extends control
$this->fetch('file', 'export2' . $this->post->fileType, $_POST);
}
- $this->app->loadLang('project');
- $fileName = $this->lang->task->common;
- $projectName = $this->dao->findById($projectID)->from(TABLE_PROJECT)->fetch('name');
- if(isset($this->lang->project->featureBar['task'][$type]))
+ $this->app->loadLang('execution');
+ $fileName = $this->lang->task->common;
+ $executionName = $this->dao->findById($executionID)->from(TABLE_PROJECT)->fetch('name');
+ if(isset($this->lang->execution->featureBar['task'][$type]))
{
- $browseType = $this->lang->project->featureBar['task'][$type];
+ $browseType = $this->lang->execution->featureBar['task'][$type];
}
else
{
- $browseType = isset($this->lang->project->statusSelects[$type]) ? $this->lang->project->statusSelects[$type] : '';
+ $browseType = isset($this->lang->execution->statusSelects[$type]) ? $this->lang->execution->statusSelects[$type] : '';
}
- $this->view->fileName = $projectName . $this->lang->dash . $browseType . $fileName;
+ $this->view->fileName = $executionName . $this->lang->dash . $browseType . $fileName;
$this->view->allExportFields = $allExportFields;
$this->view->customExport = true;
$this->view->orderBy = $orderBy;
$this->view->type = $type;
- $this->view->projectID = $projectID;
+ $this->view->executionID = $executionID;
$this->display();
}
diff --git a/module/task/js/batchcreate.js b/module/task/js/batchcreate.js
index f4e2085893..dd2ff4963f 100755
--- a/module/task/js/batchcreate.js
+++ b/module/task/js/batchcreate.js
@@ -7,9 +7,9 @@ $(function()
});
/* Get select of stories.*/
-function setStories(moduleID, projectID, num)
+function setStories(moduleID, executionID, num)
{
- link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&branch=0&moduleID=' + moduleID + '&storyID=0&num=' + num + '&type=short');
+ link = createLink('story', 'ajaxGetExecutionStories', 'executionID=' + executionID + '&productID=0&branch=0&moduleID=' + moduleID + '&storyID=0&num=' + num + '&type=short');
$.get(link, function(stories)
{
var storyID = $('#story' + num).val();
diff --git a/module/task/js/create.js b/module/task/js/create.js
index ace4bc76bb..84453be652 100644
--- a/module/task/js/create.js
+++ b/module/task/js/create.js
@@ -1,27 +1,27 @@
/**
* Load module, stories and members.
*
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return void
*/
-function loadAll(projectID)
+function loadAll(executionID)
{
- loadModuleMenu(projectID);
- loadProjectStories(projectID);
- loadProjectMembers(projectID);
+ loadModuleMenu(executionID);
+ loadExecutionStories(executionID);
+ loadExecutionMembers(executionID);
}
/**
- * Load team members of the project.
+ * Load team members of the execution.
*
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return void
*/
-function loadProjectMembers(projectID)
+function loadExecutionMembers(executionID)
{
- $.get(createLink('project', 'ajaxGetMembers', 'projectID=' + projectID + '&assignedTo=' + $('#assignedTo').val()), function(data)
+ $.get(createLink('execution', 'ajaxGetMembers', 'executionID=' + executionID + '&assignedTo=' + $('#assignedTo').val()), function(data)
{
$('#assignedTo_chosen').remove();
$('#assignedTo').next('.picker').remove();
@@ -39,15 +39,15 @@ function loadProjectMembers(projectID)
}
/**
- * Load stories of the project.
+ * Load stories of the execution.
*
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return void
*/
-function loadProjectStories(projectID)
+function loadExecutionStories(executionID)
{
- $.get(createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&branch=0&moduleID=0&storyID=' + $('#story').val()), function(data)
+ $.get(createLink('story', 'ajaxGetExecutionStories', 'executionID=' + executionID + '&productID=0&branch=0&moduleID=0&storyID=' + $('#story').val()), function(data)
{
$('#story_chosen').remove();
$('#story').next('.picker').remove();
@@ -57,15 +57,15 @@ function loadProjectStories(projectID)
}
/**
- * Load module of the project.
+ * Load module of the execution.
*
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return void
*/
-function loadModuleMenu(projectID)
+function loadModuleMenu(executionID)
{
- var link = createLink('tree', 'ajaxGetOptionMenu', 'rootID=' + projectID + '&viewtype=task');
+ var link = createLink('tree', 'ajaxGetOptionMenu', 'rootID=' + executionID + '&viewtype=task');
$('#moduleIdBox').load(link, function(){$('#module').chosen();});
}
@@ -195,14 +195,14 @@ function setAfter()
/**
* Load stories.
*
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return void
*/
-function loadStories(projectID)
+function loadStories(executionID)
{
moduleID = $('#module').val();
- setStories(moduleID, projectID);
+ setStories(moduleID, executionID);
}
/**
@@ -213,15 +213,15 @@ function loadStories(projectID)
*/
function loadModuleRelated()
{
- moduleID = $('#module').val();
- projectID = $('#project').val();
- setStories(moduleID, projectID);
+ moduleID = $('#module').val();
+ executionID = $('#execution').val();
+ setStories(moduleID, executionID);
}
/* Get select of stories.*/
-function setStories(moduleID, projectID)
+function setStories(moduleID, executionID)
{
- link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&branch=0&moduleID=' + moduleID);
+ link = createLink('story', 'ajaxGetExecutionStories', 'executionID=' + executionID + '&productID=0&branch=0&moduleID=' + moduleID);
$.get(link, function(stories)
{
var storyID = $('#story').val();
@@ -428,9 +428,9 @@ $(document).ready(function()
{
var moduleID = $('#moduleIdBox #module').val();
var extra = $(this).prop('checked') ? 'allModule' : '';
- $('#moduleIdBox').load(createLink('tree', 'ajaxGetOptionMenu', "rootID=" + projectID + '&viewType=task&branch=0&rootModuleID=0&returnType=html&fieldID=&needManage=0&extra=' + extra), function()
+ $('#moduleIdBox').load(createLink('tree', 'ajaxGetOptionMenu', "rootID=" + executionID + '&viewType=task&branch=0&rootModuleID=0&returnType=html&fieldID=&needManage=0&extra=' + extra), function()
{
- $('#moduleIdBox #module').val(moduleID).attr('onchange', "setStories(this.value, " + projectID + ")").chosen();
+ $('#moduleIdBox #module').val(moduleID).attr('onchange', "setStories(this.value, " + executionID + ")").chosen();
});
});
});
diff --git a/module/task/js/edit.js b/module/task/js/edit.js
index 9f1f3677c5..db37cd3ac0 100644
--- a/module/task/js/edit.js
+++ b/module/task/js/edit.js
@@ -1,86 +1,86 @@
-$(function()
+$(function()
{
$('.record-estimate-toggle').modalTrigger({width:900, type:'iframe', afterHide: function(){parent.location.href=parent.location.href;}});
})
/**
- * Load module, stories and members.
- *
- * @param int $projectID
+ * Load module, stories and members.
+ *
+ * @param int $executionID
* @access public
* @return void
*/
-function loadAll(projectID)
+function loadAll(executionID)
{
- if(!changeProjectConfirmed)
+ if(!changeExecutionConfirmed)
{
- firstChoice = confirm(confirmChangeProject);
- changeProjectConfirmed = true; // Only notice the user one time.
+ firstChoice = confirm(confirmChangeExecution);
+ changeExecutionConfirmed = true; // Only notice the user one time.
}
- if(changeProjectConfirmed && firstChoice)
+ if(changeExecutionConfirmed && firstChoice)
{
- loadModuleMenu(projectID);
- loadProjectStories(projectID);
- loadProjectMembers(projectID);
+ loadModuleMenu(executionID);
+ loadExecutionStories(executionID);
+ loadExecutionMembers(executionID);
}
else
{
- $('#project').val(oldProjectID);
- $("#project").trigger("chosen:updated");
+ $('#execution').val(oldExecutionID);
+ $("#execution").trigger("chosen:updated");
}
}
/**
- * Load module of the project.
- *
- * @param int $projectID
+ * Load module of the execution.
+ *
+ * @param int $executionID
* @access public
* @return void
*/
-function loadModuleMenu(projectID)
+function loadModuleMenu(executionID)
{
- var link = createLink('tree', 'ajaxGetOptionMenu', 'rootID=' + projectID + '&viewtype=task');
+ var link = createLink('tree', 'ajaxGetOptionMenu', 'rootID=' + executionID + '&viewtype=task');
$('#moduleIdBox').load(link, function(){$('#module').chosen();});
}
/**
- * Load stories of the project.
- *
- * @param int $projectID
+ * Load stories of the execution.
+ *
+ * @param int $executionID
* @access public
* @return void
*/
-function loadProjectStories(projectID, moduleID)
+function loadExecutionStories(executionID, moduleID)
{
if(typeof(moduleID) == 'undefined') moduleID = 0;
- var link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=0&branch=0&moduleID=' + moduleID + '&storyID=' + oldStoryID);
+ var link = createLink('story', 'ajaxGetExecutionStories', 'executionID=' + executionID + '&productID=0&branch=0&moduleID=' + moduleID + '&storyID=' + oldStoryID);
$('#storyIdBox').load(link, function(){$('#story').chosen();});
}
/**
- * Load team members of the project.
- *
- * @param int $projectID
+ * Load team members of the execution.
+ *
+ * @param int $executionID
* @access public
* @return void
*/
-function loadProjectMembers(projectID)
+function loadExecutionMembers(executionID)
{
- var link = createLink('project', 'ajaxGetMembers', 'projectID=' + projectID + '&assignedTo=' + oldAssignedTo);
+ var link = createLink('execution', 'ajaxGetMembers', 'executionID=' + executionID + '&assignedTo=' + oldAssignedTo);
$('#assignedToIdBox').load(link, function(){$('#assignedToIdBox').find('select').chosen()});
}
/**
* Load module related
- *
+ *
* @access public
* @return void
*/
function loadModuleRelated()
{
- moduleID = $('#module').val();
- projectID = $('#project').val();
- loadProjectStories(projectID, moduleID)
+ moduleID = $('#module').val();
+ executionID = $('#execution').val();
+ loadExecutionStories(executionID, moduleID)
}
/* empty function. */
@@ -148,7 +148,7 @@ $(document).ready(function()
{
var moduleID = $('#moduleIdBox #module').val();
var extra = $(this).prop('checked') ? 'allModule' : '';
- $('#moduleIdBox').load(createLink('tree', 'ajaxGetOptionMenu', "rootID=" + projectID + '&viewType=task&branch=0&rootModuleID=0&returnType=html&fieldID=&needManage=0&extra=' + extra), function()
+ $('#moduleIdBox').load(createLink('tree', 'ajaxGetOptionMenu', "rootID=" + executionID + '&viewType=task&branch=0&rootModuleID=0&returnType=html&fieldID=&needManage=0&extra=' + extra), function()
{
$('#moduleIdBox #module').val(moduleID).attr('onchange', "loadModuleRelated()").chosen();
});
diff --git a/module/task/js/report.js b/module/task/js/report.js
index 80fc14da27..db319175bf 100644
--- a/module/task/js/report.js
+++ b/module/task/js/report.js
@@ -14,6 +14,6 @@ $(function()
function changeChartType(type)
{
- $('form').attr('action', createLink('task', 'report', 'projectID=' + projectID + '&browseType=' + browseType + '&chartType=' + type));
+ $('form').attr('action', createLink('task', 'report', 'executionID=' + executionID + '&browseType=' + browseType + '&chartType=' + type));
$('form').find('#submit').click();
}
diff --git a/module/task/lang/de.php b/module/task/lang/de.php
index 4a711897c1..5a1b4ac230 100644
--- a/module/task/lang/de.php
+++ b/module/task/lang/de.php
@@ -180,26 +180,26 @@ $lang->task->legendEffort = 'Aufwand';
$lang->task->legendLife = 'Aufgabenentwicklung';
$lang->task->legendDesc = 'Aufgabenbeschreibung';
-$lang->task->confirmDelete = "Möchten Sie diese Aufgabe löschen?";
-$lang->task->confirmDeleteEstimate = "Möchten Sie das löschen?";
-$lang->task->copyStoryTitle = "Story kopieren";
-$lang->task->afterSubmit = "Nach der Erstellung,";
-$lang->task->successSaved = "Erstellt!";
-$lang->task->delayWarning = " Verzögerung %s Tage ";
-$lang->task->remindBug = "Diese Aufgabe wurde aus einem Bus erzeugt. Möchten Sie den Bug aktualisieren:%s?";
-$lang->task->confirmChangeProject = "Wenn Sie {$lang->executionCommon} ändern, das verwendete Modul, Story and Assignor will be changed. Do you want to do it?";
-$lang->task->confirmFinish = '"Reststunden " sind 0. Möchten Sue den Status auf Erledigt setzen?';
-$lang->task->confirmRecord = '"Reststunden " sind 0. Möchten Sie den Task auf Erledigt setzen?';
-$lang->task->confirmTransfer = '"Reststunden " sind 0. Möchten Sie den Task transferieren?';
-$lang->task->noticeTaskStart = '"Cost Hour" and "Left Hour" cannot be 0 at the same time.';
-$lang->task->noticeLinkStory = "Es wurde keine Story verknüpft. Sie können %s für dieses Projekt, anschließend %s.";
-$lang->task->noticeSaveRecord = 'Ihre Stunden wurden nicht gespeichrt. Bitte erst speichern.';
-$lang->task->commentActions = '%s. %s, kommentiert von %s.';
-$lang->task->deniedNotice = 'Nur %s kann die Aufgabe %s.';
-$lang->task->noTask = 'Keine Aufagben. ';
-$lang->task->createDenied = 'Aufgben erstellen it in diesem Projekt gesperrt';
-$lang->task->cannotDeleteParent = 'Cannot delete parent task';
-$lang->task->addChildTask = 'Because the task has already consumed consumption, to ensure data consistency, we will help you create a subtask with the same name to record the consumption.';
+$lang->task->confirmDelete = "Möchten Sie diese Aufgabe löschen?";
+$lang->task->confirmDeleteEstimate = "Möchten Sie das löschen?";
+$lang->task->copyStoryTitle = "Story kopieren";
+$lang->task->afterSubmit = "Nach der Erstellung,";
+$lang->task->successSaved = "Erstellt!";
+$lang->task->delayWarning = " Verzögerung %s Tage ";
+$lang->task->remindBug = "Diese Aufgabe wurde aus einem Bus erzeugt. Möchten Sie den Bug aktualisieren:%s?";
+$lang->task->confirmChangeExecution = "Wenn Sie {$lang->executionCommon} ändern, das verwendete Modul, Story and Assignor will be changed. Do you want to do it?";
+$lang->task->confirmFinish = '"Reststunden " sind 0. Möchten Sue den Status auf Erledigt setzen?';
+$lang->task->confirmRecord = '"Reststunden " sind 0. Möchten Sie den Task auf Erledigt setzen?';
+$lang->task->confirmTransfer = '"Reststunden " sind 0. Möchten Sie den Task transferieren?';
+$lang->task->noticeTaskStart = '"Cost Hour" and "Left Hour" cannot be 0 at the same time.';
+$lang->task->noticeLinkStory = "Es wurde keine Story verknüpft. Sie können %s für dieses Projekt, anschließend %s.";
+$lang->task->noticeSaveRecord = 'Ihre Stunden wurden nicht gespeichrt. Bitte erst speichern.';
+$lang->task->commentActions = '%s. %s, kommentiert von %s.';
+$lang->task->deniedNotice = 'Nur %s kann die Aufgabe %s.';
+$lang->task->noTask = 'Keine Aufagben. ';
+$lang->task->createDenied = 'Aufgben erstellen it in diesem Projekt gesperrt';
+$lang->task->cannotDeleteParent = 'Cannot delete parent task';
+$lang->task->addChildTask = 'Because the task has already consumed consumption, to ensure data consistency, we will help you create a subtask with the same name to record the consumption.';
$lang->task->error = new stdclass();
$lang->task->error->totalNumber = '"Total Cost" must be numbers.';
@@ -229,7 +229,7 @@ $lang->task->report->select = 'Gruppieren nach';
$lang->task->report->create = 'Erstellen';
$lang->task->report->value = 'Task Anzahl';
-$lang->task->report->charts['tasksPerProject'] = '' . $lang->executionCommon;
+$lang->task->report->charts['tasksPerExecution'] = '' . $lang->executionCommon;
$lang->task->report->charts['tasksPerModule'] = 'Modul';
$lang->task->report->charts['tasksPerAssignedTo'] = 'Zustängikeit';
$lang->task->report->charts['tasksPerType'] = 'Kategorie';
@@ -249,7 +249,7 @@ $lang->task->report->options->type = 'pie';
$lang->task->report->options->width = 500;
$lang->task->report->options->height = 140;
-$lang->task->report->tasksPerProject = new stdclass();
+$lang->task->report->tasksPerExecution = new stdclass();
$lang->task->report->tasksPerModule = new stdclass();
$lang->task->report->tasksPerAssignedTo = new stdclass();
$lang->task->report->tasksPerType = new stdclass();
@@ -263,7 +263,7 @@ $lang->task->report->tasksPerFinishedBy = new stdclass();
$lang->task->report->tasksPerClosedReason = new stdclass();
$lang->task->report->finishedTasksPerDay = new stdclass();
-$lang->task->report->tasksPerProject->item = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->item = $lang->executionCommon;
$lang->task->report->tasksPerModule->item = 'Modul';
$lang->task->report->tasksPerAssignedTo->item = 'Konto';
$lang->task->report->tasksPerType->item = 'Typ';
@@ -277,7 +277,7 @@ $lang->task->report->tasksPerFinishedBy->item = 'Benutzer';
$lang->task->report->tasksPerClosedReason->item = 'Grund';
$lang->task->report->finishedTasksPerDay->item = 'Datum';
-$lang->task->report->tasksPerProject->graph = new stdclass();
+$lang->task->report->tasksPerExecution->graph = new stdclass();
$lang->task->report->tasksPerModule->graph = new stdclass();
$lang->task->report->tasksPerAssignedTo->graph = new stdclass();
$lang->task->report->tasksPerType->graph = new stdclass();
@@ -291,7 +291,7 @@ $lang->task->report->tasksPerFinishedBy->graph = new stdclass();
$lang->task->report->tasksPerClosedReason->graph = new stdclass();
$lang->task->report->finishedTasksPerDay->graph = new stdclass();
-$lang->task->report->tasksPerProject->graph->xAxisName = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->graph->xAxisName = $lang->executionCommon;
$lang->task->report->tasksPerModule->graph->xAxisName = 'Modul';
$lang->task->report->tasksPerAssignedTo->graph->xAxisName = 'Benutzer';
$lang->task->report->tasksPerType->graph->xAxisName = 'Typ';
diff --git a/module/task/lang/en.php b/module/task/lang/en.php
index 179ca28f18..35878f839d 100644
--- a/module/task/lang/en.php
+++ b/module/task/lang/en.php
@@ -180,26 +180,26 @@ $lang->task->legendEffort = 'Effort';
$lang->task->legendLife = 'Task Life';
$lang->task->legendDesc = 'Task Description';
-$lang->task->confirmDelete = "Do you want to delete this task?";
-$lang->task->confirmDeleteEstimate = "Do you want to delete it?";
-$lang->task->copyStoryTitle = "Copy Story";
-$lang->task->afterSubmit = "Next ";
-$lang->task->successSaved = "Created!";
-$lang->task->delayWarning = " Delay %s days ";
-$lang->task->remindBug = "This task is converted from a bug. Do you want to update the Bug:%s?";
-$lang->task->confirmChangeProject = "If you change {$lang->executionCommon}, Module, Story and AssignedTo will also be changed. Do you want to change it?";
-$lang->task->confirmFinish = '"Left Hour" is 0. Do you want to change the status to "Finished"?';
-$lang->task->confirmRecord = '"Left Hour" is 0. Do you want to set the task as "Finished"?';
-$lang->task->confirmTransfer = '"Left Hour" is 0,Do you want to transfer task?';
-$lang->task->noticeTaskStart = '"Cost Hour" and "Left Hour" cannot be 0 at the same time.';
-$lang->task->noticeLinkStory = "No story has been linked. You can %s for this project, then %s.";
-$lang->task->noticeSaveRecord = 'Your Hour is not saved. Please save it first.';
-$lang->task->commentActions = '%s. %s, commented by %s.';
-$lang->task->deniedNotice = 'Only the %s can %s the task.';
-$lang->task->noTask = 'No tasks yet. ';
-$lang->task->createDenied = 'Create Task is denied in this project';
-$lang->task->cannotDeleteParent = 'Cannot delete parent task';
-$lang->task->addChildTask = 'Because the task has already consumed consumption, to ensure data consistency, we will help you create a subtask with the same name to record the consumption.';
+$lang->task->confirmDelete = "Do you want to delete this task?";
+$lang->task->confirmDeleteEstimate = "Do you want to delete it?";
+$lang->task->copyStoryTitle = "Copy Story";
+$lang->task->afterSubmit = "Next ";
+$lang->task->successSaved = "Created!";
+$lang->task->delayWarning = " Delay %s days ";
+$lang->task->remindBug = "This task is converted from a bug. Do you want to update the Bug:%s?";
+$lang->task->confirmChangeExecution = "If you change {$lang->executionCommon}, Module, Story and AssignedTo will also be changed. Do you want to change it?";
+$lang->task->confirmFinish = '"Left Hour" is 0. Do you want to change the status to "Finished"?';
+$lang->task->confirmRecord = '"Left Hour" is 0. Do you want to set the task as "Finished"?';
+$lang->task->confirmTransfer = '"Left Hour" is 0,Do you want to transfer task?';
+$lang->task->noticeTaskStart = '"Cost Hour" and "Left Hour" cannot be 0 at the same time.';
+$lang->task->noticeLinkStory = "No story has been linked. You can %s for this project, then %s.";
+$lang->task->noticeSaveRecord = 'Your Hour is not saved. Please save it first.';
+$lang->task->commentActions = '%s. %s, commented by %s.';
+$lang->task->deniedNotice = 'Only the %s can %s the task.';
+$lang->task->noTask = 'No tasks yet. ';
+$lang->task->createDenied = 'Create Task is denied in this project';
+$lang->task->cannotDeleteParent = 'Cannot delete parent task';
+$lang->task->addChildTask = 'Because the task has already consumed consumption, to ensure data consistency, we will help you create a subtask with the same name to record the consumption.';
$lang->task->error = new stdclass();
$lang->task->error->totalNumber = '"Total Cost" must be numbers.';
@@ -229,7 +229,7 @@ $lang->task->report->select = 'Select Report Type';
$lang->task->report->create = 'Create Report';
$lang->task->report->value = 'Tasks';
-$lang->task->report->charts['tasksPerProject'] = 'Group by ' . $lang->executionCommon . 'Task';
+$lang->task->report->charts['tasksPerExecution'] = 'Group by ' . $lang->executionCommon . 'Task';
$lang->task->report->charts['tasksPerModule'] = 'Group by Module Task';
$lang->task->report->charts['tasksPerAssignedTo'] = 'Group by AssignedTo';
$lang->task->report->charts['tasksPerType'] = 'Group by Task Type';
@@ -249,7 +249,7 @@ $lang->task->report->options->type = 'pie';
$lang->task->report->options->width = 500;
$lang->task->report->options->height = 140;
-$lang->task->report->tasksPerProject = new stdclass();
+$lang->task->report->tasksPerExecution = new stdclass();
$lang->task->report->tasksPerModule = new stdclass();
$lang->task->report->tasksPerAssignedTo = new stdclass();
$lang->task->report->tasksPerType = new stdclass();
@@ -263,7 +263,7 @@ $lang->task->report->tasksPerFinishedBy = new stdclass();
$lang->task->report->tasksPerClosedReason = new stdclass();
$lang->task->report->finishedTasksPerDay = new stdclass();
-$lang->task->report->tasksPerProject->item = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->item = $lang->executionCommon;
$lang->task->report->tasksPerModule->item = 'Module';
$lang->task->report->tasksPerAssignedTo->item = 'AssignedTo';
$lang->task->report->tasksPerType->item = 'Type';
@@ -277,7 +277,7 @@ $lang->task->report->tasksPerFinishedBy->item = 'FinishedBy';
$lang->task->report->tasksPerClosedReason->item = 'Reason';
$lang->task->report->finishedTasksPerDay->item = 'Date';
-$lang->task->report->tasksPerProject->graph = new stdclass();
+$lang->task->report->tasksPerExecution->graph = new stdclass();
$lang->task->report->tasksPerModule->graph = new stdclass();
$lang->task->report->tasksPerAssignedTo->graph = new stdclass();
$lang->task->report->tasksPerType->graph = new stdclass();
@@ -291,7 +291,7 @@ $lang->task->report->tasksPerFinishedBy->graph = new stdclass();
$lang->task->report->tasksPerClosedReason->graph = new stdclass();
$lang->task->report->finishedTasksPerDay->graph = new stdclass();
-$lang->task->report->tasksPerProject->graph->xAxisName = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->graph->xAxisName = $lang->executionCommon;
$lang->task->report->tasksPerModule->graph->xAxisName = 'Module';
$lang->task->report->tasksPerAssignedTo->graph->xAxisName = 'User';
$lang->task->report->tasksPerType->graph->xAxisName = 'Type';
diff --git a/module/task/lang/fr.php b/module/task/lang/fr.php
index 84ce19f25a..4ca4271758 100644
--- a/module/task/lang/fr.php
+++ b/module/task/lang/fr.php
@@ -180,26 +180,26 @@ $lang->task->legendEffort = 'Effort';
$lang->task->legendLife = 'Vie de la Tâche';
$lang->task->legendDesc = 'Description Tâche';
-$lang->task->confirmDelete = "Voulez-vous réellement supprimer cette tâche ?";
-$lang->task->confirmDeleteEstimate = "Voulez-vous la supprimer ?";
-$lang->task->copyStoryTitle = 'StoryModel';
-$lang->task->afterSubmit = "Suiv. ";
-$lang->task->successSaved = "Créée !";
-$lang->task->delayWarning = " Retard %s jours ";
-$lang->task->remindBug = "Cette tâche a été convertie depuis un bug. Voulez-vous mettre à jour le Bug : %s ?";
-$lang->task->confirmChangeProject = "Si vous changez {$lang->executionCommon}, Module, Story et AssignedTo seront également changés. Voulez-vous le faire ?";
-$lang->task->confirmFinish = '"Heures Restantes" à 0. Voulez-vous passer le statut à "Terminée" ?';
-$lang->task->confirmRecord = '"Heures Restantes" à 0. Voulez-vous passer le statut de la tâche à "Finie" ?';
-$lang->task->confirmTransfer = '"Heures Restantes" à 0. Voulez-vous transférer la tâche ?';
-$lang->task->noticeTaskStart = '"Cost Hour" and "Left Hour" cannot be 0 at the same time.';
-$lang->task->noticeLinkStory = "Aucune Story n'est associée. Vous pouvez %s pour ce projet, alors %s.";
-$lang->task->noticeSaveRecord = "Votre temps n'a pas été sauvé. Enregistrez-le d'abord.";
-$lang->task->commentActions = '%s. %s, commenté par %s.';
-$lang->task->deniedNotice = 'Seulement le %s peut %s la tâche.';
-$lang->task->noTask = "Pas de tâche pour l'instant. ";
-$lang->task->createDenied = 'La création de tâches est interdite dans ce projet';
-$lang->task->cannotDeleteParent = 'Impossible de supprimer la tâche parente';
-$lang->task->addChildTask = 'Because the task has already consumed consumption, to ensure data consistency, we will help you create a subtask with the same name to record the consumption.';
+$lang->task->confirmDelete = "Voulez-vous réellement supprimer cette tâche ?";
+$lang->task->confirmDeleteEstimate = "Voulez-vous la supprimer ?";
+$lang->task->copyStoryTitle = 'StoryModel';
+$lang->task->afterSubmit = "Suiv. ";
+$lang->task->successSaved = "Créée !";
+$lang->task->delayWarning = " Retard %s jours ";
+$lang->task->remindBug = "Cette tâche a été convertie depuis un bug. Voulez-vous mettre à jour le Bug : %s ?";
+$lang->task->confirmChangeExecution = "Si vous changez {$lang->executionCommon}, Module, Story et AssignedTo seront également changés. Voulez-vous le faire ?";
+$lang->task->confirmFinish = '"Heures Restantes" à 0. Voulez-vous passer le statut à "Terminée" ?';
+$lang->task->confirmRecord = '"Heures Restantes" à 0. Voulez-vous passer le statut de la tâche à "Finie" ?';
+$lang->task->confirmTransfer = '"Heures Restantes" à 0. Voulez-vous transférer la tâche ?';
+$lang->task->noticeTaskStart = '"Cost Hour" and "Left Hour" cannot be 0 at the same time.';
+$lang->task->noticeLinkStory = "Aucune Story n'est associée. Vous pouvez %s pour ce projet, alors %s.";
+$lang->task->noticeSaveRecord = "Votre temps n'a pas été sauvé. Enregistrez-le d'abord.";
+$lang->task->commentActions = '%s. %s, commenté par %s.';
+$lang->task->deniedNotice = 'Seulement le %s peut %s la tâche.';
+$lang->task->noTask = "Pas de tâche pour l'instant. ";
+$lang->task->createDenied = 'La création de tâches est interdite dans ce projet';
+$lang->task->cannotDeleteParent = 'Impossible de supprimer la tâche parente';
+$lang->task->addChildTask = 'Because the task has already consumed consumption, to ensure data consistency, we will help you create a subtask with the same name to record the consumption.';
$lang->task->error = new stdclass();
$lang->task->error->totalNumber = '"Coût Total" doit être numérique.';
@@ -229,7 +229,7 @@ $lang->task->report->select = 'Choix Type de Rapport';
$lang->task->report->create = 'Créer Rapport';
$lang->task->report->value = 'Tâches';
-$lang->task->report->charts['tasksPerProject'] = 'Regroupé par ' . $lang->executionCommon . ' Tâche';
+$lang->task->report->charts['tasksPerExecution'] = 'Regroupé par ' . $lang->executionCommon . ' Tâche';
$lang->task->report->charts['tasksPerModule'] = 'Regroupé par Module';
$lang->task->report->charts['tasksPerAssignedTo'] = 'Regroupé par Assignation';
$lang->task->report->charts['tasksPerType'] = 'Regroupé par Type de Tâche';
@@ -249,7 +249,7 @@ $lang->task->report->options->type = 'pie';
$lang->task->report->options->width = 500;
$lang->task->report->options->height = 140;
-$lang->task->report->tasksPerProject = new stdclass();
+$lang->task->report->tasksPerExecution = new stdclass();
$lang->task->report->tasksPerModule = new stdclass();
$lang->task->report->tasksPerAssignedTo = new stdclass();
$lang->task->report->tasksPerType = new stdclass();
@@ -263,7 +263,7 @@ $lang->task->report->tasksPerFinishedBy = new stdclass();
$lang->task->report->tasksPerClosedReason = new stdclass();
$lang->task->report->finishedTasksPerDay = new stdclass();
-$lang->task->report->tasksPerProject->item = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->item = $lang->executionCommon;
$lang->task->report->tasksPerModule->item = 'Module';
$lang->task->report->tasksPerAssignedTo->item = 'Détenteur';
$lang->task->report->tasksPerType->item = 'Type';
@@ -277,7 +277,7 @@ $lang->task->report->tasksPerFinishedBy->item = 'Finisseur';
$lang->task->report->tasksPerClosedReason->item = 'Raison';
$lang->task->report->finishedTasksPerDay->item = 'Date';
-$lang->task->report->tasksPerProject->graph = new stdclass();
+$lang->task->report->tasksPerExecution->graph = new stdclass();
$lang->task->report->tasksPerModule->graph = new stdclass();
$lang->task->report->tasksPerAssignedTo->graph = new stdclass();
$lang->task->report->tasksPerType->graph = new stdclass();
@@ -291,7 +291,7 @@ $lang->task->report->tasksPerFinishedBy->graph = new stdclass();
$lang->task->report->tasksPerClosedReason->graph = new stdclass();
$lang->task->report->finishedTasksPerDay->graph = new stdclass();
-$lang->task->report->tasksPerProject->graph->xAxisName = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->graph->xAxisName = $lang->executionCommon;
$lang->task->report->tasksPerModule->graph->xAxisName = 'Module';
$lang->task->report->tasksPerAssignedTo->graph->xAxisName = 'Utilisateur';
$lang->task->report->tasksPerType->graph->xAxisName = 'Type';
diff --git a/module/task/lang/vi.php b/module/task/lang/vi.php
index 133f5ef84e..2b4e9402e3 100644
--- a/module/task/lang/vi.php
+++ b/module/task/lang/vi.php
@@ -180,26 +180,26 @@ $lang->task->legendEffort = 'Chấm công';
$lang->task->legendLife = 'Toàn bộ nhiệm vụ';
$lang->task->legendDesc = 'Mô tả nhiệm vụ';
-$lang->task->confirmDelete = "Bạn có muốn xóa nhiệm vụ này?";
-$lang->task->confirmDeleteEstimate = "Bạn có muốn xóa nó?";
-$lang->task->copyStoryTitle = "Copy";
-$lang->task->afterSubmit = "Tiếp ";
-$lang->task->successSaved = "Đã tạo!";
-$lang->task->delayWarning = " Tạm ngưng %s ngày ";
-$lang->task->remindBug = "Nhiệm vụ này được chuyển từ một bug. Bạn có muốn cập nhật Bug: %s?";
-$lang->task->confirmChangeProject = "Nếu bạn thay đổi {$lang->executionCommon}, Module, Câu chuyện và Người được bàn giao sẽ cũng bị thay đổi. Bạn có muốn thay đổi nó?";
-$lang->task->confirmFinish = '"Còn lại" bằng 0. Bạn có muốn thay đổi tình trạng thành "Kết thúc"?';
-$lang->task->confirmRecord = '"Còn lại" bằng 0. Bạn có muốn thiết lập nhiệm vụ thành "Kết thúc"?';
-$lang->task->confirmTransfer = '"Còn lại" bằng 0,Bạn có muốn chuyển thành nhiệm vụ?';
-$lang->task->noticeTaskStart = '"Cost Hour" and "Left Hour" cannot be 0 at the same time.';
-$lang->task->noticeLinkStory = "Không có câu chuyện liên kết. Bạn có thể %s cho dự án này, sau đó %s.";
-$lang->task->noticeSaveRecord = 'Số giờ làm của bạn chưa được lưu. Vui lòng lưu nó trước.';
-$lang->task->commentActions = '%s. %s, nhận xét bởi %s.';
-$lang->task->deniedNotice = 'Chỉ có %s này có thể %s nhiệm vụ này.';
-$lang->task->noTask = 'Không có nhiệm vụ nào';
-$lang->task->createDenied = 'Tạo nhiệm vụ bị từ chối trong dự án này';
-$lang->task->cannotDeleteParent = 'Không thể xóa nhiệm vụ cha';
-$lang->task->addChildTask = 'Because the task has already consumed consumption, to ensure data consistency, we will help you create a subtask with the same name to record the consumption.';
+$lang->task->confirmDelete = "Bạn có muốn xóa nhiệm vụ này?";
+$lang->task->confirmDeleteEstimate = "Bạn có muốn xóa nó?";
+$lang->task->copyStoryTitle = "Copy";
+$lang->task->afterSubmit = "Tiếp ";
+$lang->task->successSaved = "Đã tạo!";
+$lang->task->delayWarning = " Tạm ngưng %s ngày ";
+$lang->task->remindBug = "Nhiệm vụ này được chuyển từ một bug. Bạn có muốn cập nhật Bug: %s?";
+$lang->task->confirmChangeExecution = "Nếu bạn thay đổi {$lang->executionCommon}, Module, Câu chuyện và Người được bàn giao sẽ cũng bị thay đổi. Bạn có muốn thay đổi nó?";
+$lang->task->confirmFinish = '"Còn lại" bằng 0. Bạn có muốn thay đổi tình trạng thành "Kết thúc"?';
+$lang->task->confirmRecord = '"Còn lại" bằng 0. Bạn có muốn thiết lập nhiệm vụ thành "Kết thúc"?';
+$lang->task->confirmTransfer = '"Còn lại" bằng 0,Bạn có muốn chuyển thành nhiệm vụ?';
+$lang->task->noticeTaskStart = '"Cost Hour" and "Left Hour" cannot be 0 at the same time.';
+$lang->task->noticeLinkStory = "Không có câu chuyện liên kết. Bạn có thể %s cho dự án này, sau đó %s.";
+$lang->task->noticeSaveRecord = 'Số giờ làm của bạn chưa được lưu. Vui lòng lưu nó trước.';
+$lang->task->commentActions = '%s. %s, nhận xét bởi %s.';
+$lang->task->deniedNotice = 'Chỉ có %s này có thể %s nhiệm vụ này.';
+$lang->task->noTask = 'Không có nhiệm vụ nào';
+$lang->task->createDenied = 'Tạo nhiệm vụ bị từ chối trong dự án này';
+$lang->task->cannotDeleteParent = 'Không thể xóa nhiệm vụ cha';
+$lang->task->addChildTask = 'Because the task has already consumed consumption, to ensure data consistency, we will help you create a subtask with the same name to record the consumption.';
$lang->task->error = new stdclass();
$lang->task->error->totalNumber = '"Total Cost" must be numbers.';
@@ -229,7 +229,7 @@ $lang->task->report->select = 'Chọn loại báo cáo';
$lang->task->report->create = 'Tạo báo cáo';
$lang->task->report->value = 'Nhiệm vụ';
-$lang->task->report->charts['tasksPerProject'] = 'Nhiệm vụ ' . $lang->executionCommon;
+$lang->task->report->charts['tasksPerExecution'] = 'Nhiệm vụ ' . $lang->executionCommon;
$lang->task->report->charts['tasksPerModule'] = 'Module nhiệm vụ';
$lang->task->report->charts['tasksPerAssignedTo'] = 'giao cho';
$lang->task->report->charts['tasksPerType'] = 'Loại nhiệm vụ';
@@ -249,7 +249,7 @@ $lang->task->report->options->type = 'pie';
$lang->task->report->options->width = 500;
$lang->task->report->options->height = 140;
-$lang->task->report->tasksPerProject = new stdclass();
+$lang->task->report->tasksPerExecution = new stdclass();
$lang->task->report->tasksPerModule = new stdclass();
$lang->task->report->tasksPerAssignedTo = new stdclass();
$lang->task->report->tasksPerType = new stdclass();
@@ -263,7 +263,7 @@ $lang->task->report->tasksPerFinishedBy = new stdclass();
$lang->task->report->tasksPerClosedReason = new stdclass();
$lang->task->report->finishedTasksPerDay = new stdclass();
-$lang->task->report->tasksPerProject->item = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->item = $lang->executionCommon;
$lang->task->report->tasksPerModule->item = 'Module';
$lang->task->report->tasksPerAssignedTo->item = 'Giao cho';
$lang->task->report->tasksPerType->item = 'Loại';
@@ -277,7 +277,7 @@ $lang->task->report->tasksPerFinishedBy->item = 'Người kết thúc';
$lang->task->report->tasksPerClosedReason->item = 'Lý do';
$lang->task->report->finishedTasksPerDay->item = 'Ngày';
-$lang->task->report->tasksPerProject->graph = new stdclass();
+$lang->task->report->tasksPerExecution->graph = new stdclass();
$lang->task->report->tasksPerModule->graph = new stdclass();
$lang->task->report->tasksPerAssignedTo->graph = new stdclass();
$lang->task->report->tasksPerType->graph = new stdclass();
@@ -291,7 +291,7 @@ $lang->task->report->tasksPerFinishedBy->graph = new stdclass();
$lang->task->report->tasksPerClosedReason->graph = new stdclass();
$lang->task->report->finishedTasksPerDay->graph = new stdclass();
-$lang->task->report->tasksPerProject->graph->xAxisName = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->graph->xAxisName = $lang->executionCommon;
$lang->task->report->tasksPerModule->graph->xAxisName = 'Module';
$lang->task->report->tasksPerAssignedTo->graph->xAxisName = 'Người dùng';
$lang->task->report->tasksPerType->graph->xAxisName = 'Loại';
diff --git a/module/task/lang/zh-cn.php b/module/task/lang/zh-cn.php
index 80ada9c675..ceecb0892e 100644
--- a/module/task/lang/zh-cn.php
+++ b/module/task/lang/zh-cn.php
@@ -180,26 +180,26 @@ $lang->task->legendEffort = '工时信息';
$lang->task->legendLife = '任务的一生';
$lang->task->legendDesc = '任务描述';
-$lang->task->confirmDelete = "您确定要删除这个任务吗?";
-$lang->task->confirmDeleteEstimate = "您确定要删除这个记录吗?";
-$lang->task->copyStoryTitle = "同{$lang->SRCommon}";
-$lang->task->afterSubmit = "添加之后";
-$lang->task->successSaved = "成功添加,";
-$lang->task->delayWarning = " 延期%s天 ";
-$lang->task->remindBug = "该任务为Bug转化得到,是否更新Bug:%s ?";
-$lang->task->confirmChangeProject = "修改{$lang->executionCommon}会导致相应的所属模块、相关{$lang->SRCommon}和指派人发生变化,确定吗?";
-$lang->task->confirmFinish = '"预计剩余"为0,确认将任务状态改为"已完成"吗?';
-$lang->task->confirmRecord = '"剩余"为0,任务将标记为"已完成",您确定吗?';
-$lang->task->confirmTransfer = '"当前剩余"为0,任务将被转交,您确定吗?';
-$lang->task->noticeTaskStart = '"总计消耗"和"预计剩余"不能同时为0';
-$lang->task->noticeLinkStory = "没有可关联的相关{$lang->SRCommon},您可以为当前项目%s,然后%s";
-$lang->task->noticeSaveRecord = '您有尚未保存的工时记录,请先将其保存。';
-$lang->task->commentActions = '%s. %s, 由 %s 添加备注。';
-$lang->task->deniedNotice = '当前任务只有%s才可以%s。';
-$lang->task->noTask = '暂时没有任务。';
-$lang->task->createDenied = '你不能在该项目添加任务';
-$lang->task->cannotDeleteParent = '不能删除父任务。';
-$lang->task->addChildTask = '因该任务已经产生消耗,为保证数据一致性,我们会帮您创建一条同名子任务记录该消耗。';
+$lang->task->confirmDelete = "您确定要删除这个任务吗?";
+$lang->task->confirmDeleteEstimate = "您确定要删除这个记录吗?";
+$lang->task->copyStoryTitle = "同{$lang->SRCommon}";
+$lang->task->afterSubmit = "添加之后";
+$lang->task->successSaved = "成功添加,";
+$lang->task->delayWarning = " 延期%s天 ";
+$lang->task->remindBug = "该任务为Bug转化得到,是否更新Bug:%s ?";
+$lang->task->confirmChangeExecution = "修改{$lang->executionCommon}会导致相应的所属模块、相关{$lang->SRCommon}和指派人发生变化,确定吗?";
+$lang->task->confirmFinish = '"预计剩余"为0,确认将任务状态改为"已完成"吗?';
+$lang->task->confirmRecord = '"剩余"为0,任务将标记为"已完成",您确定吗?';
+$lang->task->confirmTransfer = '"当前剩余"为0,任务将被转交,您确定吗?';
+$lang->task->noticeTaskStart = '"总计消耗"和"预计剩余"不能同时为0';
+$lang->task->noticeLinkStory = "没有可关联的相关{$lang->SRCommon},您可以为当前项目%s,然后%s";
+$lang->task->noticeSaveRecord = '您有尚未保存的工时记录,请先将其保存。';
+$lang->task->commentActions = '%s. %s, 由 %s 添加备注。';
+$lang->task->deniedNotice = '当前任务只有%s才可以%s。';
+$lang->task->noTask = '暂时没有任务。';
+$lang->task->createDenied = '你不能在该项目添加任务';
+$lang->task->cannotDeleteParent = '不能删除父任务。';
+$lang->task->addChildTask = '因该任务已经产生消耗,为保证数据一致性,我们会帮您创建一条同名子任务记录该消耗。';
$lang->task->error = new stdclass();
$lang->task->error->totalNumber = '"总计消耗"必须为数字';
@@ -229,7 +229,7 @@ $lang->task->report->select = '请选择报表类型';
$lang->task->report->create = '生成报表';
$lang->task->report->value = '任务数';
-$lang->task->report->charts['tasksPerProject'] = '按' . $lang->executionCommon . '任务数统计';
+$lang->task->report->charts['tasksPerExecution'] = '按' . $lang->executionCommon . '任务数统计';
$lang->task->report->charts['tasksPerModule'] = '按模块任务数统计';
$lang->task->report->charts['tasksPerAssignedTo'] = '按指派给统计';
$lang->task->report->charts['tasksPerType'] = '按任务类型统计';
@@ -249,7 +249,7 @@ $lang->task->report->options->type = 'pie';
$lang->task->report->options->width = 500;
$lang->task->report->options->height = 140;
-$lang->task->report->tasksPerProject = new stdclass();
+$lang->task->report->tasksPerExecution = new stdclass();
$lang->task->report->tasksPerModule = new stdclass();
$lang->task->report->tasksPerAssignedTo = new stdclass();
$lang->task->report->tasksPerType = new stdclass();
@@ -263,7 +263,7 @@ $lang->task->report->tasksPerFinishedBy = new stdclass();
$lang->task->report->tasksPerClosedReason = new stdclass();
$lang->task->report->finishedTasksPerDay = new stdclass();
-$lang->task->report->tasksPerProject->item = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->item = $lang->executionCommon;
$lang->task->report->tasksPerModule->item = '模块';
$lang->task->report->tasksPerAssignedTo->item = '用户';
$lang->task->report->tasksPerType->item = '类型';
@@ -277,7 +277,7 @@ $lang->task->report->tasksPerFinishedBy->item = '用户';
$lang->task->report->tasksPerClosedReason->item = '原因';
$lang->task->report->finishedTasksPerDay->item = '日期';
-$lang->task->report->tasksPerProject->graph = new stdclass();
+$lang->task->report->tasksPerExecution->graph = new stdclass();
$lang->task->report->tasksPerModule->graph = new stdclass();
$lang->task->report->tasksPerAssignedTo->graph = new stdclass();
$lang->task->report->tasksPerType->graph = new stdclass();
@@ -291,7 +291,7 @@ $lang->task->report->tasksPerFinishedBy->graph = new stdclass();
$lang->task->report->tasksPerClosedReason->graph = new stdclass();
$lang->task->report->finishedTasksPerDay->graph = new stdclass();
-$lang->task->report->tasksPerProject->graph->xAxisName = $lang->executionCommon;
+$lang->task->report->tasksPerExecution->graph->xAxisName = $lang->executionCommon;
$lang->task->report->tasksPerModule->graph->xAxisName = '模块';
$lang->task->report->tasksPerAssignedTo->graph->xAxisName = '用户';
$lang->task->report->tasksPerType->graph->xAxisName = '类型';
diff --git a/module/task/model.php b/module/task/model.php
index ebc3a09387..457a218458 100644
--- a/module/task/model.php
+++ b/module/task/model.php
@@ -16,11 +16,11 @@ class taskModel extends model
/**
* Create a task.
*
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return void
*/
- public function create($projectID)
+ public function create($executionID)
{
if($this->post->estimate < 0)
{
@@ -29,7 +29,7 @@ class taskModel extends model
}
$this->getExtraRequiredFields();
- $projectID = (int)$projectID;
+ $executionID = (int)$executionID;
$taskIdList = array();
$taskFiles = array();
$requiredFields = "," . $this->config->task->create->requiredFields . ",";
@@ -44,10 +44,10 @@ class taskModel extends model
$this->loadModel('file');
$task = fixer::input('post')
- ->setDefault('project', $projectID)
+ ->setDefault('execution', $executionID)
->setDefault('estimate,left,story', 0)
->setDefault('status', 'wait')
- ->setIF($this->config->systemMode == 'new', 'PRJ', $this->session->PRJ)
+ ->setIF($this->config->systemMode == 'new', 'project', $this->session->project)
->setIF($this->post->estimate != false, 'left', $this->post->estimate)
->setIF($this->post->story != false, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story))
->setDefault('estStarted', '0000-00-00')
@@ -62,7 +62,7 @@ class taskModel extends model
->setIF(is_numeric($this->post->left), 'left', (float)$this->post->left)
->setDefault('openedBy', $this->app->user->account)
->setDefault('openedDate', helper::now())
- ->cleanINT('project,story,module')
+ ->cleanINT('execution,story,module')
->stripTags($this->config->task->editor->create['id'], $this->config->allowedTags)
->join('mailto', ',')
->remove('after,files,labels,assignedTo,uid,storyEstimate,storyDesc,storyPri,team,teamEstimate,teamMember,multiple,teams,contactListMenu,selectTestStory,testStory,testPri,testEstStarted,testDeadline,testAssignedTo,testEstimate')
@@ -82,7 +82,7 @@ class taskModel extends model
/* Check duplicate task. */
if($task->type != 'affair')
{
- $result = $this->loadModel('common')->removeDuplicate('task', $task, "project={$projectID} and story=" . (int)$task->story);
+ $result = $this->loadModel('common')->removeDuplicate('task', $task, "execution={$executionID} and story=" . (int)$task->story);
if($result['stop'])
{
$taskIdList[$assignedTo] = array('status' => 'exists', 'id' => $result['duplicate']);
@@ -93,8 +93,8 @@ class taskModel extends model
$task = $this->file->processImgURL($task, $this->config->task->editor->create['id'], $this->post->uid);
/* Fix Bug #1525 */
- $projectType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($projectID)->fetch('type');
- if($projectType == 'ops')
+ $executionType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($executionID)->fetch('type');
+ if($executionType == 'ops')
{
$requiredFields = str_replace(",story,", ',', "$requiredFields");
$task->story = 0;
@@ -231,11 +231,11 @@ class taskModel extends model
/**
* Create a batch task.
*
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return void
*/
- public function batchCreate($projectID)
+ public function batchCreate($executionID)
{
$this->loadModel('action');
$now = helper::now();
@@ -271,7 +271,7 @@ class taskModel extends model
}
}
- $result = $this->loadModel('common')->removeDuplicate('task', $tasks, "project=$projectID and story " . helper::dbIN($storyIDs));
+ $result = $this->loadModel('common')->removeDuplicate('task', $tasks, "execution=$executionID and story " . helper::dbIN($storyIDs));
$tasks = $result['data'];
$story = 0;
@@ -303,8 +303,8 @@ class taskModel extends model
$data[$i]->pri = $tasks->pri[$i];
$data[$i]->estimate = $tasks->estimate[$i];
$data[$i]->left = $tasks->estimate[$i];
- $data[$i]->PRJ = $this->config->systemMode == 'new' ? $this->session->PRJ : 0;
- $data[$i]->project = $projectID;
+ $data[$i]->project = $this->config->systemMode == 'new' ? $this->session->project : 0;
+ $data[$i]->execution = $executionID;
$data[$i]->estStarted = empty($tasks->estStarted[$i]) ? '0000-00-00' : $tasks->estStarted[$i];
$data[$i]->deadline = empty($tasks->deadline[$i]) ? '0000-00-00' : $tasks->deadline[$i];
$data[$i]->status = 'wait';
@@ -329,9 +329,9 @@ class taskModel extends model
}
/* Fix bug #1525*/
- $projectType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($projectID)->fetch('type');
+ $executionType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($executionID)->fetch('type');
$requiredFields = ',' . $this->config->task->create->requiredFields . ',';
- if($projectType == 'ops') $requiredFields = str_replace(',story,', ',', $requiredFields);
+ if($executionType == 'ops') $requiredFields = str_replace(',story,', ',', $requiredFields);
$requiredFields = trim($requiredFields, ',');
/* check data. */
@@ -844,17 +844,17 @@ class taskModel extends model
->setDefault('lastEditedBy', $this->app->user->account)
->add('lastEditedDate', $now)
->stripTags($this->config->task->editor->edit['id'], $this->config->allowedTags)
- ->cleanINT('project,story,module')
+ ->cleanINT('execution,story,module')
->join('mailto', ',')
->remove('comment,files,labels,uid,multiple,team,teamEstimate,teamConsumed,teamLeft,contactListMenu')
->get();
if($task->consumed < $oldTask->consumed) die(js::error($this->lang->task->error->consumedSmall));
- /* Fix bug#1388, Check children task projectID and moduleID. */
- if(isset($task->project) and $task->project != $oldTask->project)
+ /* Fix bug#1388, Check children task executionID and moduleID. */
+ if(isset($task->execution) and $task->execution != $oldTask->execution)
{
- $this->dao->update(TABLE_TASK)->set('project')->eq($task->project)->set('module')->eq($task->module)->where('parent')->eq($taskID)->exec();
+ $this->dao->update(TABLE_TASK)->set('execution')->eq($task->execution)->set('module')->eq($task->module)->where('parent')->eq($taskID)->exec();
}
$task = $this->loadModel('file')->processImgURL($task, $this->config->task->editor->edit['id'], $this->post->uid);
@@ -894,7 +894,7 @@ class taskModel extends model
foreach($teams as $member) $this->dao->insert(TABLE_TEAM)->data($member)->autoCheck()->exec();
/* Assign the left hours to zero who will be skipped. */
- $skipMembers = $this->loadModel('project')->getTeamSkip($oldTask->team, $oldTask->assignedTo, $task->assignedTo);
+ $skipMembers = $this->loadModel('execution')->getTeamSkip($oldTask->team, $oldTask->assignedTo, $task->assignedTo);
foreach($skipMembers as $account => $team) $this->dao->update(TABLE_TEAM)->set('left')->eq(0)->where('root')->eq($taskID)->andWhere('type')->eq('task')->andWhere('account')->eq($account)->exec();
$task = $this->computeHours4Multiple($oldTask, $task, array(), $autoStatus = false);
@@ -905,9 +905,9 @@ class taskModel extends model
}
}
- $projectType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($task->project)->fetch('type');
+ $executionType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($task->execution)->fetch('type');
$requiredFields = "," . $this->config->task->edit->requiredFields . ",";
- if($projectType == 'ops')
+ if($executionType == 'ops')
{
$requiredFields = str_replace(",story,", ',', "$requiredFields");
$task->story = 0;
@@ -1306,7 +1306,7 @@ class taskModel extends model
if(!empty($oldTask->team))
{
- $skipMembers = $this->loadModel('project')->getTeamSkip($oldTask->team, $oldTask->assignedTo, $task->assignedTo);
+ $skipMembers = $this->loadModel('execution')->getTeamSkip($oldTask->team, $oldTask->assignedTo, $task->assignedTo);
foreach($skipMembers as $account => $team) $this->dao->update(TABLE_TEAM)->set('left')->eq(0)->where('root')->eq($taskID)->andWhere('type')->eq('task')->andWhere('account')->eq($account)->exec();
$this->dao->update(TABLE_TEAM)->set('left')->eq($task->left)
@@ -1647,7 +1647,7 @@ class taskModel extends model
->andWhere('type')->eq('task')
->andWhere('account')->eq($oldTask->assignedTo)->exec();
- $skipMembers = $this->loadModel('project')->getTeamSkip($oldTask->team, $oldTask->assignedTo, $task->assignedTo);
+ $skipMembers = $this->loadModel('execution')->getTeamSkip($oldTask->team, $oldTask->assignedTo, $task->assignedTo);
foreach($skipMembers as $account => $team) $this->dao->update(TABLE_TEAM)->set('left')->eq(0)->where('root')->eq($taskID)->andWhere('type')->eq('task')->andWhere('account')->eq($account)->exec();
$task = $this->computeHours4Multiple($oldTask, $task);
@@ -1888,9 +1888,9 @@ class taskModel extends model
}
/**
- * Get tasks list of a project.
+ * Get tasks list of a execution.
*
- * @param int $projectID
+ * @param int $executionID
* @param array|string $moduleIdList
* @param string $status
* @param string $orderBy
@@ -1898,13 +1898,13 @@ class taskModel extends model
* @access public
* @return array
*/
- public function getTasksByModule($projectID = 0, $moduleIdList = 0, $orderBy = 'id_desc', $pager = null)
+ public function getTasksByModule($executionID = 0, $moduleIdList = 0, $orderBy = 'id_desc', $pager = null)
{
$tasks = $this->dao->select('t1.*, t2.id AS storyID, t2.title AS storyTitle, t2.product, t2.branch, t2.version AS latestStoryVersion, t2.status AS storyStatus, t3.realname AS assignedToRealName')
->from(TABLE_TASK)->alias('t1')
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
->leftJoin(TABLE_USER)->alias('t3')->on('t1.assignedTo = t3.account')
- ->where('t1.project')->eq((int)$projectID)
+ ->where('t1.execution')->eq((int)$executionID)
->beginIF($moduleIdList)->andWhere('t1.module')->in($moduleIdList)->fi()
->andWhere('t1.deleted')->eq(0)
->orderBy($orderBy)
@@ -1918,9 +1918,9 @@ class taskModel extends model
}
/**
- * Get tasks of a project.
+ * Get tasks of a execution.
*
- * @param int $projectID
+ * @param int $executionID
* @param int $productID
* @param string $type
* @param string $modules
@@ -1930,7 +1930,7 @@ class taskModel extends model
* @access public
* @return array|void
*/
- public function getProjectTasks($projectID, $productID = 0, $type = 'all', $modules = 0, $orderBy = 'status_asc, id_desc', $pager = null)
+ public function getExecutionTasks($executionID, $productID = 0, $type = 'all', $modules = 0, $orderBy = 'status_asc, id_desc', $pager = null)
{
if(is_string($type)) $type = strtolower($type);
$tasks = $this->dao->select('DISTINCT t1.*, t2.id AS storyID, t2.title AS storyTitle, t2.product, t2.branch, t2.version AS latestStoryVersion, t2.status AS storyStatus, t3.realname AS assignedToRealName')
@@ -1939,7 +1939,7 @@ class taskModel extends model
->leftJoin(TABLE_USER)->alias('t3')->on('t1.assignedTo = t3.account')
->leftJoin(TABLE_TEAM)->alias('t4')->on('t4.root = t1.id')
->leftJoin(TABLE_MODULE)->alias('t5')->on('t1.module = t5.id')
- ->where('t1.project')->eq((int)$projectID)
+ ->where('t1.execution')->eq((int)$executionID)
->beginIF($type == 'myinvolved')
->andWhere("((t4.`account` = '{$this->app->user->account}' AND t4.`type` = 'task') OR t1.`assignedTo` = '{$this->app->user->account}' OR t1.`finishedby` = '{$this->app->user->account}')")
->fi()
@@ -1999,21 +1999,21 @@ class taskModel extends model
}
/**
- * Get project tasks pairs.
+ * Get execution tasks pairs.
*
- * @param int $projectID
+ * @param int $executionID
* @param string $status
* @param string $orderBy
* @access public
* @return array
*/
- public function getProjectTaskPairs($projectID, $status = 'all', $orderBy = 'finishedBy, id_desc')
+ public function getExecutionTaskPairs($executionID, $status = 'all', $orderBy = 'finishedBy, id_desc')
{
$tasks = array('' => '');
$stmt = $this->dao->select('t1.id,t1.name,t1.parent,t2.realname AS finishedByRealName')
->from(TABLE_TASK)->alias('t1')
->leftJoin(TABLE_USER)->alias('t2')->on('t1.finishedBy = t2.account')
- ->where('t1.project')->eq((int)$projectID)
+ ->where('t1.execution')->eq((int)$executionID)
->andWhere('t1.deleted')->eq(0)
->beginIF($status != 'all')->andWhere('t1.status')->in($status)->fi()
->orderBy($orderBy)
@@ -2023,20 +2023,20 @@ class taskModel extends model
}
/**
- * Get project parent tasks pairs.
+ * Get execution parent tasks pairs.
*
- * @param int $projectID
+ * @param int $executionID
* @param string $append
* @access public
* @return array
*/
- public function getParentTaskPairs($projectID, $append = '')
+ public function getParentTaskPairs($executionID, $append = '')
{
$tasks = $this->dao->select('id, name')->from(TABLE_TASK)
->where('deleted')->eq(0)
->andWhere('parent')->le(0)
->andWhere('status')->notin('cancel,closed')
- ->andWhere('project')->eq($projectID)
+ ->andWhere('execution')->eq($executionID)
->beginIF($append)->orWhere('id')->in($append)->fi()
->fetchPairs();
@@ -2056,20 +2056,20 @@ class taskModel extends model
* @param int $limit
* @param object $pager
* @param string $orderBy
- * @param int $programID
+ * @param int $projectID
* @access public
* @return array
*/
- public function getUserTasks($account, $type = 'assignedTo', $limit = 0, $pager = null, $orderBy = "id_desc", $programID = 0)
+ public function getUserTasks($account, $type = 'assignedTo', $limit = 0, $pager = null, $orderBy = "id_desc", $projectID = 0)
{
if(!$this->loadModel('common')->checkField(TABLE_TASK, $type)) return array();
- $tasks = $this->dao->select('t1.*, t2.id as projectID, t2.name as projectName, t3.id as storyID, t3.title as storyTitle, t3.status AS storyStatus, t3.version AS latestStoryVersion')
+ $tasks = $this->dao->select('t1.*, t2.id as executionID, t2.name as executionName, t3.id as storyID, t3.title as storyTitle, t3.status AS storyStatus, t3.version AS latestStoryVersion')
->from(TABLE_TASK)->alias('t1')
- ->leftjoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
+ ->leftjoin(TABLE_PROJECT)->alias('t2')->on('t1.execution = t2.id')
->leftjoin(TABLE_STORY)->alias('t3')->on('t1.story = t3.id')
->where('t1.deleted')->eq(0)
->beginIF($type != 'closedBy' and $this->app->moduleName == 'block')->andWhere('t1.status')->ne('closed')->fi()
- ->beginIF($programID)->andWhere('t1.PRJ')->eq($programID)->fi()
+ ->beginIF($projectID)->andWhere('t1.project')->eq($projectID)->fi()
->beginIF($type == 'finishedBy')
->andWhere('t1.finishedby', 1)->eq($account)
->orWhere('t1.finishedList')->like("%,{$account},%")
@@ -2098,25 +2098,25 @@ class taskModel extends model
*
* @param string $account
* @param string $status
- * @param array $skipProjectIDList
+ * @param array $skipExecutionIDList
* @access public
* @return array
*/
- public function getUserTaskPairs($account, $status = 'all', $skipProjectIDList = array())
+ public function getUserTaskPairs($account, $status = 'all', $skipExecutionIDList = array())
{
- $stmt = $this->dao->select('t1.id, t1.name, t2.name as project')
+ $stmt = $this->dao->select('t1.id, t1.name, t2.name as execution')
->from(TABLE_TASK)->alias('t1')
- ->leftjoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
+ ->leftjoin(TABLE_PROJECT)->alias('t2')->on('t1.execution = t2.id')
->where('t1.assignedTo')->eq($account)
->andWhere('t1.deleted')->eq(0)
->beginIF($status != 'all')->andWhere('t1.status')->in($status)->fi()
- ->beginIF(!empty($skipProjectIDList))->andWhere('t1.project')->notin($skipProjectIDList)->fi()
+ ->beginIF(!empty($skipExecutionIDList))->andWhere('t1.execution')->notin($skipExecutionIDList)->fi()
->query();
$tasks = array();
while($task = $stmt->fetch())
{
- $tasks[$task->id] = $task->project . ' / ' . $task->name;
+ $tasks[$task->id] = $task->execution . ' / ' . $task->name;
}
return $tasks;
}
@@ -2125,17 +2125,17 @@ class taskModel extends model
* Get task pairs of a story.
*
* @param int $storyID
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return array
*/
- public function getStoryTasks($storyID, $projectID = 0)
+ public function getStoryTasks($storyID, $executionID = 0)
{
$tasks = $this->dao->select('id, parent, name, assignedTo, pri, status, estimate, consumed, closedReason, `left`')
->from(TABLE_TASK)
->where('story')->eq((int)$storyID)
->andWhere('deleted')->eq(0)
- ->beginIF($projectID)->andWhere('project')->eq($projectID)->fi()
+ ->beginIF($executionID)->andWhere('execution')->eq($executionID)->fi()
->fetchAll('id');
$parents = array();
@@ -2205,17 +2205,17 @@ class taskModel extends model
* Get counts of some stories' tasks.
*
* @param array $stories
- * @param int $projectID
+ * @param int $executionID
* @access public
* @return int
*/
- public function getStoryTaskCounts($stories, $projectID = 0)
+ public function getStoryTaskCounts($stories, $executionID = 0)
{
$taskCounts = $this->dao->select('story, COUNT(*) AS tasks')
->from(TABLE_TASK)
->where('story')->in($stories)
->andWhere('deleted')->eq(0)
- ->beginIF($projectID)->andWhere('project')->eq($projectID)->fi()
+ ->beginIF($executionID)->andWhere('execution')->eq($executionID)->fi()
->groupBy('story')
->fetchPairs();
foreach($stories as $storyID)
@@ -2520,24 +2520,24 @@ class taskModel extends model
}
/**
- * Get report data of tasks per project
+ * Get report data of tasks per execution
*
* @access public
* @return array
*/
- public function getDataOfTasksPerProject()
+ public function getDataOfTasksPerExecution()
{
- $tasks = $this->dao->select('id,project')->from(TABLE_TASK)->alias('t1')
+ $tasks = $this->dao->select('id,execution')->from(TABLE_TASK)->alias('t1')
->where($this->reportCondition())
->fetchAll('id');
if(!$tasks) return array();
- $datas = $this->processData4Report($tasks, '', 'project');
+ $datas = $this->processData4Report($tasks, '', 'execution');
- $projects = $this->loadModel('project')->getExecutionPairs($this->session->PRJ, 'all', 'all');
- foreach($datas as $projectID => $data)
+ $executions = $this->loadModel('execution')->getPairs($this->session->project, 'all', 'all');
+ foreach($datas as $executionID => $data)
{
- $data->name = isset($projects[$projectID]) ? $projects[$projectID] : $this->lang->report->undefined;
+ $data->name = isset($executions[$executionID]) ? $executions[$executionID] : $this->lang->report->undefined;
}
return $datas;
}
@@ -2931,7 +2931,7 @@ class taskModel extends model
if($id == 'estimate' || $id == 'consumed' || $id == 'left')
{
$value = round($task->$id, 1);
- $title = " title='{$value} {$this->lang->project->workHour}'";
+ $title = " title='{$value} {$this->lang->execution->workHour}'";
}
echo "
";
@@ -2970,13 +2970,13 @@ class taskModel extends model
$storyChanged ? print("{$this->lang->story->changed}") : print(" " . $this->processStatus('task', $task) . "");
break;
case 'estimate':
- echo round($task->estimate, 1) . ' ' . $this->lang->project->workHourUnit;
+ echo round($task->estimate, 1) . ' ' . $this->lang->execution->workHourUnit;
break;
case 'consumed':
- echo round($task->consumed, 1) . ' ' . $this->lang->project->workHourUnit;
+ echo round($task->consumed, 1) . ' ' . $this->lang->execution->workHourUnit;
break;
case 'left':
- echo round($task->left, 1) . ' ' . $this->lang->project->workHourUnit;
+ echo round($task->left, 1) . ' ' . $this->lang->execution->workHourUnit;
break;
case 'progress':
echo round($task->progress, 2) . '%';
@@ -3065,7 +3065,7 @@ class taskModel extends model
common::printIcon('task', 'recordEstimate', "taskID=$task->id", $task, 'list', 'time', '', 'iframe', true);
common::printIcon('task', 'edit', "taskID=$task->id", $task, 'list');
- common::printIcon('task', 'batchCreate', "project=$task->project&storyID=$task->story&moduleID=$task->module&taskID=$task->id&ifame=0", $task, 'list', 'split', '', '', '', '', $this->lang->task->children);
+ common::printIcon('task', 'batchCreate', "execution=$task->execution&storyID=$task->story&moduleID=$task->module&taskID=$task->id&ifame=0", $task, 'list', 'split', '', '', '', '', $this->lang->task->children);
break;
}
echo ' | ';
@@ -3094,7 +3094,7 @@ class taskModel extends model
$btnClass = $task->assignedTo == 'closed' ? ' disabled' : '';
$btnClass = "iframe btn btn-icon-left btn-sm {$btnClass}";
- $assignToLink = helper::createLink('task', 'assignTo', "projectID=$task->project&taskID=$task->id", '', true);
+ $assignToLink = helper::createLink('task', 'assignTo', "executionID=$task->execution&taskID=$task->id", '', true);
$assignToHtml = html::a($assignToLink, " {$assignedToText}", '', "class='$btnClass'");
echo !common::hasPriv('task', 'assignTo', $task) ? "{$assignedToText}" : $assignToHtml;
@@ -3158,8 +3158,8 @@ class taskModel extends model
*/
public function getSubject($task)
{
- $projectName = $this->loadModel('project')->getById($task->project)->name;
- return 'TASK#' . $task->id . ' ' . $task->name . ' - ' . $projectName;
+ $executionName = $this->loadModel('execution')->getById($task->execution)->name;
+ return 'TASK#' . $task->id . ' ' . $task->name . ' - ' . $executionName;
}
/**
@@ -3242,7 +3242,7 @@ class taskModel extends model
*/
public function getMemberPairs($task)
{
- $users = $this->loadModel('project')->getTeamMemberPairs($task->project, 'nodeleted');
+ $users = $this->loadModel('execution')->getTeamMemberPairs($task->execution, 'nodeleted');
$members = array('');
foreach($task->team as $member)
{
@@ -3259,9 +3259,9 @@ class taskModel extends model
*/
public function getExtraRequiredFields()
{
- /* Add required fields to waterfall project. */
- $project = $this->loadModel('program')->getPRJByID($this->session->PRJ);
- if(!empty($project) && $project->model == 'waterfall')
+ /* Add required fields to waterfall execution. */
+ $execution = $this->loadModel('project')->getByID($this->session->project);
+ if(!empty($execution) && $execution->model == 'waterfall')
{
$this->config->task->create->requiredFields .= ',estStarted,deadline';
$this->config->task->edit->requiredFields .= ',estStarted,deadline';
diff --git a/module/task/view/batchcreate.html.php b/module/task/view/batchcreate.html.php
index 58ea8a6218..0c0b3a886c 100644
--- a/module/task/view/batchcreate.html.php
+++ b/module/task/view/batchcreate.html.php
@@ -18,13 +18,13 @@
- lang->colon;?>
+ lang->colon;?>
task->batchCreateChildren;?>
task->batchCreate;?>
- type != 'ops'):?>
+ type != 'ops'):?>
@@ -61,7 +61,7 @@
| idAB;?> |
'>task->module?> |
- type != 'ops'):?>
+ type != 'ops'):?>
'>task->story;?> |
task->name;?> |
@@ -84,7 +84,7 @@
$lang->task->typeList['ditto'] = $lang->task->ditto;
$members['ditto'] = $lang->task->ditto;
$modules['ditto'] = $lang->task->ditto;
- if($project->type == 'ops') $colspan = $colspan - 1;
+ if($execution->type == 'ops') $colspan = $colspan - 1;
?>
task->batchCreate; $i++):?>
|
style='overflow:visible'>
- id, $i)'")?>
+ id, $i)'")?>
|
- type != 'ops'):?>
+ type != 'ops'):?>
style='overflow: visible'>
|