diff --git a/module/install/lang/zh-cn.php b/module/install/lang/zh-cn.php index ce0c78b080..3507f9f1b4 100644 --- a/module/install/lang/zh-cn.php +++ b/module/install/lang/zh-cn.php @@ -183,7 +183,7 @@ $lang->install->promotion = "为您推荐易软天创旗下其他产品:" $lang->install->chanzhi = new stdclass(); $lang->install->chanzhi->name = '蝉知门户'; $lang->install->chanzhi->logo = 'images/main/chanzhi.ico'; -$lang->install->chanzhi->url = 'http://www.chanzhi.org'; +$lang->install->chanzhi->url = 'http://www.zsite.com'; $lang->install->chanzhi->desc = <<
  • 专业的企业营销门户系统
  • @@ -209,7 +209,7 @@ EOD; $lang->install->xuanxuan = new stdclass(); $lang->install->xuanxuan->name = '喧喧聊天'; $lang->install->xuanxuan->logo = 'images/main/xuanxuan.ico'; -$lang->install->xuanxuan->url = 'http://www.xuan.im'; +$lang->install->xuanxuan->url = 'http://www.xuanim.com'; $lang->install->xuanxuan->desc = <<
  • 轻:轻量级架构,容易部署
  • diff --git a/module/install/lang/zh-tw.php b/module/install/lang/zh-tw.php index bc15a379fe..6907bd42df 100644 --- a/module/install/lang/zh-tw.php +++ b/module/install/lang/zh-tw.php @@ -183,7 +183,7 @@ $lang->install->promotion = "為您推薦易軟天創旗下其他產品:" $lang->install->chanzhi = new stdclass(); $lang->install->chanzhi->name = '蟬知門戶'; $lang->install->chanzhi->logo = 'images/main/chanzhi.ico'; -$lang->install->chanzhi->url = 'http://www.chanzhi.org'; +$lang->install->chanzhi->url = 'http://www.zsite.com'; $lang->install->chanzhi->desc = <<
  • 專業的企業營銷門戶系統
  • @@ -209,7 +209,7 @@ EOD; $lang->install->xuanxuan = new stdclass(); $lang->install->xuanxuan->name = '喧喧聊天'; $lang->install->xuanxuan->logo = 'images/main/xuanxuan.ico'; -$lang->install->xuanxuan->url = 'http://www.xuan.im'; +$lang->install->xuanxuan->url = 'http://www.xuanim.com'; $lang->install->xuanxuan->desc = <<
  • 輕:輕量級架構,容易部署
  • diff --git a/module/project/model.php b/module/project/model.php index 3b0f2b028b..00b2a5b5b1 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -2955,7 +2955,7 @@ class projectModel extends model $taskItem->estimate = $task->estimate; $taskItem->consumed = $task->consumed; $taskItem->left = $task->left; - $taskItem->openedBy = $users[$task->openedBy]; + $taskItem->openedBy = zget($users, $task->openedBy); $taskItem->assignedTo = zget($users, $task->assignedTo); $taskItem->url = helper::createLink('task', 'view', "task=$task->id"); $taskItem->storyChanged = $story and $story->status == 'active' and $story->version > $story->taskVersion; diff --git a/module/project/view/view.html.php b/module/project/view/view.html.php index daa6b50217..3da59f0ae6 100644 --- a/module/project/view/view.html.php +++ b/module/project/view/view.html.php @@ -231,7 +231,7 @@ - totalConsumed + $project->totalLeft) ? round($project->totalConsumed / ($project->totalConsumed + $project->totalLeft), 3) * 100 : 0;?> + totalConsumed + $project->totalLeft) ? floor($project->totalConsumed / ($project->totalConsumed + $project->totalLeft) * 1000) / 1000 * 100 : 0;?> project->progress;?> percent;?>  
    diff --git a/module/task/control.php b/module/task/control.php index 0a7890d622..8b26d93264 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -251,6 +251,10 @@ class task extends control /* Set menu. */ $this->project->setMenu($this->project->getPairs(), $project->id); + /* When common task are child tasks, query whether common task are consumed. */ + $taskConsumed = 0; + if($taskID) $taskConsumed = $this->dao->select('consumed')->from(TABLE_TASK)->where('id')->eq($taskID)->andWhere('parent')->eq(0)->fetch('consumed'); + if(!empty($_POST)) { $mails = $this->task->batchCreate($projectID); @@ -280,17 +284,18 @@ class task extends control if($taskID) $this->view->parentTitle = $this->dao->select('name')->from(TABLE_TASK)->where('id')->eq($taskID)->fetch('name'); - $this->view->title = $title; - $this->view->position = $position; - $this->view->project = $project; - $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->members = $members; - $this->view->moduleID = $moduleID; + $this->view->title = $title; + $this->view->position = $position; + $this->view->project = $project; + $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->members = $members; + $this->view->moduleID = $moduleID; + $this->view->taskConsumed = $taskConsumed; $this->display(); } diff --git a/module/task/js/batchcreate.js b/module/task/js/batchcreate.js index 795e7fab84..7b4cc049f6 100755 --- a/module/task/js/batchcreate.js +++ b/module/task/js/batchcreate.js @@ -3,6 +3,7 @@ $(function() { removeDitto(); if($('#batchCreateForm table thead tr th.c-name').width() < 200) $('#batchCreateForm table thead tr th.c-name').width(200); + if(taskConsumed > 0) alert(addChildTask); }); /* Get select of stories.*/ diff --git a/module/task/lang/de.php b/module/task/lang/de.php index de2bb80c18..0951ddd38c 100644 --- a/module/task/lang/de.php +++ b/module/task/lang/de.php @@ -197,23 +197,25 @@ $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.'; -$lang->task->error->consumedNumber = '"Verbraucht" muss eine Zahl sein.'; -$lang->task->error->estimateNumber = '"Stunden" müss eine Zahl sein.'; -$lang->task->error->leftNumber = '"Left" must be numbers.'; -$lang->task->error->recordMinus = 'Work hours should not be negative number.'; -$lang->task->error->consumedSmall = '"Genutzt" muss larger than before.'; -$lang->task->error->consumedThisTime = 'Bitte geben Sie die Stunden an'; -$lang->task->error->left = 'Bitte geben Sie die verbleibenden Stunden an"'; -$lang->task->error->work = '"Bemerkung" muss kleiner als %d Zeichen sein.'; -$lang->task->error->skipClose = 'Aufgabe: %s ist nicht “Erledigt” oder “Abgebrochen”. Möchten Sie die Aufgabe jetzt schließen?'; -$lang->task->error->consumed = 'Aufgabe: %s Hour must be more than 0. Ignore changes to this Task.'; -$lang->task->error->assignedTo = 'Mehere Tasks können nicht zugewisen werden, da die Benutzer nicht teil des Teams sind.'; -$lang->task->error->consumedEmpty = '"Current Cost" should not be 0.'; -$lang->task->error->deadlineSmall = '"Deadline" must be greater than "StartDate".'; -$lang->task->error->alreadyStarted = 'You cannot start this task, because it is started.'; +$lang->task->error->totalNumber = '"Total Cost" must be numbers.'; +$lang->task->error->consumedNumber = '"Verbraucht" muss eine Zahl sein.'; +$lang->task->error->estimateNumber = '"Stunden" müss eine Zahl sein.'; +$lang->task->error->leftNumber = '"Left" must be numbers.'; +$lang->task->error->recordMinus = 'Work hours should not be negative number.'; +$lang->task->error->consumedSmall = '"Genutzt" muss larger than before.'; +$lang->task->error->consumedThisTime = 'Bitte geben Sie die Stunden an'; +$lang->task->error->left = 'Bitte geben Sie die verbleibenden Stunden an"'; +$lang->task->error->work = '"Bemerkung" muss kleiner als %d Zeichen sein.'; +$lang->task->error->skipClose = 'Aufgabe: %s ist nicht “Erledigt” oder “Abgebrochen”. Möchten Sie die Aufgabe jetzt schließen?'; +$lang->task->error->consumed = 'Aufgabe: %s Hour must be more than 0. Ignore changes to this Task.'; +$lang->task->error->assignedTo = 'Mehere Tasks können nicht zugewisen werden, da die Benutzer nicht teil des Teams sind.'; +$lang->task->error->consumedEmpty = '"Current Cost" should not be 0.'; +$lang->task->error->deadlineSmall = '"Deadline" must be greater than "StartDate".'; +$lang->task->error->alreadyStarted = 'You cannot start this task, because it is started.'; +$lang->task->error->chooseOtherParent = 'the currently selected parent task has been consumed, please select another parent task.'; /* Report. */ $lang->task->report = new stdclass(); diff --git a/module/task/lang/en.php b/module/task/lang/en.php index 4e4acdba88..4078d1df12 100644 --- a/module/task/lang/en.php +++ b/module/task/lang/en.php @@ -197,23 +197,25 @@ $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.'; -$lang->task->error->consumedNumber = '"Current Cost" must be numbers.'; -$lang->task->error->estimateNumber = '"Estimates" must be numbers.'; -$lang->task->error->leftNumber = '"Left" must be numbers.'; -$lang->task->error->recordMinus = 'Work hours should not be negative number.'; -$lang->task->error->consumedSmall = '"Total Cost" must be > the last number.'; -$lang->task->error->consumedThisTime = 'Please enter "Hours Cost"'; -$lang->task->error->left = 'Please enter "Hours Left"'; -$lang->task->error->work = '"Comment" must be < %d characters.'; -$lang->task->error->skipClose = 'Task: %s is not "Finished” or “Cancelled”. Do you want to close it?'; -$lang->task->error->consumed = 'Task: %s hour must be < 0. Ignore changes to this task.'; -$lang->task->error->assignedTo = 'Multi-user task in the current status cannot be assigned to a member who is not in the task team.'; -$lang->task->error->consumedEmpty = '"Current Cost" should not be 0.'; -$lang->task->error->deadlineSmall = '"Deadline" must be greater than "StartDate".'; -$lang->task->error->alreadyStarted = 'You cannot start this task, because it is started.'; +$lang->task->error->totalNumber = '"Total Cost" must be numbers.'; +$lang->task->error->consumedNumber = '"Current Cost" must be numbers.'; +$lang->task->error->estimateNumber = '"Estimates" must be numbers.'; +$lang->task->error->leftNumber = '"Left" must be numbers.'; +$lang->task->error->recordMinus = 'Work hours should not be negative number.'; +$lang->task->error->consumedSmall = '"Total Cost" must be > the last number.'; +$lang->task->error->consumedThisTime = 'Please enter "Hours Cost"'; +$lang->task->error->left = 'Please enter "Hours Left"'; +$lang->task->error->work = '"Comment" must be < %d characters.'; +$lang->task->error->skipClose = 'Task: %s is not "Finished” or “Cancelled”. Do you want to close it?'; +$lang->task->error->consumed = 'Task: %s hour must be < 0. Ignore changes to this task.'; +$lang->task->error->assignedTo = 'Multi-user task in the current status cannot be assigned to a member who is not in the task team.'; +$lang->task->error->consumedEmpty = '"Current Cost" should not be 0.'; +$lang->task->error->deadlineSmall = '"Deadline" must be greater than "StartDate".'; +$lang->task->error->alreadyStarted = 'You cannot start this task, because it is started.'; +$lang->task->error->chooseOtherParent = 'the currently selected parent task has been consumed, please select another parent task.'; /* Report. */ $lang->task->report = new stdclass(); diff --git a/module/task/lang/fr.php b/module/task/lang/fr.php index 8e5b891b35..ba5ace3d25 100644 --- a/module/task/lang/fr.php +++ b/module/task/lang/fr.php @@ -197,23 +197,25 @@ $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.'; -$lang->task->error->consumedNumber = '"Coût" doit être numérique.'; -$lang->task->error->estimateNumber = '"Estimé" doit être numérique.'; -$lang->task->error->leftNumber = '"Entrez" doit être numérique.'; -$lang->task->error->recordMinus = 'Les heures de travail ne doivent pas être un nombre négatif.'; -$lang->task->error->consumedSmall = '"Coût Total" doit être > au dernier chiffre.'; -$lang->task->error->consumedThisTime = 'Entrez le "Coût en Heures"'; -$lang->task->error->left = 'Entrez les "Heures Restantes"'; -$lang->task->error->work = '"Commentaire" doit être < %d caractères.'; -$lang->task->error->skipClose = 'Tâche: %s non “Finie” ou “Annulée”. Voulez-vous la fermer malgré tout ?'; -$lang->task->error->consumed = 'Tâche: %s heures doivent être < 0. Ignorer changements de cette tâche.'; -$lang->task->error->assignedTo = "Tâche Multi-user dans le statut courant ne peut pas être assignée à un membre qui ne fait pas partie de l'équipe."; -$lang->task->error->consumedEmpty = '"Coût Actuel" ne devrait pas être 0.'; -$lang->task->error->deadlineSmall = '"Date Limite" doit être supérieur à la "Date de Départ".'; -$lang->task->error->alreadyStarted = 'You cannot start this task, because it is started.'; +$lang->task->error->totalNumber = '"Coût Total" doit être numérique.'; +$lang->task->error->consumedNumber = '"Coût" doit être numérique.'; +$lang->task->error->estimateNumber = '"Estimé" doit être numérique.'; +$lang->task->error->leftNumber = '"Entrez" doit être numérique.'; +$lang->task->error->recordMinus = 'Les heures de travail ne doivent pas être un nombre négatif.'; +$lang->task->error->consumedSmall = '"Coût Total" doit être > au dernier chiffre.'; +$lang->task->error->consumedThisTime = 'Entrez le "Coût en Heures"'; +$lang->task->error->left = 'Entrez les "Heures Restantes"'; +$lang->task->error->work = '"Commentaire" doit être < %d caractères.'; +$lang->task->error->skipClose = 'Tâche: %s non “Finie” ou “Annulée”. Voulez-vous la fermer malgré tout ?'; +$lang->task->error->consumed = 'Tâche: %s heures doivent être < 0. Ignorer changements de cette tâche.'; +$lang->task->error->assignedTo = "Tâche Multi-user dans le statut courant ne peut pas être assignée à un membre qui ne fait pas partie de l'équipe."; +$lang->task->error->consumedEmpty = '"Coût Actuel" ne devrait pas être 0.'; +$lang->task->error->deadlineSmall = '"Date Limite" doit être supérieur à la "Date de Départ".'; +$lang->task->error->alreadyStarted = 'You cannot start this task, because it is started.'; +$lang->task->error->chooseOtherParent = 'the currently selected parent task has been consumed, please select another parent task.'; /* Report. */ $lang->task->report = new stdclass(); diff --git a/module/task/lang/vi.php b/module/task/lang/vi.php index bf8e17bb6a..45ca76f4e6 100644 --- a/module/task/lang/vi.php +++ b/module/task/lang/vi.php @@ -197,23 +197,25 @@ $lang->task->deniedNotice = 'Chỉ có %s này có thể %s nhiệm v $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.'; -$lang->task->error->consumedNumber = '"Giờ làm" phải là số.'; -$lang->task->error->estimateNumber = '"Dự tính" phải là số.'; -$lang->task->error->leftNumber = '"Left" must be numbers.'; -$lang->task->error->recordMinus = 'Giờ làm không nên là số âm'; -$lang->task->error->consumedSmall = '"Tổng giờ làm" phải là > số cuối cùng.'; -$lang->task->error->consumedThisTime = 'Vui lòng nhập "Số giờ làm"'; -$lang->task->error->left = 'Vui lòng nhập "Giờ còn lại"'; -$lang->task->error->work = '"Nhận xét" phải là < %d ký tự.'; -$lang->task->error->skipClose = 'Nhiệm vụ: %s không là "Kết thúc” hoặc “Đã hủy”. Bạn có muốn đóng nó?'; -$lang->task->error->consumed = 'Nhiệm vụ: %s giờ phải là < 0. Bỏ qua thay đổi cho nhiệm vụ này.'; -$lang->task->error->assignedTo = 'Nhiệm vụ nhiều người dùng trong tình trạng hiện tại không thể giao cho một thành viên người không trong Nhóm nhiệm vụ.'; -$lang->task->error->consumedEmpty = '"Giờ làm" không nên 0.'; -$lang->task->error->deadlineSmall = '"Hạn chót" phải lớn hơn "Ngày bắt đầu".'; -$lang->task->error->alreadyStarted = 'You cannot start this task, because it is started.'; +$lang->task->error->totalNumber = '"Total Cost" must be numbers.'; +$lang->task->error->consumedNumber = '"Giờ làm" phải là số.'; +$lang->task->error->estimateNumber = '"Dự tính" phải là số.'; +$lang->task->error->leftNumber = '"Left" must be numbers.'; +$lang->task->error->recordMinus = 'Giờ làm không nên là số âm'; +$lang->task->error->consumedSmall = '"Tổng giờ làm" phải là > số cuối cùng.'; +$lang->task->error->consumedThisTime = 'Vui lòng nhập "Số giờ làm"'; +$lang->task->error->left = 'Vui lòng nhập "Giờ còn lại"'; +$lang->task->error->work = '"Nhận xét" phải là < %d ký tự.'; +$lang->task->error->skipClose = 'Nhiệm vụ: %s không là "Kết thúc” hoặc “Đã hủy”. Bạn có muốn đóng nó?'; +$lang->task->error->consumed = 'Nhiệm vụ: %s giờ phải là < 0. Bỏ qua thay đổi cho nhiệm vụ này.'; +$lang->task->error->assignedTo = 'Nhiệm vụ nhiều người dùng trong tình trạng hiện tại không thể giao cho một thành viên người không trong Nhóm nhiệm vụ.'; +$lang->task->error->consumedEmpty = '"Giờ làm" không nên 0.'; +$lang->task->error->deadlineSmall = '"Hạn chót" phải lớn hơn "Ngày bắt đầu".'; +$lang->task->error->alreadyStarted = 'You cannot start this task, because it is started.'; +$lang->task->error->chooseOtherParent = 'the currently selected parent task has been consumed, please select another parent task.'; /* Report. */ $lang->task->report = new stdclass(); diff --git a/module/task/lang/zh-cn.php b/module/task/lang/zh-cn.php index 4f80d67310..02ce63511e 100644 --- a/module/task/lang/zh-cn.php +++ b/module/task/lang/zh-cn.php @@ -197,23 +197,25 @@ $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 = '"总计消耗"必须为数字'; -$lang->task->error->consumedNumber = '"本次消耗"必须为数字'; -$lang->task->error->estimateNumber = '"最初预计"必须为数字'; -$lang->task->error->leftNumber = '"预计剩余"必须为数字'; -$lang->task->error->recordMinus = '工时不能为负数'; -$lang->task->error->consumedSmall = '"总计消耗"必须大于之前消耗'; -$lang->task->error->consumedThisTime = '请填写"工时"'; -$lang->task->error->left = '请填写"剩余"'; -$lang->task->error->work = '"备注"必须小于%d个字符'; -$lang->task->error->skipClose = '任务:%s 不是“已完成”或“已取消”状态,确定要关闭吗?'; -$lang->task->error->consumed = '任务:%s工时不能小于0,忽略该任务工时的改动'; -$lang->task->error->assignedTo = '当前状态的多人任务不能指派给任务团队外的成员。'; -$lang->task->error->consumedEmpty = '"本次消耗"不能为0'; -$lang->task->error->deadlineSmall = '"截止日期"必须大于"预计开始"'; -$lang->task->error->alreadyStarted = '此任务已被启动,不能重复启动!'; +$lang->task->error = new stdclass(); +$lang->task->error->totalNumber = '"总计消耗"必须为数字'; +$lang->task->error->consumedNumber = '"本次消耗"必须为数字'; +$lang->task->error->estimateNumber = '"最初预计"必须为数字'; +$lang->task->error->leftNumber = '"预计剩余"必须为数字'; +$lang->task->error->recordMinus = '工时不能为负数'; +$lang->task->error->consumedSmall = '"总计消耗"必须大于之前消耗'; +$lang->task->error->consumedThisTime = '请填写"工时"'; +$lang->task->error->left = '请填写"剩余"'; +$lang->task->error->work = '"备注"必须小于%d个字符'; +$lang->task->error->skipClose = '任务:%s 不是“已完成”或“已取消”状态,确定要关闭吗?'; +$lang->task->error->consumed = '任务:%s工时不能小于0,忽略该任务工时的改动'; +$lang->task->error->assignedTo = '当前状态的多人任务不能指派给任务团队外的成员。'; +$lang->task->error->consumedEmpty = '"本次消耗"不能为0'; +$lang->task->error->deadlineSmall = '"截止日期"必须大于"预计开始"'; +$lang->task->error->alreadyStarted = '此任务已被启动,不能重复启动!'; +$lang->task->error->chooseOtherParent = '当前选中的父任务已有消耗,请选择其他父任务。'; /* Report. */ $lang->task->report = new stdclass(); diff --git a/module/task/model.php b/module/task/model.php index 893bbe5810..ed138ee8fc 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -368,6 +368,16 @@ class taskModel extends model if($parentID > 0 && !empty($taskID)) { $oldParentTask = $this->dao->select('*')->from(TABLE_TASK)->where('id')->eq((int)$parentID)->fetch(); + + /* When common task are child tasks and the common task has consumption, create a child task. */ + if($oldParentTask->parent == 0 and $oldParentTask->consumed > 0) + { + $childTask = $oldParentTask; + unset($childTask->id); + $childTask->parent = $parentID; + $this->dao->insert(TABLE_TASK)->data($childTask)->autoCheck()->exec(); + } + $this->updateParentStatus($taskID); $this->computeBeginAndEnd($parentID); @@ -730,6 +740,14 @@ class taskModel extends model return false; } + /* When the selected parent task is a common task and has consumption, select other parent tasks. */ + if($this->post->parent > 0) + { + $taskConsumed = 0; + $taskConsumed = $this->dao->select('consumed')->from(TABLE_TASK)->where('id')->eq($this->post->parent)->andWhere('parent')->eq(0)->fetch('consumed'); + if($taskConsumed > 0) die(js::error($this->lang->task->error->chooseOtherParent)); + } + $now = helper::now(); $task = fixer::input('post') ->setDefault('story, estimate, left, consumed', 0) diff --git a/module/task/view/batchcreate.html.php b/module/task/view/batchcreate.html.php index d00d30eecd..abe95f2926 100644 --- a/module/task/view/batchcreate.html.php +++ b/module/task/view/batchcreate.html.php @@ -12,6 +12,8 @@ ?> + +task->addChildTask);?>