Merge branch 'pailei_sunhuawei_story_30528' into pailei
This commit is contained in:
@@ -2086,6 +2086,7 @@ class execution extends control
|
||||
$this->view->productNum = count($products);
|
||||
$this->view->branchID = $branchID;
|
||||
$this->view->projectID = $this->loadModel('task')->getProjectID($execution->id);
|
||||
$this->view->allProducts = $this->product->getProductPairsByProject($this->view->projectID, 'noclosed');
|
||||
$this->view->allPlans = $allPlans;
|
||||
$this->view->kanbanData = $kanbanData;
|
||||
$this->view->executionActions = $executionActions;
|
||||
|
||||
@@ -106,4 +106,5 @@
|
||||
|
||||
#mainMenu .divider {margin: 10px}
|
||||
|
||||
.kanbanRegion {margin:5px}
|
||||
.kanbanRegion {margin: 5px}
|
||||
.modal-header {padding: 15px 0;}
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
$(function()
|
||||
{
|
||||
$('#products').change(function()
|
||||
{
|
||||
var selectProductID = $('#products').val();
|
||||
var attr = createLink('story', 'batchCreate', 'productID=' + selectProductID + '&branch=0' + '&moduleID=0&story=0&execution=' + executionID, '', true);
|
||||
$('#batchCreateStoryButton').attr('href',attr);
|
||||
});
|
||||
})
|
||||
|
||||
/**
|
||||
* When execution status change.
|
||||
*
|
||||
@@ -263,7 +273,7 @@ function createColumnCreateMenu(options)
|
||||
if(col.type == 'backlog')
|
||||
{
|
||||
if(priv.canCreateStory) items.push({label: storyLang.create, url: $.createLink('story', 'create', 'productID=' + productID + '&branch=0&moduleID=0&storyID=0&objectID=' + executionID + '&bugID=0&planID=0&todoID=0&extra=laneID=' + laneID + ',columnID=' + col.id, '', true), className: 'iframe', attrs: {'data-toggle': 'modal', 'data-width': '80%'}});
|
||||
if(priv.canBatchCreateStory) items.push({label: executionLang.batchCreateStroy, url: $.createLink('story', 'batchcreate', 'productID=' + productID + '&branch=0&moduleID=0&storyID=0&executionID=' + executionID + '&plan=0&type=story&extra=laneID=' + laneID + ',columnID=' + col.id, '', true), className: 'iframe', attrs: {'data-toggle': 'modal', 'data-width': '90%'}});
|
||||
if(priv.canBatchCreateStory) items.push({label: executionLang.batchCreateStory, url: productCount > 1 ? '#batchCreateStory' : $.createLink('story', 'batchcreate', 'productID=' + productID + '&branch=0&moduleID=0&storyID=0&executionID=' + executionID + '&plan=0&type=story&extra=laneID=' + laneID + ',columnID=' + col.id, '', true), className: 'iframe',attrs: {'data-toggle': 'modal', 'data-width': '90%'}});
|
||||
if(priv.canLinkStory) items.push({label: executionLang.linkStory, url: $.createLink('execution', 'linkStory', 'executionID=' + executionID + '&browseType=¶m=0&recTotal=0&recPerPage=50,&pageID=1&extra=laneID=' + laneID + ',columnID=' + col.id, '', true), className: 'iframe', attrs: {'data-toggle': 'modal', 'data-width': '90%'}});
|
||||
if(priv.canLinkStoryByPlan) items.push({label: executionLang.linkStoryByPlan, url: '#linkStoryByPlan', 'attrs' : {'data-toggle': 'modal', 'data-target': '#linkStoryByPlan','data-col' : col.id, 'data-lane' : laneID, 'class' : 'linkStoryByPlanButton'}});
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ $lang->execution->unfoldClosed = 'Unfold Closed';
|
||||
$lang->execution->editName = 'Edit Name';
|
||||
$lang->execution->setWIP = 'WIP Settings';
|
||||
$lang->execution->sortColumn = 'Kanban Card Sorting';
|
||||
$lang->execution->batchCreateStroy = "Batch create {$lang->SRCommon}";
|
||||
$lang->execution->batchCreateStory = "Batch create {$lang->SRCommon}";
|
||||
$lang->execution->batchCreateTask = 'Batch create task';
|
||||
$lang->execution->kanbanNoLinkProduct = "Kanban not linked {$lang->productCommon}";
|
||||
|
||||
@@ -292,44 +292,45 @@ $lang->execution->aboveAllProduct = "All the above {$lang->productCommon}s";
|
||||
$lang->execution->aboveAllExecution = "All the above {$lang->executionCommon}s";
|
||||
|
||||
/* Page prompt. */
|
||||
$lang->execution->linkStoryByPlanTips = "This action will link all stories in this plan to the {$lang->executionCommon}.";
|
||||
$lang->execution->selectExecution = "Select {$lang->executionCommon}";
|
||||
$lang->execution->beginAndEnd = 'Duration';
|
||||
$lang->execution->lblStats = 'Efforts';
|
||||
$lang->execution->stats = 'Available: <strong>%s</strong>(h). Estimates: <strong>%s</strong>(h). Cost: <strong>%s</strong>(h). Left: <strong>%s</strong>(h).';
|
||||
$lang->execution->taskSummary = "Total tasks on this page:<strong>%s</strong>. Waiting: <strong>%s</strong>. Doing: <strong>%s</strong>. Estimates: <strong>%s</strong>(h). Cost: <strong>%s</strong>(h). Left: <strong>%s</strong>(h).";
|
||||
$lang->execution->pageSummary = "Total tasks: <strong>%total%</strong>. Waiting: <strong>%wait%</strong>. Doing: <strong>%doing%</strong>. Estimates: <strong>%estimate%</strong>(h). Cost: <strong>%consumed%</strong>(h). Left: <strong>%left%</strong>(h).";
|
||||
$lang->execution->checkedSummary = "Selected: <strong>%total%</strong>. Waiting: <strong>%wait%</strong>. Doing: <strong>%doing%</strong>. Estimates: <strong>%estimate%</strong>(h). Cost: <strong>%consumed%</strong>(h). Left: <strong>%left%</strong>(h).";
|
||||
$lang->execution->memberHoursAB = "%s has <strong>%s</ strong> hours.";
|
||||
$lang->execution->memberHours = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">%s Available Hours</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->execution->countSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">Tasks</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">Doing</div><div class="segment-value"><span class="label label-dot label-primary"></span> %s</div></div><div class="segment"><div class="segment-title">Waiting</div><div class="segment-value"><span class="label label-dot label-primary muted"></span> %s</div></div></div></div>';
|
||||
$lang->execution->timeSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">Estimates</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">Cost</div><div class="segment-value text-red">%s</div></div><div class="segment"><div class="segment-title">Left</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->execution->groupSummaryAB = "<div>Tasks <strong>%s :</strong><span class='text-muted'>Waiting</span> %s <span class='text-muted'>Doing</span> %s</div><div>Estimates <strong>%s :</strong><span class='text-muted'>Cost</span> %s <span class='text-muted'>Left</span> %s</div>";
|
||||
$lang->execution->wbs = "Create Task";
|
||||
$lang->execution->batchWBS = "Batch Create Tasks";
|
||||
$lang->execution->howToUpdateBurn = "<a href='https://api.zentao.pm/goto.php?item=burndown' target='_blank' title='How to update the Burndown Chart?' class='btn btn-link'>Help <i class='icon icon-help'></i></a>";
|
||||
$lang->execution->whyNoStories = "No story can be linked. Please check whether there is any story in {$lang->executionCommon} which is linked to {$lang->productCommon} and make sure it has been reviewed.";
|
||||
$lang->execution->productStories = "Stories linked to {$lang->executionCommon} are the subeset of stories linked to {$lang->productCommon}. Stories can only be linked after they pass the review. <a href='%s'> Link Stories</a> now.";
|
||||
$lang->execution->haveDraft = "%s stories in draft, so they can't be linked.";
|
||||
$lang->execution->doneExecutions = 'Finished';
|
||||
$lang->execution->selectDept = 'Select Department';
|
||||
$lang->execution->selectDeptTitle = 'Select User';
|
||||
$lang->execution->copyTeam = 'Copy Team';
|
||||
$lang->execution->copyFromTeam = "Copy from {$lang->execution->common} Team: <strong>%s</strong>";
|
||||
$lang->execution->noMatched = "No {$lang->execution->common} including '%s'can be found.";
|
||||
$lang->execution->copyTitle = "Choose a {$lang->execution->common} to copy.";
|
||||
$lang->execution->copyNoExecution = "No {$lang->execution->common} can be copied.";
|
||||
$lang->execution->copyFromExecution = "Copy from {$lang->execution->common} <strong>%s</strong>";
|
||||
$lang->execution->cancelCopy = 'Cancel Copy';
|
||||
$lang->execution->byPeriod = 'By Time';
|
||||
$lang->execution->byUser = 'By User';
|
||||
$lang->execution->noExecution = "No {$lang->executionCommon}. ";
|
||||
$lang->execution->noExecutions = "No {$lang->execution->common}.";
|
||||
$lang->execution->noPrintData = "No data can be printed.";
|
||||
$lang->execution->noMembers = 'No team members yet. ';
|
||||
$lang->execution->workloadTotal = "The cumulative workload ratio should not exceed 100, and the total workload under the current product is: %s";
|
||||
// $lang->execution->linkProjectStoryTip = "(Link {$lang->SRCommon} comes from {$lang->SRCommon} linked under the execution)";
|
||||
$lang->execution->linkAllStoryTip = "({$lang->SRCommon} has never been linked under the execution, and can be directly linked with {$lang->SRCommon} of the product linked with the sprint/stage)";
|
||||
$lang->execution->linkStoryByPlanTips = "This action will link all stories in this plan to the {$lang->executionCommon}.";
|
||||
$lang->execution->batchCreateStoryTips = "Please select the product that needs to be created in batches";
|
||||
$lang->execution->selectExecution = "Select {$lang->executionCommon}";
|
||||
$lang->execution->beginAndEnd = 'Duration';
|
||||
$lang->execution->lblStats = 'Efforts';
|
||||
$lang->execution->stats = 'Available: <strong>%s</strong>(h). Estimates: <strong>%s</strong>(h). Cost: <strong>%s</strong>(h). Left: <strong>%s</strong>(h).';
|
||||
$lang->execution->taskSummary = "Total tasks on this page:<strong>%s</strong>. Waiting: <strong>%s</strong>. Doing: <strong>%s</strong>. Estimates: <strong>%s</strong>(h). Cost: <strong>%s</strong>(h). Left: <strong>%s</strong>(h).";
|
||||
$lang->execution->pageSummary = "Total tasks: <strong>%total%</strong>. Waiting: <strong>%wait%</strong>. Doing: <strong>%doing%</strong>. Estimates: <strong>%estimate%</strong>(h). Cost: <strong>%consumed%</strong>(h). Left: <strong>%left%</strong>(h).";
|
||||
$lang->execution->checkedSummary = "Selected: <strong>%total%</strong>. Waiting: <strong>%wait%</strong>. Doing: <strong>%doing%</strong>. Estimates: <strong>%estimate%</strong>(h). Cost: <strong>%consumed%</strong>(h). Left: <strong>%left%</strong>(h).";
|
||||
$lang->execution->memberHoursAB = "%s has <strong>%s</ strong> hours.";
|
||||
$lang->execution->memberHours = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">%s Available Hours</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->execution->countSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">Tasks</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">Doing</div><div class="segment-value"><span class="label label-dot label-primary"></span> %s</div></div><div class="segment"><div class="segment-title">Waiting</div><div class="segment-value"><span class="label label-dot label-primary muted"></span> %s</div></div></div></div>';
|
||||
$lang->execution->timeSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">Estimates</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">Cost</div><div class="segment-value text-red">%s</div></div><div class="segment"><div class="segment-title">Left</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->execution->groupSummaryAB = "<div>Tasks <strong>%s :</strong><span class='text-muted'>Waiting</span> %s <span class='text-muted'>Doing</span> %s</div><div>Estimates <strong>%s :</strong><span class='text-muted'>Cost</span> %s <span class='text-muted'>Left</span> %s</div>";
|
||||
$lang->execution->wbs = "Create Task";
|
||||
$lang->execution->batchWBS = "Batch Create Tasks";
|
||||
$lang->execution->howToUpdateBurn = "<a href='https://api.zentao.pm/goto.php?item=burndown' target='_blank' title='How to update the Burndown Chart?' class='btn btn-link'>Help <i class='icon icon-help'></i></a>";
|
||||
$lang->execution->whyNoStories = "No story can be linked. Please check whether there is any story in {$lang->executionCommon} which is linked to {$lang->productCommon} and make sure it has been reviewed.";
|
||||
$lang->execution->productStories = "Stories linked to {$lang->executionCommon} are the subeset of stories linked to {$lang->productCommon}. Stories can only be linked after they pass the review. <a href='%s'> Link Stories</a> now.";
|
||||
$lang->execution->haveDraft = "%s stories in draft, so they can't be linked.";
|
||||
$lang->execution->doneExecutions = 'Finished';
|
||||
$lang->execution->selectDept = 'Select Department';
|
||||
$lang->execution->selectDeptTitle = 'Select User';
|
||||
$lang->execution->copyTeam = 'Copy Team';
|
||||
$lang->execution->copyFromTeam = "Copy from {$lang->execution->common} Team: <strong>%s</strong>";
|
||||
$lang->execution->noMatched = "No {$lang->execution->common} including '%s'can be found.";
|
||||
$lang->execution->copyTitle = "Choose a {$lang->execution->common} to copy.";
|
||||
$lang->execution->copyNoExecution = "No {$lang->execution->common} can be copied.";
|
||||
$lang->execution->copyFromExecution = "Copy from {$lang->execution->common} <strong>%s</strong>";
|
||||
$lang->execution->cancelCopy = 'Cancel Copy';
|
||||
$lang->execution->byPeriod = 'By Time';
|
||||
$lang->execution->byUser = 'By User';
|
||||
$lang->execution->noExecution = "No {$lang->executionCommon}. ";
|
||||
$lang->execution->noExecutions = "No {$lang->execution->common}.";
|
||||
$lang->execution->noPrintData = "No data can be printed.";
|
||||
$lang->execution->noMembers = 'No team members yet. ';
|
||||
$lang->execution->workloadTotal = "The cumulative workload ratio should not exceed 100, and the total workload under the current product is: %s";
|
||||
// $lang->execution->linkProjectStoryTip = "(Link {$lang->SRCommon} comes from {$lang->SRCommon} linked under the execution)";
|
||||
$lang->execution->linkAllStoryTip = "({$lang->SRCommon} has never been linked under the execution, and can be directly linked with {$lang->SRCommon} of the product linked with the sprint/stage)";
|
||||
if($config->systemMode == 'classic') $lang->execution->copyTeamTitle = "Choose a {$lang->execution->common} Team to copy.";
|
||||
if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "Choose a {$lang->project->common} or {$lang->execution->common} Team to copy.";
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ $lang->execution->unfoldClosed = '展开已结束';
|
||||
$lang->execution->editName = '编辑名称';
|
||||
$lang->execution->setWIP = '在制品数量设置(WIP)';
|
||||
$lang->execution->sortColumn = '看板列卡片排序';
|
||||
$lang->execution->batchCreateStroy = "批量新建{$lang->SRCommon}";
|
||||
$lang->execution->batchCreateStory = "批量新建{$lang->SRCommon}";
|
||||
$lang->execution->batchCreateTask = '批量建任务';
|
||||
$lang->execution->kanbanNoLinkProduct = "看板没有关联{$lang->productCommon}";
|
||||
|
||||
@@ -292,44 +292,45 @@ $lang->execution->aboveAllProduct = "以上所有{$lang->productCommon}";
|
||||
$lang->execution->aboveAllExecution = "以上所有{$lang->executionCommon}";
|
||||
|
||||
/* 页面提示。*/
|
||||
$lang->execution->linkStoryByPlanTips = "此操作会将所选计划下面的{$lang->SRCommon}全部关联到此{$lang->executionCommon}中";
|
||||
$lang->execution->selectExecution = "请选择{$lang->execution->common}";
|
||||
$lang->execution->beginAndEnd = '起止时间';
|
||||
$lang->execution->lblStats = '工时统计';
|
||||
$lang->execution->stats = '可用工时 <strong>%s</strong> 工时,总共预计 <strong>%s</strong> 工时,已经消耗 <strong>%s</strong> 工时,预计剩余 <strong>%s</strong> 工时';
|
||||
$lang->execution->taskSummary = "本页共 <strong>%s</strong> 个任务,未开始 <strong>%s</strong>,进行中 <strong>%s</strong>,总预计 <strong>%s</strong> 工时,已消耗 <strong>%s</strong> 工时,剩余 <strong>%s</strong> 工时。";
|
||||
$lang->execution->pageSummary = "本页共 <strong>%total%</strong> 个任务,未开始 <strong>%wait%</strong>,进行中 <strong>%doing%</strong>,总预计 <strong>%estimate%</strong> 工时,已消耗 <strong>%consumed%</strong> 工时,剩余 <strong>%left%</strong> 工时。";
|
||||
$lang->execution->checkedSummary = "选中 <strong>%total%</strong> 个任务,未开始 <strong>%wait%</strong>,进行中 <strong>%doing%</strong>,总预计 <strong>%estimate%</strong> 工时,已消耗 <strong>%consumed%</strong> 工时,剩余 <strong>%left%</strong> 工时。";
|
||||
$lang->execution->memberHoursAB = "<div>%s有 <strong>%s</strong> 工时</div>";
|
||||
$lang->execution->memberHours = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">%s可用工时</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->execution->countSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">总任务</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">进行中</div><div class="segment-value"><span class="label label-dot label-primary"></span> %s</div></div><div class="segment"><div class="segment-title">未开始</div><div class="segment-value"><span class="label label-dot label-primary muted"></span> %s</div></div></div></div>';
|
||||
$lang->execution->timeSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">总预计</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">已消耗</div><div class="segment-value text-red">%s</div></div><div class="segment"><div class="segment-title">剩余</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->execution->groupSummaryAB = "<div>总任务 <strong>%s : </strong><span class='text-muted'>未开始</span> %s <span class='text-muted'>进行中</span> %s</div><div>总预计 <strong>%s : </strong><span class='text-muted'>已消耗</span> %s <span class='text-muted'>剩余</span> %s</div>";
|
||||
$lang->execution->wbs = "分解任务";
|
||||
$lang->execution->batchWBS = "批量分解";
|
||||
$lang->execution->howToUpdateBurn = "<a href='https://api.zentao.net/goto.php?item=burndown&lang=zh-cn' target='_blank' title='如何更新燃尽图?' class='btn btn-link'>帮助 <i class='icon icon-help'></i></a>";
|
||||
$lang->execution->whyNoStories = "看起来没有{$lang->SRCommon}可以关联。请检查下{$lang->executionCommon}关联的{$lang->productCommon}中有没有{$lang->SRCommon},而且要确保它们已经审核通过。";
|
||||
$lang->execution->productStories = "{$lang->executionCommon}关联的{$lang->SRCommon}是{$lang->productCommon}{$lang->SRCommon}的子集,并且只有评审通过的{$lang->SRCommon}才能关联。请<a href='%s'>关联{$lang->SRCommon}</a>。";
|
||||
$lang->execution->haveDraft = "有%s条草稿状态的{$lang->SRCommon}无法关联到该{$lang->executionCommon}";
|
||||
$lang->execution->doneExecutions = '已结束';
|
||||
$lang->execution->selectDept = '选择部门';
|
||||
$lang->execution->selectDeptTitle = '选择一个部门的成员';
|
||||
$lang->execution->copyTeam = '复制团队';
|
||||
$lang->execution->copyFromTeam = "复制自{$lang->execution->common}团队: <strong>%s</strong>";
|
||||
$lang->execution->noMatched = "找不到包含'%s'的{$lang->execution->common}";
|
||||
$lang->execution->copyTitle = "请选择一个{$lang->execution->common}来复制";
|
||||
$lang->execution->copyNoExecution = "没有可用的{$lang->execution->common}来复制";
|
||||
$lang->execution->copyFromExecution = "复制自{$lang->execution->common} <strong>%s</strong>";
|
||||
$lang->execution->cancelCopy = '取消复制';
|
||||
$lang->execution->byPeriod = '按时间段';
|
||||
$lang->execution->byUser = '按用户';
|
||||
$lang->execution->noExecution = "暂时没有{$lang->executionCommon}。";
|
||||
$lang->execution->noExecutions = "暂时没有{$lang->execution->common}。";
|
||||
$lang->execution->noPrintData = "暂无数据可打印";
|
||||
$lang->execution->noMembers = '暂时没有团队成员。';
|
||||
$lang->execution->workloadTotal = "工作量占比累计不应当超过100, 当前产品下的工作量之和为%s";
|
||||
$lang->execution->linkStoryByPlanTips = "此操作会将所选计划下面的{$lang->SRCommon}全部关联到此{$lang->executionCommon}中";
|
||||
$lang->execution->batchCreateStoryTips = '请选择需要批量新建研发需求的产品';
|
||||
$lang->execution->selectExecution = "请选择{$lang->execution->common}";
|
||||
$lang->execution->beginAndEnd = '起止时间';
|
||||
$lang->execution->lblStats = '工时统计';
|
||||
$lang->execution->stats = '可用工时 <strong>%s</strong> 工时,总共预计 <strong>%s</strong> 工时,已经消耗 <strong>%s</strong> 工时,预计剩余 <strong>%s</strong> 工时';
|
||||
$lang->execution->taskSummary = "本页共 <strong>%s</strong> 个任务,未开始 <strong>%s</strong>,进行中 <strong>%s</strong>,总预计 <strong>%s</strong> 工时,已消耗 <strong>%s</strong> 工时,剩余 <strong>%s</strong> 工时。";
|
||||
$lang->execution->pageSummary = "本页共 <strong>%total%</strong> 个任务,未开始 <strong>%wait%</strong>,进行中 <strong>%doing%</strong>,总预计 <strong>%estimate%</strong> 工时,已消耗 <strong>%consumed%</strong> 工时,剩余 <strong>%left%</strong> 工时。";
|
||||
$lang->execution->checkedSummary = "选中 <strong>%total%</strong> 个任务,未开始 <strong>%wait%</strong>,进行中 <strong>%doing%</strong>,总预计 <strong>%estimate%</strong> 工时,已消耗 <strong>%consumed%</strong> 工时,剩余 <strong>%left%</strong> 工时。";
|
||||
$lang->execution->memberHoursAB = "<div>%s有 <strong>%s</strong> 工时</div>";
|
||||
$lang->execution->memberHours = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">%s可用工时</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->execution->countSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">总任务</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">进行中</div><div class="segment-value"><span class="label label-dot label-primary"></span> %s</div></div><div class="segment"><div class="segment-title">未开始</div><div class="segment-value"><span class="label label-dot label-primary muted"></span> %s</div></div></div></div>';
|
||||
$lang->execution->timeSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">总预计</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">已消耗</div><div class="segment-value text-red">%s</div></div><div class="segment"><div class="segment-title">剩余</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->execution->groupSummaryAB = "<div>总任务 <strong>%s : </strong><span class='text-muted'>未开始</span> %s <span class='text-muted'>进行中</span> %s</div><div>总预计 <strong>%s : </strong><span class='text-muted'>已消耗</span> %s <span class='text-muted'>剩余</span> %s</div>";
|
||||
$lang->execution->wbs = "分解任务";
|
||||
$lang->execution->batchWBS = "批量分解";
|
||||
$lang->execution->howToUpdateBurn = "<a href='https://api.zentao.net/goto.php?item=burndown&lang=zh-cn' target='_blank' title='如何更新燃尽图?' class='btn btn-link'>帮助 <i class='icon icon-help'></i></a>";
|
||||
$lang->execution->whyNoStories = "看起来没有{$lang->SRCommon}可以关联。请检查下{$lang->executionCommon}关联的{$lang->productCommon}中有没有{$lang->SRCommon},而且要确保它们已经审核通过。";
|
||||
$lang->execution->productStories = "{$lang->executionCommon}关联的{$lang->SRCommon}是{$lang->productCommon}{$lang->SRCommon}的子集,并且只有评审通过的{$lang->SRCommon}才能关联。请<a href='%s'>关联{$lang->SRCommon}</a>。";
|
||||
$lang->execution->haveDraft = "有%s条草稿状态的{$lang->SRCommon}无法关联到该{$lang->executionCommon}";
|
||||
$lang->execution->doneExecutions = '已结束';
|
||||
$lang->execution->selectDept = '选择部门';
|
||||
$lang->execution->selectDeptTitle = '选择一个部门的成员';
|
||||
$lang->execution->copyTeam = '复制团队';
|
||||
$lang->execution->copyFromTeam = "复制自{$lang->execution->common}团队: <strong>%s</strong>";
|
||||
$lang->execution->noMatched = "找不到包含'%s'的{$lang->execution->common}";
|
||||
$lang->execution->copyTitle = "请选择一个{$lang->execution->common}来复制";
|
||||
$lang->execution->copyNoExecution = "没有可用的{$lang->execution->common}来复制";
|
||||
$lang->execution->copyFromExecution = "复制自{$lang->execution->common} <strong>%s</strong>";
|
||||
$lang->execution->cancelCopy = '取消复制';
|
||||
$lang->execution->byPeriod = '按时间段';
|
||||
$lang->execution->byUser = '按用户';
|
||||
$lang->execution->noExecution = "暂时没有{$lang->executionCommon}。";
|
||||
$lang->execution->noExecutions = "暂时没有{$lang->execution->common}。";
|
||||
$lang->execution->noPrintData = "暂无数据可打印";
|
||||
$lang->execution->noMembers = '暂时没有团队成员。';
|
||||
$lang->execution->workloadTotal = "工作量占比累计不应当超过100, 当前产品下的工作量之和为%s";
|
||||
// $lang->execution->linkProjectStoryTip = "(关联{$lang->SRCommon}来源于项目下所关联的{$lang->SRCommon})";
|
||||
$lang->execution->linkAllStoryTip = "(项目下还未关联{$lang->SRCommon},可直接关联该{$lang->execution->common}所关联产品的{$lang->SRCommon})";
|
||||
$lang->execution->linkAllStoryTip = "(项目下还未关联{$lang->SRCommon},可直接关联该{$lang->execution->common}所关联产品的{$lang->SRCommon})";
|
||||
if($config->systemMode == 'classic') $lang->execution->copyTeamTitle = "选择一个{$lang->execution->common}团队来复制";
|
||||
if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "选择一个{$lang->project->common}或{$lang->execution->common}团队来复制";
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ $lang->execution->unfoldClosed = '展開已結束';
|
||||
$lang->execution->editName = '編輯名稱';
|
||||
$lang->execution->setWIP = '在製品數量設置(WIP)';
|
||||
$lang->execution->sortColumn = '看板列卡片排序';
|
||||
$lang->execution->batchCreateStroy = "批量新建{$lang->SRCommon}";
|
||||
$lang->execution->batchCreateStory = "批量新建{$lang->SRCommon}";
|
||||
$lang->execution->batchCreateTask = '批量建任務';
|
||||
|
||||
/* Fields of zt_team. */
|
||||
|
||||
@@ -49,7 +49,8 @@ js::set('colorListLang', $lang->kanbancard->colorList);
|
||||
js::set('colorList', $this->config->kanban->cardColorList);
|
||||
js::set('projectID', $projectID);
|
||||
js::set('vision', $this->config->vision);
|
||||
js::set('branchID', $branchID);
|
||||
js::set('productCount', count($allProducts));
|
||||
js::set('executionID', $execution->id);
|
||||
|
||||
$canSortRegion = commonModel::hasPriv('kanban', 'sortRegion') && count($regions) > 1;
|
||||
$canEditRegion = commonModel::hasPriv('kanban', 'editRegion');
|
||||
@@ -165,7 +166,19 @@ js::set('hasTaskButton', $hasTaskButton);
|
||||
<button class='btn btn-primary' type='button' data-toggle='dropdown'><i class='icon icon-plus'></i> <?php echo $this->lang->create;?> <span class='caret'></span></button>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
<?php if($canCreateStory) echo '<li>' . html::a(helper::createLink('story', 'create', "productID=$productID&branch=0&moduleID=0&story=0&execution=$execution->id", '', true), $lang->execution->createStory, '', "class='iframe'") . '</li>';?>
|
||||
<?php if($canBatchCreateStory) echo '<li>' . html::a(helper::createLink('story', 'batchCreate', "productID=$productID&branch=$branchID&moduleID=0&story=0&execution=$execution->id", '', true), $lang->execution->batchCreateStroy, '', "class='iframe' data-width='90%'") . '</li>';?>
|
||||
<?php
|
||||
if($canBatchCreateStory)
|
||||
{
|
||||
if(count($allProducts) > 1)
|
||||
{
|
||||
echo '<li>' . html::a('#batchCreateStory', $lang->execution->batchCreateStory, '', 'data-toggle="modal"') . '</li>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<li>' . html::a(helper::createLink('story', 'batchCreate', "productID=$productID&branch=$branchID&moduleID=0&story=0&execution=$execution->id", '', true), $lang->execution->batchCreateStory, '', "class='iframe' data-width='90%'") . '</li>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php if($canLinkStory) echo '<li>' . html::a(helper::createLink('execution', 'linkStory', "execution=$execution->id", '', true), $lang->execution->linkStory, '', "class='iframe' data-width='90%'") . '</li>';?>
|
||||
<?php if($canLinkStoryByPlan) echo '<li>' . html::a('#linkStoryByPlan', $lang->execution->linkStoryByPlan, '', 'data-toggle="modal"') . '</li>';?>
|
||||
<?php if($hasStoryButton and $hasBugButton) echo '<li class="divider"></li>';?>
|
||||
@@ -235,6 +248,22 @@ js::set('hasTaskButton', $hasTaskButton);
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="batchCreateStory">
|
||||
<div class="modal-dialog mw-500px">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon icon-close"></i></button>
|
||||
<h4 class="modal-title"><?php echo $lang->execution->batchCreateStoryTips;?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('products', $allProducts, '', "class='form-control chosen' id='products'");?>
|
||||
<span class='input-group-btn'><?php echo html::a(helper::createLink('story', 'batchCreate', "productID=$productID&branch=$branchID&moduleID=0&story=0&execution=$execution->id", '', true), $lang->execution->batchCreateStory, '', "class='btn btn-primary iframe' data-width='90%' id='batchCreateStoryButton' data-dismiss='modal'");?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="batchCreateBug">
|
||||
<div class="modal-dialog mw-500px">
|
||||
<div class="modal-content">
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
<button class='btn btn-primary' type='button' data-toggle='dropdown'><i class='icon icon-plus'></i> <?php echo $this->lang->create;?> <span class='caret'></span></button>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
<?php if($canCreateStory) echo '<li>' . html::a(helper::createLink('story', 'create', "productID=$productID&branch=0&moduleID=0&story=0&execution=$execution->id", '', true), $lang->execution->createStory, '', "class='iframe'") . '</li>';?>
|
||||
<?php if($canBatchCreateStory) echo '<li>' . html::a(helper::createLink('story', 'batchCreate', "productID=$productID&branch=0&moduleID=0&story=0&execution=$execution->id", '', true), $lang->execution->batchCreateStroy, '', "class='iframe' data-width='90%'") . '</li>';?>
|
||||
<?php if($canBatchCreateStory) echo '<li>' . html::a(helper::createLink('story', 'batchCreate', "productID=$productID&branch=0&moduleID=0&story=0&execution=$execution->id", '', true), $lang->execution->batchCreateStory, '', "class='iframe' data-width='90%'") . '</li>';?>
|
||||
<?php if($canLinkStory) echo '<li>' . html::a(helper::createLink('execution', 'linkStory', "execution=$execution->id", '', true), $lang->execution->linkStory, '', "class='iframe' data-width='90%'") . '</li>';?>
|
||||
<?php if($canLinkStoryByPlan) echo '<li>' . html::a('#linkStoryByPlan', $lang->execution->linkStoryByPlan, '', 'data-toggle="modal"') . '</li>';?>
|
||||
<?php if($hasStoryButton and $hasBugButton) echo '<li class="divider"></li>';?>
|
||||
|
||||
Reference in New Issue
Block a user