Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms into importExport

This commit is contained in:
tanghucheng
2022-07-14 15:49:38 +08:00
17 changed files with 111 additions and 55 deletions
+8 -2
View File
@@ -44,11 +44,17 @@
</tr>
<tr id='mode1Rule' class='hidden'>
<th></th>
<td colspan='2'><span style='color:#5E626D;font-weight:bold;font-size:13px;'><i class="icon icon-exclamation-sign"></i><?php echo $lang->admin->safe->modeRuleList[1] . $lang->admin->safe->noticeStrong;?></span></td>
<td colspan='2'>
<i class="icon icon-exclamation-sign"></i>
<span style='color:#5E626D;font-weight:bold;font-size:13px;'><?php echo $lang->admin->safe->modeRuleList[1] . $lang->admin->safe->noticeStrong;?></span>
</td>
</tr>
<tr id='mode2Rule' class='hidden'>
<th></th>
<td colspan='2'><span style='color:#5E626D;font-weight:bold;font-size:13px;'><i class="icon icon-exclamation-sign"></i><?php echo $lang->admin->safe->modeRuleList[2] . $lang->admin->safe->noticeStrong;?></span></td>
<td colspan='2'>
<i class="icon icon-exclamation-sign"></i>
<span style='color:#5E626D;font-weight:bold;font-size:13px;'><i class="icon icon-exclamation-sign"></i><?php echo $lang->admin->safe->modeRuleList[2] . $lang->admin->safe->noticeStrong;?></span>
</td>
</tr>
<tr>
<th><?php echo $lang->admin->safe->weak?></th>
+3 -2
View File
@@ -9,5 +9,6 @@ td.branchName > span {vertical-align: middle;}
#mergeBranch .form-actions {padding-top: 20px;}
.modal-body {padding-top: 0;}
.tips {background-color: #ffffff; max-width: 615px; float: left;}
.icon-exclamation-sign.icon {float: left; margin-top: 40px; color: #2667E3; font-size: 24px;}
.tips {background-color: #ffffff; max-width: 650px; display: flex; padding: 14px;}
.icon-exclamation-sign.icon {align-self: center; color: #2667E3; font-size: 24px;}
#marginTips {max-width: 585px; margin-left: 10px;}
+6 -4
View File
@@ -153,11 +153,13 @@
<table class='table table-form'>
<tr>
<td colspan="8">
<i class="icon-exclamation-sign icon"></i>
<div class="alert no-margin tips">
<p><?php echo $lang->branch->mergedMain;?></p>
<p><?php echo $lang->branch->mergeTips;?></p>
<p><?php echo $lang->branch->targetBranchTips;?></p>
<i class="icon-exclamation-sign icon"></i>
<div id="marginTips">
<p><?php echo $lang->branch->mergedMain;?></p>
<p><?php echo $lang->branch->mergeTips;?></p>
<p><?php echo $lang->branch->targetBranchTips;?></p>
</div>
</div>
</td>
</tr>
-1
View File
@@ -331,7 +331,6 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field)
$(function()
{
parent.$('#triggerModal .modal-content .modal-header .close').hide();
$('#closeModal').on('click', function(){window.parent.$.closeModal();})
})
</script>
<?php endif;?>
+14 -2
View File
@@ -4327,13 +4327,13 @@ class executionModel extends model
}
else
{
$trClass = 'is-nest-child';
$trClass = 'table-nest-hide';
$trAttrs = "data-id={$execution->id} data-parent={$execution->parent}";
$trAttrs .= " data-nest-parent='$execution->parent' data-order='$execution->order' data-nest-path=',$execution->parent,$execution->id,'";
}
$burns = join(',', $execution->burns);
echo "<tr $trAttrs class=$trClass>";
echo "<tr $trAttrs class='$trClass'>";
echo "<td><span id=$execution->id class='table-nest-icon icon table-nest-toggle'></span>";
if($this->config->systemMode == 'new')
{
@@ -4441,6 +4441,18 @@ class executionModel extends model
return $productpairs;
}
/**
* Get lifetime by id list.
*
* @param string $idList
* @access public
* @return array
*/
public function getLifetimeByIdList($idList = '')
{
return $this->dao->select('id,lifetime')->from(TABLE_EXECUTION)->where('id')->in($idList)->fetchPairs();
}
/**
** Set stage tree path.
**
+5 -4
View File
@@ -1680,9 +1680,10 @@ class kanbanModel extends model
if($browseType == 'task')
{
if($searchValue != '' and strpos($object->name, $searchValue) === false) continue;
$cardData['name'] = $object->name;
$cardData['status'] = $object->status;
$cardData['left'] = $object->left;
$cardData['name'] = $object->name;
$cardData['status'] = $object->status;
$cardData['left'] = $object->left;
$cardData['estStarted'] = $object->estStarted;
}
else
{
@@ -3808,7 +3809,7 @@ class kanbanModel extends model
{
$menu = array();
if(common::hasPriv('task', 'edit') and $this->task->isClickable($task, 'edit')) $menu[] = array('label' => $this->lang->task->edit, 'icon' => 'edit', 'url' => helper::createLink('task', 'edit', "taskID=$task->id", '', true), 'size' => '95%');
if(common::hasPriv('task', 'edit') and $this->task->isClickable($task, 'edit')) $menu[] = array('label' => $this->lang->task->edit, 'icon' => 'edit', 'url' => helper::createLink('task', 'edit', "taskID=$task->id&comment=false&kanbanGroup=default&from=taskkanban", '', true), 'size' => '95%');
if(common::hasPriv('task', 'pause') and $this->task->isClickable($task, 'pause')) $menu[] = array('label' => $this->lang->task->pause, 'icon' => 'pause', 'url' => helper::createLink('task', 'pause', "taskID=$task->id&extra=from=taskkanban", '', true));
if(common::hasPriv('task', 'restart') and $this->task->isClickable($task, 'restart')) $menu[] = array('label' => $this->lang->task->restart, 'icon' => 'play', 'url' => helper::createLink('task', 'restart', "taskID=$task->id&from=taskkanban", '', true));
if(common::hasPriv('task', 'recordEstimate') and $this->task->isClickable($task, 'recordEstimate')) $menu[] = array('label' => $this->lang->task->recordEstimate, 'icon' => 'time', 'url' => helper::createLink('task', 'recordEstimate', "taskID=$task->id&from=taskkanban", '', true));
+1 -1
View File
@@ -639,7 +639,7 @@ class productplanModel extends model
$childStatus = $this->dao->select('status')->from(TABLE_PRODUCTPLAN)->where('parent')->eq($parentID)->andWhere('deleted')->eq(0)->fetchPairs();
/* If the subplan is empty, update the plan. */
if(empty($childStatus)) $this->dao->update(TABLE_PRODUCTPLAN)->set('parent')->eq(0)->exec();
if(empty($childStatus)) $this->dao->update(TABLE_PRODUCTPLAN)->set('parent')->eq(0)->where('id')->eq($parentID)->exec();
if(count($childStatus) == 1 and isset($childStatus['wait']))
{
+1
View File
@@ -31,6 +31,7 @@ function loadData($showmore)
var executionID = $showmore.attr('data-parent');
var maxTaskID = $showmore.attr('data-id');
var maxTaskID = maxTaskID.replace('t', '');
var link = createLink('task', 'ajaxGetTasks', 'executionID=' + executionID + '&maxTaskID=' + maxTaskID);
$.get(link, function(data)
{
+4 -3
View File
@@ -21,22 +21,23 @@
<h2 class='text-center'><?php echo $lang->project->chooseProgramType; ?></h2>
<div class='row'>
<div class='col-xs-4'>
<?php $tab = $from == 'global' ? 'project' : $app->tab;?>
<div class='project-type text-center'>
<?php echo html::a($this->createLink("project", "create", "model=scrum&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='scrum' src='{$config->webRoot}theme/default/images/main/scrum.png'>", '', "data-app='{$this->app->tab}' class='createButton'")?>
<?php echo html::a($this->createLink("project", "create", "model=scrum&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='scrum' src='{$config->webRoot}theme/default/images/main/scrum.png'>", '', "data-app='{$tab}' class='createButton'")?>
<h3><?php echo $lang->project->scrum; ?></h3>
<p><?php echo $lang->project->scrumTitle; ?></p>
</div>
</div>
<div class='col-xs-4'>
<div class='project-type text-center'>
<?php echo html::a($this->createLink("project", "create", "model=waterfall&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='waterfall' src='{$config->webRoot}theme/default/images/main/waterfall.png'>", '', "data-app='{$this->app->tab}' class='createButton'")?>
<?php echo html::a($this->createLink("project", "create", "model=waterfall&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='waterfall' src='{$config->webRoot}theme/default/images/main/waterfall.png'>", '', "data-app='{$tab}' class='createButton'")?>
<h3><?php echo $lang->project->waterfall; ?></h3>
<p><?php echo $lang->project->waterfallTitle; ?></p>
</div>
</div>
<div class='col-xs-4'>
<div class='project-type text-center'>
<?php echo html::a($this->createLink("project", "create", "model=kanban&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='kanban' src='{$config->webRoot}theme/default/images/main/kanban.png'>", '', "data-app='{$this->app->tab}' class='createButton'")?>
<?php echo html::a($this->createLink("project", "create", "model=kanban&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID"), "<img class='project-type-img' data-type='kanban' src='{$config->webRoot}theme/default/images/main/kanban.png'>", '', "data-app='{$tab}' class='createButton'")?>
<h3><?php echo $lang->project->kanban;?></h3>
<p><?php echo $lang->project->kanbanTitle;?></p>
</div>
-1
View File
@@ -273,7 +273,6 @@ $(function()
$(function()
{
parent.$('#triggerModal .modal-content .modal-header .close').hide();
$('#closeModal').on('click', function(){window.parent.$.closeModal();})
})
</script>
<?php endif;?>
+21 -15
View File
@@ -290,7 +290,8 @@ class task extends control
/* Set Custom*/
foreach(explode(',', $this->config->task->customCreateFields) as $field) $customFields[$field] = $this->lang->task->$field;
if($execution->type == 'ops') unset($customFields['story']);
$executions = $this->config->systemMode == 'classic' ? $executions : $this->execution->getByProject($projectID, !common::canModify('execution', $execution) ? 'noclosed' : 'all', 0, true);
$this->view->customFields = $customFields;
$this->view->showFields = $this->config->task->custom->createFields;
@@ -300,7 +301,8 @@ class task extends control
$this->view->position = $position;
$this->view->gobackLink = (isset($output['from']) and $output['from'] == 'global') ? $this->createLink('execution', 'task', "executionID=$executionID") : '';
$this->view->execution = $execution;
$this->view->executions = $this->config->systemMode == 'classic' ? $executions : $this->execution->getByProject($projectID, !common::canModify('execution', $execution) ? 'noclosed' : 'all', 0, true);
$this->view->executions = $executions;
$this->view->lifetimeList = $this->execution->getLifetimeByIdList(array_keys($executions));
$this->view->task = $task;
$this->view->users = $users;
$this->view->storyID = $storyID;
@@ -435,6 +437,9 @@ class task extends control
if($execution->type == 'stage' and strpos('estStarted,deadline', $field) !== false) continue;
$customFields[$field] = $this->lang->task->$field;
}
if($execution->lifetime == 'ops') unset($customFields['story']);
$this->view->customFields = $customFields;
$this->view->showFields = $this->config->task->custom->batchCreateFields;
@@ -502,10 +507,11 @@ class task extends control
* @param int $taskID
* @param bool $comment
* @param string $kanbanGroup
* @param string $from
* @access public
* @return void
*/
public function edit($taskID, $comment = false, $kanbanGroup = 'default')
public function edit($taskID, $comment = false, $kanbanGroup = 'default', $from = '')
{
$this->commonAction($taskID);
$task = $this->task->getById($taskID);
@@ -553,7 +559,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == 'kanban')
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == 'kanban')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$kanbanData = $this->loadModel('kanban')->getRDKanban($task->execution, $execLaneType, 'id_desc', 0, $execGroupBy, $rdSearchValue);
@@ -561,7 +567,7 @@ class task extends control
return print(js::closeModal('parent.parent', '', "parent.parent.updateKanban($kanbanData)"));
}
else
if($from == 'taskkanban')
{
$taskSearchValue = $this->session->taskSearchValue ? $this->session->taskSearchValue : '';
$kanbanData = $this->loadModel('kanban')->getExecutionKanban($task->execution, $execLaneType, $execGroupBy, $taskSearchValue);
@@ -792,7 +798,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == 'kanban')
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == 'kanban')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$kanbanData = $this->loadModel('kanban')->getRDKanban($task->execution, $execLaneType, 'id_desc', 0, $execGroup, $rdSearchValue);
@@ -1051,7 +1057,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == 'kanban')
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == 'kanban')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$regionID = !empty($output['regionID']) ? $output['regionID'] : 0;
@@ -1124,7 +1130,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == 'kanban')
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == 'kanban')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$kanbanData = $this->loadModel('kanban')->getRDKanban($task->execution, $execLaneType, 'id_desc', 0, $execGroupBy, $rdSearchValue);
@@ -1285,7 +1291,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == "kanban")
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == "kanban")
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$regionID = !empty($output['regionID']) ? $output['regionID'] : 0;
@@ -1383,7 +1389,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == 'kanban')
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == 'kanban')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$regionID = !empty($output['regionID']) ? $output['regionID'] : 0;
@@ -1450,7 +1456,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == 'kanban')
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == 'kanban')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$kanbanData = $this->loadModel('kanban')->getRDKanban($task->execution, $execLaneType, 'id_desc', 0, $execGroupBy, $rdSearchValue);
@@ -1531,7 +1537,7 @@ class task extends control
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == 'kanban')
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == 'kanban')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$regionID = !empty($output['regionID']) ? $output['regionID'] : 0;
@@ -1704,7 +1710,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == 'kanban')
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == 'kanban')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$regionID = !empty($output['regionID']) ? $output['regionID'] : 0;
@@ -1770,7 +1776,7 @@ class task extends control
$execution = $this->execution->getByID($task->execution);
$execLaneType = $this->session->execLaneType ? $this->session->execLaneType : 'all';
$execGroupBy = $this->session->execGroupBy ? $this->session->execGroupBy : 'default';
if($execution->type == "kanban")
if(($this->app->tab == 'execution' or ($this->config->vision == 'lite' and $this->app->tab == 'project')) and $execution->type == "kanban")
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$regionID = !empty($output['regionID']) ? $output['regionID'] : 0;
@@ -2333,7 +2339,7 @@ class task extends control
{
$task = $this->task->getById($taskID);
$execution = $this->execution->getByID($task->execution);
if($execution->type == 'kanban' and $this->app->tab == 'execution')
if(($this->app->tab == 'execution' or $this->config->vision == 'lite') and $this->app->tab == 'execution')
{
$rdSearchValue = $this->session->rdSearchValue ? $this->session->rdSearchValue : '';
$kanbanData = $this->loadModel('kanban')->getRDKanban($task->execution, $this->session->execLaneType ? $this->session->execLaneType : 'all', 'id_desc', 0, $kanbanGroup, $rdSearchValue);
+27 -2
View File
@@ -3,6 +3,17 @@ $(function()
$('#customField').click(function()
{
hiddenRequireFields();
var fieldList = showFields + ',';
var requiredList = ',' + requiredFields + ',';
if(lifetime == 'ops')
{
$('#fieldsstory').parent('div').addClass('hidden');
}
else if(fieldList.indexOf('story') >= 0 && requiredList.indexOf('story') < 0)
{
$('#fieldsstory').parent('div').removeClass('hidden');
}
});
/* Implement a custom form without feeling refresh. */
@@ -22,6 +33,17 @@ $(function()
*/
function loadAll(executionID)
{
lifetime = lifetimeList[executionID];
var fieldList = showFields + ',';
if(lifetime == 'ops')
{
$('.storyBox').addClass('hidden');
}
else if(fieldList.indexOf('story') >= 0)
{
$('.storyBox').removeClass('hidden');
}
loadModuleMenu(executionID);
loadExecutionStories(executionID);
loadExecutionMembers(executionID);
@@ -408,8 +430,11 @@ $(document).ready(function()
});
$('#type').change(function()
{
$('#selectTestStoryBox').toggleClass('hidden', $(this).val() != 'test');
toggleSelectTestStory();
if(lifetime != 'ops')
{
$('#selectTestStoryBox').toggleClass('hidden', $(this).val() != 'test');
toggleSelectTestStory();
}
});
setStoryRelated();
+11 -11
View File
@@ -116,8 +116,8 @@ class taskModel extends model
$task = $this->loadModel('file')->processImgURL($task, $this->config->task->editor->create['id'], $this->post->uid);
/* Fix Bug #1525 */
$executionType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($executionID)->fetch('type');
if($executionType == 'ops')
$executionLifetime = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($executionID)->fetch('lifetime');
if($executionLifetime == 'ops')
{
$requiredFields = str_replace(",story,", ',', "$requiredFields");
$task->story = 0;
@@ -381,9 +381,9 @@ class taskModel extends model
}
/* Fix bug #1525*/
$executionType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($executionID)->fetch('type');
$executionLifetime = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($executionID)->fetch('lifetime');
$requiredFields = ',' . $this->config->task->create->requiredFields . ',';
if($executionType == 'ops') $requiredFields = str_replace(',story,', ',', $requiredFields);
if($executionLifetime == 'ops') $requiredFields = str_replace(',story,', ',', $requiredFields);
$requiredFields = trim($requiredFields, ',');
/* check data. */
@@ -1036,9 +1036,9 @@ class taskModel extends model
$task->mode = '';
}
$executionType = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($task->execution)->fetch('type');
$executionLifetime = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($task->execution)->fetch('lifetime');
$requiredFields = "," . $this->config->task->edit->requiredFields . ",";
if($executionType == 'ops')
if($executionLifetime == 'ops')
{
$requiredFields = str_replace(",story,", ',', "$requiredFields");
$task->story = 0;
@@ -3760,19 +3760,19 @@ class taskModel extends model
public function buildNestedList($execution, $task, $isChild = false, $showmore = false, $users)
{
$showmore = $showmore ? 'showmore' : '';
$trAttrs = "data-id=$task->id";
$trAttrs = "data-id='t$task->id'";
if(!$isChild)
{
$path = $execution->grade == 2 ? "$execution->parent,$execution->id,$task->id," : ",$execution->id,$task->id,";
$trAttrs .= " data-parent=$execution->id data-nest-parent=$execution->id data-nest-path=$path";
$path = $execution->grade == 2 ? "$execution->parent,$execution->id,t$task->id," : ",$execution->id,t$task->id,";
$trAttrs .= " data-parent='$execution->id' data-nest-parent='$execution->id' data-nest-path='$path'";
if(empty($task->children)) $trAttrs .= " data-nested='false'";
$trClass = empty($task->children) ? '' : " has-nest-child";
}
else
{
$path = $execution->grade == 2 ? "$execution->parent,$execution->id,$task->parent,$task->id," : ",$execution->id,$task->parent,$task->id,";
$path = $execution->grade == 2 ? "$execution->parent,$execution->id,$task->parent,t$task->id," : ",$execution->id,$task->parent,t$task->id,";
$trClass = 'is-nest-child no-nest';
$trAttrs .= " data-nested='false' data-parent=$task->parent data-nest-parent=$task->parent data-nest-path=$path";
$trAttrs .= " data-nested='false' data-parent='t$task->parent' data-nest-parent='t$task->parent' data-nest-path='$path'";
}
$list = "<tr $trAttrs class='$trClass $showmore'>";
+5 -6
View File
@@ -45,7 +45,7 @@ $colspan = count($visibleFields) + 3;
<?php echo $lang->task->batchCreate;?>
<?php endif;?>
</h2>
<?php if($execution->type != 'ops'):?>
<?php if($execution->lifetime != 'ops'):?>
<a class="checkbox-primary pull-left" id='zeroTaskStory' href='javascript:toggleZeroTaskStory();'>
<label><?php echo $lang->story->zeroTask;?></label>
</a>
@@ -67,7 +67,7 @@ $colspan = count($visibleFields) + 3;
<tr>
<th class='c-id'><?php echo $lang->idAB;?></th>
<th class='c-module<?php echo zget($visibleFields, 'module', ' hidden') . zget($requiredFields, 'module', '', ' required');?> moduleBox'><?php echo $lang->task->module?></th>
<?php if($execution->type != 'ops'):?>
<?php if($execution->lifetime != 'ops'):?>
<th class='c-story<?php echo zget($visibleFields, 'story', ' hidden') . zget($requiredFields, 'story', '', ' required');?> storyBox'><?php echo $lang->task->story;?></th>
<?php endif;?>
<th class='c-name required has-btn'><?php echo $lang->task->name;?></span></th>
@@ -99,7 +99,7 @@ $colspan = count($visibleFields) + 3;
$lang->task->typeList['ditto'] = $lang->task->ditto;
$members['ditto'] = $lang->task->ditto;
$modules['ditto'] = $lang->task->ditto;
if($execution->type == 'ops') $colspan = $colspan - 1;
if($execution->lifetime == 'ops') $colspan = $colspan - 1;
?>
<?php for($i = 1; $i <= $config->task->batchCreate; $i++):?>
<?php
@@ -121,7 +121,7 @@ $colspan = count($visibleFields) + 3;
<?php echo html::select("module[$i]", $modules, $moduleID, "class='form-control chosen' onchange='setStories(this.value, $execution->id)'")?>
<?php echo html::hidden("parent[$i]", $parent);?>
</td>
<?php if($execution->type != 'ops'):?>
<?php if($execution->lifetime != 'ops'):?>
<td class="<?php echo zget($visibleFields, 'story', 'hidden');?> storyBox" style='overflow: visible'>
<div class='input-group'>
<?php echo html::select("story[$i]", $stories, $currentStory, "class='form-control chosen' onchange='setStoryRelated($i)'");?>
@@ -266,7 +266,7 @@ $colspan = count($visibleFields) + 3;
<?php echo html::select("module[$i]", $modules, $moduleID, "class='form-control chosen'")?>
<?php echo html::hidden("parent[$i]", $parent);?>
</td>
<?php if($execution->type != 'ops'):?>
<?php if($execution->lifetime != 'ops'):?>
<td class="<?php echo zget($visibleFields, 'story', 'hidden');?> storyBox" style='overflow: visible'>
<div class='input-group'>
<?php echo html::select("story[$i]", $stories, $currentStory, "class='form-control chosen' onchange='setStoryRelated($i)'");?>
@@ -340,7 +340,6 @@ $colspan = count($visibleFields) + 3;
$(function()
{
parent.$('#triggerModal .modal-content .modal-header .close').hide();
$('#closeModal').on('click', function(){window.parent.$.closeModal();});
});
</script>
<?php endif;?>
+2
View File
@@ -19,6 +19,8 @@
<?php js::set('vision', $config->vision);?>
<?php js::set('requiredFields', $config->task->create->requiredFields);?>
<?php js::set('estimateNotEmpty', sprintf($lang->error->notempty, $lang->task->estimate))?>
<?php js::set('lifetime', $execution->lifetime);?>
<?php js::set('lifetimeList', $lifetimeList);?>
<?php if(!empty($storyID)):?>
<style> .title-group.required > .required:after {right: 110px;}</style>
<?php endif;?>
+1 -1
View File
@@ -30,7 +30,7 @@
</tr>
<tr>
<th><?php echo $lang->testcase->reviewResultAB;?></th>
<td><?php echo html::select('result', $lang->testcase->reviewResultList, '', 'class=form-control');?></td><td></td>
<td><?php echo html::select('result', $lang->testcase->reviewResultList, '', 'class=form-control required');?></td><td></td>
</tr>
<tr class='hide'>
<th><?php echo $lang->testcase->status;?></th>
+2
View File
@@ -1237,6 +1237,8 @@ function showCheckedFields(fields)
if(!$('.borderBox').hasClass('hidden')) $('.borderBox').addClass('hidden');
if(!$('.datePlanBox').hasClass('hidden')) $('.datePlanBox').addClass('hidden');
}
if(typeof lifetime != 'undefined' && lifetime == 'ops') $('.storyBox').addClass('hidden');
}
}