From fe2ea0b37fd0ee969feb72ea1964e2696fc7251e Mon Sep 17 00:00:00 2001 From: liumengyi Date: Fri, 31 May 2024 16:56:55 +0800 Subject: [PATCH] * Fix bug #50426, #50427, #50428, #50429, #50430, #50432, #50433, #50459, #50472. --- module/execution/control.php | 2 +- module/execution/model.php | 1 + module/task/zen.php | 1 - module/tutorial/config/tasks.php | 4 ++-- module/tutorial/js/index.ui.js | 13 ++++++++----- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/module/execution/control.php b/module/execution/control.php index 32ff02d3aa..a4330dcfc2 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -1003,7 +1003,7 @@ class execution extends control if(empty($projectID)) $projectID = key($allProjects) ? key($allProjects) : 0; $project = empty($projectID) ? null : $this->loadModel('project')->fetchByID($projectID); - if($project) $this->executionZen->correctExecutionCommonLang($project, $execution->type); + $project ? $this->executionZen->correctExecutionCommonLang($project, $execution->type) : $project = null; $products = $this->executionZen->getLinkedProducts($copyExecutionID, $planID, $project); $this->executionZen->setLinkedBranches($products, $copyExecutionID, $planID, $project); diff --git a/module/execution/model.php b/module/execution/model.php index b23a05cece..02b0f1e19e 100755 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -25,6 +25,7 @@ class executionModel extends model */ public function checkPriv(int $executionID): bool { + if(commonModel::isTutorialMode()) return true; return !empty($executionID) && ($this->app->user->admin || (strpos(",{$this->app->user->view->sprints},", ",{$executionID},") !== false)); } diff --git a/module/task/zen.php b/module/task/zen.php index 0f5db410ae..d0da59c867 100644 --- a/module/task/zen.php +++ b/module/task/zen.php @@ -1904,7 +1904,6 @@ class taskZen extends task /* Call checkAccess method to judge the user can access the execution or not, if not return the first one he can access. */ $executionID = $this->execution->checkAccess($executionID, $this->executionPairs); - } /* Set Menu. */ diff --git a/module/tutorial/config/tasks.php b/module/tutorial/config/tasks.php index 37c99f2391..b940eb52b3 100644 --- a/module/tutorial/config/tasks.php +++ b/module/tutorial/config/tasks.php @@ -11,7 +11,7 @@ $config->tutorial->tasksConfig['createAccount']['nav']['module'] = 'user $config->tutorial->tasksConfig['createAccount']['nav']['method'] = 'create'; $config->tutorial->tasksConfig['createAccount']['nav']['menuModule'] = 'company'; $config->tutorial->tasksConfig['createAccount']['nav']['menu'] = 'browseUser'; -$config->tutorial->tasksConfig['createAccount']['nav']['form'] = '#createUser'; +$config->tutorial->tasksConfig['createAccount']['nav']['form'] = '#mainContent'; $config->tutorial->tasksConfig['createAccount']['nav']['requiredFields'] = 'account,realname,verifyPassword,password1,password2'; $config->tutorial->tasksConfig['createAccount']['nav']['submit'] = 'button[type=submit]'; $config->tutorial->tasksConfig['createAccount']['nav']['target'] = '.create-user-btn'; @@ -27,7 +27,7 @@ $config->tutorial->tasksConfig['createProgram']['nav']['module'] = 'prog $config->tutorial->tasksConfig['createProgram']['nav']['method'] = 'create'; $config->tutorial->tasksConfig['createProgram']['nav']['menuModule'] = 'program'; $config->tutorial->tasksConfig['createProgram']['nav']['menu'] = '.create-program-btn'; -$config->tutorial->tasksConfig['createProgram']['nav']['form'] = '#createProgram'; +$config->tutorial->tasksConfig['createProgram']['nav']['form'] = '#form-program-create'; $config->tutorial->tasksConfig['createProgram']['nav']['submit'] = 'button[type=submit]'; $config->tutorial->tasksConfig['createProgram']['nav']['target'] = '.create-program-btn'; $config->tutorial->tasksConfig['createProgram']['nav']['targetPageName'] = $lang->tutorial->tasks->createProgram->targetPageName; diff --git a/module/tutorial/js/index.ui.js b/module/tutorial/js/index.ui.js index 4f0ea2ccf0..42dc52a060 100644 --- a/module/tutorial/js/index.ui.js +++ b/module/tutorial/js/index.ui.js @@ -530,7 +530,8 @@ $(function() requiredFields = requiredFields.split(','); $.each(requiredFields, function(_, requiredId) { - var $required = $$('[name^=' + requiredId); + if(requiredId === '') return true; + var $required = $$('input[name="' + requiredId + '"]'); var $authBlock = !$required.is('input') ? $required.find('input').last() : $required; if($authBlock.length) { @@ -538,7 +539,8 @@ $(function() if(val === undefined || val === null || val === '' || val === '0') { targetStatus.submitOK = false; - if(!targetStatus.waitField) targetStatus.waitField = $required; + if(task.nav.module == 'program' && task.nav.method == 'create' && requiredId === 'end' && $$('[name="longTime"]').val() == 'on') targetStatus.submitOK = true; + if(!targetStatus.submitOK && !targetStatus.waitField) targetStatus.waitField = $required; } } }); @@ -549,9 +551,10 @@ $(function() var onFormSubmit = function(e) { - var iWindow = getAppWindow(); + var iWindow = getAppWindow(); var fieldSelector = getFieldSelector(task, iWindow); - var status = checkFieldStatusReady(iWindow, fieldSelector); + var status = checkFieldStatusReady(iWindow, fieldSelector); + debugger; if(status.submitOK) { setTaskStatus(true, true, true, true); @@ -583,7 +586,7 @@ $(function() else if(requiredFields) { requiredFields = requiredFields.split(','); - $.each(requiredFields, function(_, requiredId){ fieldSelector += ',' + '#' + requiredId;}); + $.each(requiredFields, function(_, requiredId){ fieldSelector += ',' + '[name="' + requiredId + '"]';}); if(fieldSelector.length > 1) fieldSelector = fieldSelector.substring(1); }