Merge branch 'sprint/master_lanzongjun_fixbug' into 'master'

* Fix Task #77278#77266#77260#77262

See merge request easycorp/zentaopms!6299
This commit is contained in:
孙广明
2022-11-22 08:50:49 +00:00
8 changed files with 24 additions and 15 deletions
@@ -1,7 +1,7 @@
<script>
<?php if(trim($config->visions, ',') == 'lite'): ?>
$('#headerActions').css("right", '110px');
$('#headerActions').css("right", '140px');
<?php else: ?>
$('#headerActions').css("right", '205px');
$('#headerActions').css("right", '235px');
<?php endif; ?>
</script>
+1 -1
View File
@@ -2129,7 +2129,7 @@ class execution extends control
}
/* Set custom. */
foreach(explode(',', $this->config->execution->customBatchEditFields) as $field) $customFields[$field] = $this->lang->execution->$field;
foreach(explode(',', $this->config->execution->customBatchEditFields) as $field) $customFields[$field] = str_replace($this->lang->executionCommon, $this->lang->execution->common, $this->lang->execution->$field);
$this->view->customFields = $customFields;
$this->view->showFields = $this->config->execution->custom->batchEditFields;
+3 -3
View File
@@ -566,8 +566,8 @@ class executionModel extends model
if($oldExecution->type == 'stage' and $field == 'name') $this->lang->project->name = str_replace($this->lang->executionCommon, $this->lang->project->stage, $this->lang->project->name);
}
$relationExecutionsID = $this->getRelatedExecutions($executionID);
$relationExecutionsID = !empty($relationExecutionsID) ? implode(',', array_keys($relationExecutionsID)) : '';
$relatedExecutionsID = $this->getRelatedExecutions($executionID);
$relatedExecutionsID = !empty($relatedExecutionsID) ? implode(',', array_keys($relatedExecutionsID)) : '';
/* Update data. */
$this->lang->error->unique = $this->lang->error->repeat;
@@ -578,7 +578,7 @@ class executionModel extends model
->checkIF($execution->begin != '', 'begin', 'date')
->checkIF($execution->end != '', 'end', 'date')
->checkIF($execution->end != '', 'end', 'ge', $execution->begin)
->checkIF(!empty($execution->name), 'name', 'unique', "id in ('$relationExecutionsID') and type in ('sprint','stage', 'kanban') and `project` = $executionProject and `deleted` = '0'")
->checkIF(!empty($execution->name), 'name', 'unique', "id in ('$relatedExecutionsID') and type in ('sprint','stage', 'kanban') and `project` = $executionProject and `deleted` = '0'")
->checkIF(!empty($execution->code), 'code', 'unique', "id != $executionID and type in ('sprint','stage', 'kanban') and `deleted` = '0'")
->checkFlow()
->where('id')->eq($executionID)
+7 -2
View File
@@ -431,9 +431,13 @@ class product extends control
if($this->app->tab == 'doc') unset($this->lang->doc->menu->product['subMenu']);
$gobackLink = '';
if(isset($output['from']) and $output['from'] == 'qa') $gobackLink = $this->createLink('qa', 'index');
if(isset($output['from']) and $output['from'] == 'global') $gobackLink = $this->createLink('product', 'all');
$this->view->title = $this->lang->product->create;
$this->view->position[] = $this->view->title;
$this->view->gobackLink = (isset($output['from']) and $output['from'] == 'global') ? $this->createLink('product', 'all') : '';
$this->view->gobackLink = $gobackLink;
$this->view->groups = $this->loadModel('group')->getPairs();
$this->view->programID = $programID;
$this->view->poUsers = $poUsers;
@@ -1190,7 +1194,8 @@ class product extends control
elseif($moduleName == 'qa')
{
$this->loadModel('qa')->setMenu(array(), 0);
$this->app->rawModule = $activeMenu;
$this->app->rawModule = $activeMenu;
$this->view->moduleName = $moduleName;
if($activeMenu == 'testcase') unset($this->lang->qa->menu->testcase['subMenu']);
if($activeMenu == 'testsuite') unset($this->lang->qa->menu->testcase['subMenu']);
+1 -1
View File
@@ -21,7 +21,7 @@
</div>
<?php else:?>
<div class="table-empty-tip">
<p><span class="text-muted"><?php echo $lang->product->noProduct;?></span> <?php common::printLink('product', 'create', '', "<i class='icon icon-plus'></i> " . $lang->product->create, '', "class='btn btn-info' data-app='product'");?></p>
<p><span class="text-muted"><?php echo $lang->product->noProduct;?></span> <?php common::printLink('product', 'create', "programID=0&extra=from=$moduleName", "<i class='icon icon-plus'></i> " . $lang->product->create, '', "class='btn btn-info' data-app='product'");?></p>
</div>
<?php endif;?>
<?php include '../../common/view/footer.html.php';?>
+3 -3
View File
@@ -1086,15 +1086,15 @@ class programplanModel extends model
$this->lang->project->name = $this->lang->programplan->name;
$this->lang->project->code = $this->lang->execution->code;
$relationExecutionsID = $this->loadModel('execution')->getRelatedExecutions($planID);
$relationExecutionsID = !empty($relationExecutionsID) ? implode(',', array_keys($relationExecutionsID)) : '';
$relatedExecutionsID = $this->loadModel('execution')->getRelatedExecutions($planID);
$relatedExecutionsID = !empty($relatedExecutionsID) ? implode(',', array_keys($relatedExecutionsID)) : '';
$this->dao->update(TABLE_PROJECT)->data($plan)
->autoCheck()
->batchCheck($this->config->programplan->edit->requiredFields, 'notempty')
->checkIF($plan->end != '0000-00-00', 'end', 'ge', $plan->begin)
->checkIF($plan->percent != false, 'percent', 'float')
->checkIF(!empty($plan->name), 'name', 'unique', "id in ('{$relationExecutionsID}') and type in ('sprint','stage') and `project` = {$oldPlan->project} and `deleted` = '0'" . ($parentStage ? " and `parent` = {$oldPlan->parent}" : ''))
->checkIF(!empty($plan->name), 'name', 'unique', "id in ('{$relatedExecutionsID}') and type in ('sprint','stage') and `project` = {$oldPlan->project} and `deleted` = '0'" . ($parentStage ? " and `parent` = {$oldPlan->parent}" : ''))
->checkIF(!empty($plan->code) and $setCode, 'code', 'unique', "id != $planID and type in ('sprint','stage','kanban') and `deleted` = '0'")
->where('id')->eq($planID)
->exec();
+6 -2
View File
@@ -2015,7 +2015,7 @@ class story extends control
*/
public function batchToTask($executionID = 0, $projectID = 0)
{
if($executionID) $this->loadModel('execution')->setMenu($executionID);
if($this->app->tab == 'execution' and $executionID) $this->loadModel('execution')->setMenu($executionID);
if(!empty($_POST['name']))
{
@@ -2414,7 +2414,11 @@ class story extends control
$type = $story->type == 'story' ? 'linkRelateSR' : 'linkRelateUR';
$method = $story->type == 'story' ? 'linkStories' : 'linkRequirements';
if(!empty($product->shadow)) unset($this->config->product->search['fields']['product']);
if(!empty($product->shadow))
{
unset($this->config->product->search['fields']['product']);
unset($this->config->product->search['fields']['plan']);
}
/* Build search form. */
$actionURL = $this->createLink('story', $method, "storyID=$storyID&browseType=bySearch&excludeStories=$excludeStories&queryID=myQueryID", '', true);
+1 -1
View File
@@ -95,7 +95,7 @@ th.c-confirmed, th.c-confirm {text-align: center;}
#headerActions .setting {border-color: transparent;}
#headerActions .dropdown-menu {top: 35px; z-index: 2000;}
#headerActions .dropdown-menu:before, #headerActions .dropdown-menu:hover:before {position: absolute; top: -9px; right: 50%; width: 0; height: 0; content: ' '; border-color: transparent transparent #fff transparent; border-style: solid; border-width: 0 10px 10px 10px;}
[lang^='zh'] #headerActions {right: 230px;}
[lang^='zh'] #headerActions {right: 235px;}
.icon-size-width:before {content: "\e9c5"; transform: rotate(90deg); -ms-transform: rotate(90deg); -moz-transform: rotate(90deg); -webkit-transform: rotate(90deg); -o-transform: rotate(90deg);}
.checkbox-primary > label{overflow: hidden;}