@@ -105,7 +106,7 @@
echo "";
common::printIcon('story', 'edit', "storyID=$story->id", $story);
- common::printIcon('story', 'create', "productID=$story->product&branch=$story->branch&moduleID=$story->module&storyID=$story->id", $story, 'button', 'copy', '', 'iframe showinonlybody', true, "data-width='1050'");
+ common::printIcon('story', 'create', "productID=$story->product&branch=$story->branch&moduleID=$story->module&storyID=$story->id", $story, 'button', 'copy', '', '', true, "data-width='1050'");
common::printIcon('story', 'delete', "storyID=$story->id", $story, 'button', 'trash', 'hiddenwin');
?>
diff --git a/module/task/lang/zh-cn.php b/module/task/lang/zh-cn.php
index 3670c92e33..1fc693465c 100644
--- a/module/task/lang/zh-cn.php
+++ b/module/task/lang/zh-cn.php
@@ -274,3 +274,8 @@ $lang->task->report->tasksPerClosedReason->graph->xAxisName = '关闭原因';
$lang->task->report->finishedTasksPerDay->type = 'bar';
$lang->task->report->finishedTasksPerDay->graph->xAxisName = '日期';
+
+$lang->task->action = new stdclass();
+$lang->task->action->batchcreate = array('main' => '$date, 由 $actor 创建子任务 。');
+$lang->task->action->unlink = array('main' => '$date, 由 $actor 取消关联父任务 。');
+$lang->task->action->linkto = array('main' => '$date, 由 $actor 关联到父任务 。');
diff --git a/module/task/model.php b/module/task/model.php
index 053b01ba93..3e8e9355eb 100644
--- a/module/task/model.php
+++ b/module/task/model.php
@@ -289,6 +289,8 @@ class taskModel extends model
if($task->estimate) $task->estimate = (float)$task->estimate;
}
+ $childTasks = null;
+
foreach($data as $i => $task)
{
$this->dao->insert(TABLE_TASK)->data($task)
@@ -300,6 +302,7 @@ class taskModel extends model
if(dao::isError()) die(js::error(dao::getError()));
$taskID = $this->dao->lastInsertID();
+ $childTasks .= html::a(helper::createLink('task', 'view', 'taskID=' . $taskID), $task->name, '', "title='$task->name' class='text-ellipsis w-p10'") . ',';
if($story) $this->story->setStage($task->story);
$actionID = $this->action->create('task', $taskID, 'Opened', '');
if(!dao::isError()) $this->loadModel('score')->create('task', 'create', $taskID);
@@ -315,6 +318,7 @@ class taskModel extends model
$this->updateParentStatus($taskID);
$this->computeBeginAndEnd($parentID);
$this->dao->update(TABLE_TASK)->set('parent')->eq(-1)->where('id')->eq($parentID)->exec();
+ $this->action->create('task', $parentID, 'batchCreate', $childTasks);
}
return $mails;
}
@@ -673,6 +677,14 @@ class taskModel extends model
$this->dao->update(TABLE_TASK)->set('project')->eq($task->project)->set('module')->eq($task->module)->where('parent')->eq($taskID)->exec();
}
+ if(isset($task->parent) and $task->parent != $oldTask->parent)
+ {
+ $comment = html::a(helper::createLink('task', 'view', 'taskID=' . $taskID), $task->name);
+ $this->loadModel('action')->create('task', $task->parent, 'linkTo', $comment);
+ $this->loadModel('action')->create('task', $oldTask->parent, 'unLink', $comment);
+
+ }
+
$task = $this->loadModel('file')->processImgURL($task, $this->config->task->editor->edit['id'], $this->post->uid);
$teams = array();
diff --git a/module/task/view/view.html.php b/module/task/view/view.html.php
index a733d9d4ce..1064df95d7 100644
--- a/module/task/view/view.html.php
+++ b/module/task/view/view.html.php
@@ -167,7 +167,7 @@
common::printIcon('task', 'edit', "taskID=$task->id", $task, 'button', '', '', 'showinonlybody');
common::printIcon('task', 'create', "productID=0&storyID=0&moduleID=0&taskID=$task->id", $task, 'button', 'copy');
common::printIcon('task', 'delete', "projectID=$task->project&taskID=$task->id", $task, 'button', 'trash', 'hiddenwin');
-
+ if($task->parent <= 0) common::printIcon('task', 'batchCreate', "project=$task->project&storyID=$task->story&moduleID=$task->module&taskID=$task->id&ifame=0", $task, 'list', 'treemap-alt', '', '', '', '', $this->lang->task->children);
if($task->parent > 0) echo html::a(helper::createLink('task', 'view', "taskID=$task->parent"), "", '', "class='btn btn-link' title='{$lang->task->parent}'");
?>