From c2921c927acdf08dce3bbe47e049921c3bbd7bc2 Mon Sep 17 00:00:00 2001 From: tanghucheng Date: Wed, 19 Jun 2024 16:52:20 +0800 Subject: [PATCH] * [refac,2h,0h] add confirmDemandRetract for testcase. --- module/testcase/model.php | 6 ++++++ module/testcase/ui/view.html.php | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/module/testcase/model.php b/module/testcase/model.php index df86d65069..85cf09c847 100755 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -1150,6 +1150,12 @@ class testcaseModel extends model if($action == 'review') return ($config->testcase->needReview || !empty($config->testcase->forceReview)) && (isset($case->caseStatus) ? $case->caseStatus == 'wait' : $case->status == 'wait'); if($action == 'showscript') return $case->auto == 'auto'; if($action == 'createcase') return !isset($case->lib) || ($case->lib && empty($case->product)); + /* 判断确认撤销操作按钮的权限。 */ + /* Check confirmdemandretract priv. */ + if($action == 'confirmdemandretract') return !empty($case->confirmeActionType) && $case->confirmeActionType == 'confirmedretract'; + /* 判断确认移除操作按钮的权限。 */ + /* Check confirmdemandunlink priv. */ + if($action == 'confirmdemandunlink') return !empty($case->confirmeActionType) && $case->confirmeActionType == 'confirmedunlink'; return true; } diff --git a/module/testcase/ui/view.html.php b/module/testcase/ui/view.html.php index 26cfc348c8..e8ec2ba0f1 100644 --- a/module/testcase/ui/view.html.php +++ b/module/testcase/ui/view.html.php @@ -60,6 +60,16 @@ if(!$isInModal) ); } +/* 检查是否需要确认撤销/移除。*/ +/* Build confirmeObject. */ +if($this->config->edition == 'ipd') +{ + $testcase = $this->loadModel('story')->getAffectObject(array(), 'case', $case); + + if(!empty($testcase->confirmeActionType)) $config->testcase->actions->view['mainActions'] = array('confirmDemandRetract', 'confirmDemandUnlink'); + if(!empty($testcase->confirmeActionType)) $config->testcase->actions->view['suffixActions'] = array(); +} + /* 初始化底部操作栏。Init bottom actions. */ $actions = !$testcase->deleted ? $this->loadModel('common')->buildOperateMenu($case) : array(); if(!$testcase->deleted) $actions = array_merge($actions['mainActions'], !empty($actions['mainActions']) && !empty($actions['suffixActions']) ? array(array('type' => 'divider')) : array(), $actions['suffixActions']); @@ -206,7 +216,7 @@ $tabs[] = setting() detail ( - set::urlFormatter(array('{caseID}' => $case->caseID, '{version}' => $case->version, '{product}' => $case->product, '{branch}' => $case->branch, '{module}' => $case->module, '{id}' => $case->id, '{lib}' => $case->lib)), + set::urlFormatter(array('{caseID}' => $case->caseID, '{version}' => $case->version, '{product}' => $case->product, '{branch}' => $case->branch, '{module}' => $case->module, '{id}' => $case->id, '{lib}' => $case->lib, '{confirmeObjectID}' => isset($case->confirmeObjectID) ? $case->confirmeObjectID : 0)), set::toolbar($toolbar), set::sections($sections), set::tabs($tabs),