diff --git a/module/task/control.php b/module/task/control.php index 9454770b52..d7728de6e4 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -193,7 +193,7 @@ class task extends control * @access public * @return void */ - public function batchCreate($projectID = 0, $storyID = 0, $iframe = 0, $taskID = 0) + public function batchCreate($projectID = 0, $storyID = 0, $iframe = 0, $taskID = 0, $isChildren = false) { $project = $this->project->getById($projectID); $taskLink = $this->createLink('project', 'browse', "projectID=$projectID&tab=task"); @@ -232,6 +232,7 @@ class task extends control $this->view->modules = $modules; $this->view->parent = $taskID; $this->view->storyID = $storyID; + $this->view->isChildren = $isChildren; $this->view->story = $this->story->getByID($storyID); $this->view->storyTasks = $this->task->getStoryTaskCounts(array_keys($stories), $projectID); $this->view->members = $members; diff --git a/module/task/lang/en.php b/module/task/lang/en.php index 4e066a24ce..efab07a075 100644 --- a/module/task/lang/en.php +++ b/module/task/lang/en.php @@ -9,35 +9,36 @@ * @version $Id: en.php 5040 2013-07-06 06:22:18Z zhujinyonging@gmail.com $ * @link http://www.zentao.net */ -$lang->task->index = "Index"; -$lang->task->create = "Create Task"; -$lang->task->batchCreate = "Batch Create Tasks"; -$lang->task->batchEdit = "Batch Edit"; -$lang->task->batchChangeModule = "Batch Change Module"; -$lang->task->batchClose = "Batch Close"; -$lang->task->batchCancel = "Batch Cancel"; -$lang->task->edit = "Edit"; -$lang->task->delete = "Delete"; -$lang->task->deleted = "Deleted"; -$lang->task->delayed = 'Delayed'; -$lang->task->view = "Overview"; -$lang->task->logEfforts = "Hour"; -$lang->task->record = "Est."; -$lang->task->start = "Start"; -$lang->task->restart = "Continue"; -$lang->task->finish = "Finish"; -$lang->task->pause = "Pause"; -$lang->task->close = "Close"; -$lang->task->cancel = "Cancel"; -$lang->task->activate = "Activate"; -$lang->task->export = "Export Data"; -$lang->task->reportChart = "Report Chart"; -$lang->task->fromBug = 'From Bug'; -$lang->task->case = 'Related Case'; -$lang->task->confirmStoryChange = "Confirm Story Change"; -$lang->task->progress = 'Progress'; -$lang->task->progressTips = 'Cost/(Cost+Left)'; -$lang->task->copy = 'Duplicate a Task'; +$lang->task->index = "Index"; +$lang->task->create = "Create Task"; +$lang->task->batchCreate = "Batch Create Tasks"; +$lang->task->batchEdit = "Batch Edit"; +$lang->task->batchCreateChildren = "Batch Create Children"; +$lang->task->batchChangeModule = "Batch Change Module"; +$lang->task->batchClose = "Batch Close"; +$lang->task->batchCancel = "Batch Cancel"; +$lang->task->edit = "Edit"; +$lang->task->delete = "Delete"; +$lang->task->deleted = "Deleted"; +$lang->task->delayed = 'Delayed'; +$lang->task->view = "Overview"; +$lang->task->logEfforts = "Hour"; +$lang->task->record = "Est."; +$lang->task->start = "Start"; +$lang->task->restart = "Continue"; +$lang->task->finish = "Finish"; +$lang->task->pause = "Pause"; +$lang->task->close = "Close"; +$lang->task->cancel = "Cancel"; +$lang->task->activate = "Activate"; +$lang->task->export = "Export Data"; +$lang->task->reportChart = "Report Chart"; +$lang->task->fromBug = 'From Bug'; +$lang->task->case = 'Related Case'; +$lang->task->confirmStoryChange = "Confirm Story Change"; +$lang->task->progress = 'Progress'; +$lang->task->progressTips = 'Cost/(Cost+Left)'; +$lang->task->copy = 'Duplicate a Task'; $lang->task->common = 'Task'; $lang->task->id = 'ID'; diff --git a/module/task/lang/zh-cn.php b/module/task/lang/zh-cn.php index bc7de853a2..555f7e2f5c 100644 --- a/module/task/lang/zh-cn.php +++ b/module/task/lang/zh-cn.php @@ -9,35 +9,36 @@ * @version $Id: zh-cn.php 5040 2013-07-06 06:22:18Z zhujinyonging@gmail.com $ * @link http://www.zentao.net */ -$lang->task->index = "任务一览"; -$lang->task->create = "建任务"; -$lang->task->batchCreate = "批量建任务"; -$lang->task->batchEdit = "批量编辑"; -$lang->task->batchChangeModule = "批量修改模块"; -$lang->task->batchClose = "批量关闭"; -$lang->task->batchCancel = "批量取消"; -$lang->task->edit = "编辑"; -$lang->task->delete = "删除"; -$lang->task->deleted = "已删除"; -$lang->task->delayed = '延期'; -$lang->task->view = "查看任务"; -$lang->task->logEfforts = "记录工时"; -$lang->task->record = "工时"; -$lang->task->start = "开始"; -$lang->task->restart = "继续"; -$lang->task->finish = "完成"; -$lang->task->pause = "暂停"; -$lang->task->close = "关闭"; -$lang->task->cancel = "取消"; -$lang->task->activate = "激活"; -$lang->task->export = "导出数据"; -$lang->task->reportChart = "报表统计"; -$lang->task->fromBug = '来源Bug'; -$lang->task->case = '相关用例'; -$lang->task->confirmStoryChange = "确认需求变动"; -$lang->task->progress = '进度'; -$lang->task->progressTips = '已消耗/(已消耗+剩余)'; -$lang->task->copy = '复制任务'; +$lang->task->index = "任务一览"; +$lang->task->create = "建任务"; +$lang->task->batchCreate = "批量建任务"; +$lang->task->batchCreateChildren = "批量建子任务"; +$lang->task->batchEdit = "批量编辑"; +$lang->task->batchChangeModule = "批量修改模块"; +$lang->task->batchClose = "批量关闭"; +$lang->task->batchCancel = "批量取消"; +$lang->task->edit = "编辑"; +$lang->task->delete = "删除"; +$lang->task->deleted = "已删除"; +$lang->task->delayed = '延期'; +$lang->task->view = "查看任务"; +$lang->task->logEfforts = "记录工时"; +$lang->task->record = "工时"; +$lang->task->start = "开始"; +$lang->task->restart = "继续"; +$lang->task->finish = "完成"; +$lang->task->pause = "暂停"; +$lang->task->close = "关闭"; +$lang->task->cancel = "取消"; +$lang->task->activate = "激活"; +$lang->task->export = "导出数据"; +$lang->task->reportChart = "报表统计"; +$lang->task->fromBug = '来源Bug'; +$lang->task->case = '相关用例'; +$lang->task->confirmStoryChange = "确认需求变动"; +$lang->task->progress = '进度'; +$lang->task->progressTips = '已消耗/(已消耗+剩余)'; +$lang->task->copy = '复制任务'; $lang->task->common = '任务'; $lang->task->id = '编号'; diff --git a/module/task/model.php b/module/task/model.php index 7a119618e6..b52222e7ed 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -2220,7 +2220,7 @@ class taskModel extends model common::printIcon('task', 'edit', "taskID=$task->id", $task, 'list'); if(empty($task->team) or empty($task->children)) { - common::printIcon('task', 'batchCreate', "project=$task->project&storyID=$task->story&moduleID=$task->module&taskID=$task->id", $task, 'list', 'plus', '', '', '', '', $this->lang->task->children); + common::printIcon('task', 'batchCreate', "project=$task->project&storyID=$task->story&moduleID=$task->module&taskID=$task->id&isChildren=true", $task, 'list', 'plus', '', '', '', '', $this->lang->task->children); } break; } diff --git a/module/task/view/batchcreate.html.php b/module/task/view/batchcreate.html.php index 6e0eceec37..c36983494c 100644 --- a/module/task/view/batchcreate.html.php +++ b/module/task/view/batchcreate.html.php @@ -15,7 +15,7 @@
icons['task']);?> - icons['batchCreate']);?> task->batchCreate;?> + icons['batchCreate']);?> task->batchCreateChildren : $lang->task->batchCreate;?> type != 'ops'):?>story->zeroTask;?>
pasteText, "data-toggle='myModal'", 'btn btn-primary')?> diff --git a/module/testtask/control.php b/module/testtask/control.php index aff804d571..e106b7eb9a 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -117,7 +117,7 @@ class testtask extends control ->fetchPairs('id'); $productID = $productID ? $productID : key($products); - $projects = $this->dao->select('id, name')->from(TABLE_PROJECT)->where('id')->eq($projectID)->andWhere('deleted')->eq(0)->fetchPairs('id'); + $projects = $this->dao->select('id, name')->from(TABLE_PROJECT)->where('id')->eq($projectID)->andWhere('type')->ne('ops')->andWhere('deleted')->eq(0)->fetchPairs('id'); $builds = $this->dao->select('id, name')->from(TABLE_BUILD)->where('id')->eq($build)->andWhere('deleted')->eq(0)->fetchPairs('id'); } @@ -131,14 +131,32 @@ class testtask extends control ->fetchPairs('id'); $productID = $productID ? $productID : key($products); - $projects = $this->dao->select('id, name')->from(TABLE_PROJECT)->where('id')->eq($projectID)->andWhere('deleted')->eq(0)->fetchPairs('id'); + $projects = $this->dao->select('id, name')->from(TABLE_PROJECT)->where('id')->eq($projectID)->andWhere('type')->ne('ops')->andWhere('deleted')->eq(0)->fetchPairs('id'); $builds = $this->dao->select('id, name')->from(TABLE_BUILD)->where('project')->eq($projectID)->andWhere('deleted')->eq(0)->fetchPairs('id'); } /* Create testtask from testtask of test.*/ if($projectID == 0) { - $projects = $this->product->getProjectPairs($productID, $branch = 0, $params = 'nodeleted'); + $projectList = array_keys($this->loadModel('project')->getPairs()); + + $params = 'nodeleted'; + $projects = array(); + $datas = $this->dao->select('t2.id, t2.name, t2.deleted')->from(TABLE_PROJECTPRODUCT) + ->alias('t1')->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id') + ->where('t1.product')->eq((int)$productID) + ->beginIF('0')->andWhere('t1.branch')->in('0')->fi() + ->andWhere('t2.id')->in($projectList) + ->andWhere('t2.type')->ne('ops') + ->orderBy('t1.project desc') + ->fetchAll(); + + foreach($datas as $data) + { + if($params == 'nodeleted' and $data->deleted) continue; + $projects[$data->id] = $data->name; + } + $projects = array('' => '') + $projects; $builds = $this->loadModel('build')->getProductBuildPairs($productID, 0, 'notrunk'); }