From adc90a6bd0f9b1a65f629694f457ddfb72a2432d Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Mon, 31 Aug 2020 15:37:03 +0800 Subject: [PATCH 01/24] * Finish task #7723. --- module/common/model.php | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/module/common/model.php b/module/common/model.php index b1b9895bc1..9ff7f1f9c5 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -614,6 +614,7 @@ class commonModel extends model $subLink = helper::createLink($subModule, $subMethod, $subParams); if($subMenuItem->name == 'program') { + /* Print program sub menu.*/ global $dbh; $program = $dbh->query("SELECT * FROM " . TABLE_PROJECT . " WHERE `id` = '{$app->session->program}'")->fetch(); $subActive .= 'dropdown-submenu'; @@ -2116,6 +2117,16 @@ EOD; return $response; } + /** + * Set main menu by nav group. + * + * @param string $group + * @param string $moduleName + * @param string $methodName + * @static + * @access public + * @return string + */ public static function setMainMenuByGroup($group, $moduleName, $methodName) { global $lang; @@ -2149,6 +2160,14 @@ EOD; if($group == 'program') $lang->menu = self::getProgramMainMenu($moduleName); } + /** + * Replace menu vars. + * + * @param object $menus + * @static + * @access public + * @return string + */ public static function processMenuVars($menus) { global $app, $lang; @@ -2176,6 +2195,14 @@ EOD; return $menus; } + /** + * Get program main menu by template. + * + * @param varchar $moduleName + * @static + * @access public + * @return string + */ public static function getProgramMainMenu($moduleName) { global $app, $lang, $dbh; @@ -2197,6 +2224,14 @@ EOD; } } + /** + * Get program module menu by template. + * + * @param varchar $moduleName + * @static + * @access public + * @return string + */ public static function getProgramModuleMenu($moduleName) { global $app, $lang, $dbh; @@ -2211,6 +2246,17 @@ EOD; } } + /** + * Get relations for two object. + * + * @param varchar $AType + * @param int $AID + * @param varchar $BType + * @param int $BID + * @static + * @access public + * @return string + */ public function getRelations($AType = '', $AID = 0, $BType = '', $BID = 0) { return $this->dao->select('*')->from(TABLE_RELATION) From 63e462a885db6a1493a3809b5db3f0a578acbbaa Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Mon, 31 Aug 2020 16:00:28 +0800 Subject: [PATCH 02/24] * Finish task #7724. --- module/common/view/header.html.php | 4 ++-- module/custom/model.php | 4 ++-- module/program/model.php | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/module/common/view/header.html.php b/module/common/view/header.html.php index 94f4e55e95..44ffdef0a6 100755 --- a/module/common/view/header.html.php +++ b/module/common/view/header.html.php @@ -19,8 +19,8 @@ include 'chosen.html.php';
- loadModel('program')->getSwapper($this->program->getPairs(), $this->session->program, $app->rawModule, $app->rawMethod);?> - loadModel('custom')->getSwapper();?> + loadModel('program')->getSwitcher($this->program->getPairs(), $this->session->program, $app->rawModule, $app->rawMethod);?> + loadModel('custom')->getModeSwitcher();?>
diff --git a/module/custom/model.php b/module/custom/model.php index 44843e9782..41612151ec 100644 --- a/module/custom/model.php +++ b/module/custom/model.php @@ -362,13 +362,13 @@ class customModel extends model } /** - * Get system swapper. + * Get system mode switcher. * @param string $module * @param string $method * @access public * @return array */ - public function getSwapper() + public function getModeSwitcher() { $current = (isset($_COOKIE['systemModel']) and $_COOKIE['systemModel'] == 'scrum') ? 'Scrum' : 'CMMI'; $link = (isset($_COOKIE['systemModel']) and $_COOKIE['systemModel'] == 'scrum') ? html::a(helper::createLink('custom', 'setwaterfall'), 'CMMI') : html::a(helper::createLink('custom', 'setscrum'), 'Scrum'); diff --git a/module/program/model.php b/module/program/model.php index 41c5a902b7..9920264bf7 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -441,7 +441,7 @@ class programModel extends model * @access private * @return void */ - public function getSwapper($programs, $programID, $currentModule, $currentMethod, $extra = '') + public function getSwitcher($programs, $programID, $currentModule, $currentMethod, $extra = '') { $this->loadModel('project'); $currentProgramName = ''; From 5154d3bc0d7c007434e9f3bbd8254d8e4ae04b4d Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Mon, 31 Aug 2020 17:16:44 +0800 Subject: [PATCH 03/24] * Finish task#7764. --- module/block/control.php | 10 +++--- module/block/view/sprintblock.html.php | 44 ++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 module/block/view/sprintblock.html.php diff --git a/module/block/control.php b/module/block/control.php index 03c9c0a6ca..0cb08a9091 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -1108,14 +1108,14 @@ class block extends control */ public function printWaterfallReportBlock() { - $this->loadModel('program'); $program = $this->loadModel('project')->getByID($this->session->program); $today = helper::today(); - $date = date('Ymd', strtotime($this->loadModel('weekly')->getThisMonday($today))); + $date = date('Ymd', strtotime('this week Monday')); $begin = $program->begin; - $weeks = $this->weekly->getWeekPairs($begin); + $weeks = $this->loadModel('weekly')->getWeekPairs($begin); $current = zget($weeks, $date, ''); - $task = $this->dao->select(" + + $task = $this->dao->select(" sum(consumed) as totalConsumed, sum(if(status != 'cancel' and status != 'closed', `left`, 0)) as totalLeft") ->from(TABLE_TASK)->where('program')->eq($this->session->program) @@ -1304,7 +1304,7 @@ class block extends control * @access public * @return void */ - public function printScrumprojectBlock() + public function printSprintBlock() { $status = $this->dao->select('status, count(*) as count')->from(TABLE_PROJECT) ->where('deleted')->eq(0) diff --git a/module/block/view/sprintblock.html.php b/module/block/view/sprintblock.html.php new file mode 100644 index 0000000000..6cc721b8cf --- /dev/null +++ b/module/block/view/sprintblock.html.php @@ -0,0 +1,44 @@ + + * @package block + * @version $Id$ + * @link http://www.zentao.net + */ +?> +total): ?> +
block->emptyTip;?>
+ + +
+
+
+
block->allProject;?>
+ createLink('project', 'all', 'status=all')?> +
total ? html::a($projectLink, $summary->total) : 0;?>
+
+
+
+
    +
  • + + doing;?> + + block->doingProject;?> +
  • +
  • + + closed;?> + + block->finishProject;?> +
  • +
+
+
+ From 4908bc492dda9e920d1088fb5a1a70638c0fdff8 Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Mon, 31 Aug 2020 17:17:25 +0800 Subject: [PATCH 04/24] * Finish task#7757. --- module/block/lang/en.php | 30 +++++++++++++++--------------- module/block/lang/zh-cn.php | 28 ++++++++++++++-------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/module/block/lang/en.php b/module/block/lang/en.php index 4377c67713..52e9b3e7dd 100644 --- a/module/block/lang/en.php +++ b/module/block/lang/en.php @@ -153,7 +153,7 @@ $lang->block->default['scrum']['program']['5']['block'] = 'scrumproduct'; $lang->block->default['scrum']['program']['5']['grid'] = 4; $lang->block->default['scrum']['program']['6']['title'] = $lang->projectCommon . ' Overview'; -$lang->block->default['scrum']['program']['6']['block'] = 'scrumproject'; +$lang->block->default['scrum']['program']['6']['block'] = 'sprint'; $lang->block->default['scrum']['program']['6']['grid'] = 4; $lang->block->default['scrum']['program']['7']['title'] = 'Dynamic'; @@ -334,7 +334,7 @@ $lang->block->modules['scrum']['index'] = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks->scrumoverall = $lang->projectCommon . ' Overall'; $lang->block->modules['scrum']['index']->availableBlocks->scrumlist = $lang->projectCommon . ' List'; -$lang->block->modules['scrum']['index']->availableBlocks->scrumproject = $lang->projectCommon . ' Overview'; +$lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang->projectCommon . ' Overview'; $lang->block->modules['scrum']['index']->availableBlocks->scrumproduct = $lang->productCommon . ' Overview'; $lang->block->modules['scrum']['index']->availableBlocks->scrumtest = 'Test Version'; $lang->block->modules['scrum']['index']->availableBlocks->scrumroadmap = $lang->productCommon . ' Rode Map'; @@ -472,19 +472,19 @@ $lang->block->typeList->testtask['done'] = 'Done'; $lang->block->typeList->testtask['all'] = 'All'; $lang->block->modules['program']->moreLinkList = new stdclass(); -$lang->block->modules['program']->moreLinkList->recentprogram = 'program|browse|'; -$lang->block->modules['program']->moreLinkList->statistic = 'program|browse|'; -$lang->block->modules['program']->moreLinkList->program = 'program|browse|'; -$lang->block->modules['program']->moreLinkList->waterfallreport = 'weekly|index|'; -$lang->block->modules['program']->moreLinkList->waterfallestimate = 'workestimation|index|'; -$lang->block->modules['program']->moreLinkList->waterfallissue = 'issue|browse|'; -$lang->block->modules['program']->moreLinkList->waterfallrisk = 'risk|browse|'; -$lang->block->modules['program']->moreLinkList->scrumlist = 'project|all|'; -$lang->block->modules['program']->moreLinkList->scrumroadmap = 'product|all|'; -$lang->block->modules['program']->moreLinkList->scrumtest = 'testtask|browse|'; -$lang->block->modules['program']->moreLinkList->scrumproduct = 'product|all|'; -$lang->block->modules['program']->moreLinkList->scrumproject = 'project|all|'; -$lang->block->modules['program']->moreLinkList->scrumdynamic = 'company|dynamic|'; +$lang->block->modules['program']->moreLinkList->recentprogram = 'program|browse|'; +$lang->block->modules['program']->moreLinkList->statistic = 'program|browse|'; +$lang->block->modules['program']->moreLinkList->program = 'program|browse|'; +$lang->block->modules['program']->moreLinkList->cmmireport = 'weekly|index|'; +$lang->block->modules['program']->moreLinkList->cmmiestimate = 'workestimation|index|'; +$lang->block->modules['program']->moreLinkList->cmmiissue = 'issue|browse|'; +$lang->block->modules['program']->moreLinkList->cmmirisk = 'risk|browse|'; +$lang->block->modules['program']->moreLinkList->scrumlist = 'project|all|'; +$lang->block->modules['program']->moreLinkList->scrumroadmap = 'product|all|'; +$lang->block->modules['program']->moreLinkList->scrumtest = 'testtask|browse|'; +$lang->block->modules['program']->moreLinkList->scrumproduct = 'product|all|'; +$lang->block->modules['program']->moreLinkList->sprint = 'project|all|'; +$lang->block->modules['program']->moreLinkList->scrumdynamic = 'company|dynamic|'; $lang->block->modules['product']->moreLinkList = new stdclass(); $lang->block->modules['product']->moreLinkList->list = 'product|all|product=&line=0&status=%s'; diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php index 45e21deca9..45aa122671 100644 --- a/module/block/lang/zh-cn.php +++ b/module/block/lang/zh-cn.php @@ -160,7 +160,7 @@ $lang->block->default['scrum']['program']['5']['block'] = 'scrumproduct'; $lang->block->default['scrum']['program']['5']['grid'] = 4; $lang->block->default['scrum']['program']['6']['title'] = $lang->projectCommon . '总览'; -$lang->block->default['scrum']['program']['6']['block'] = 'scrumproject'; +$lang->block->default['scrum']['program']['6']['block'] = 'sprint'; $lang->block->default['scrum']['program']['6']['grid'] = 4; $lang->block->default['scrum']['program']['7']['title'] = '最新动态'; @@ -342,7 +342,7 @@ $lang->block->modules['scrum']['index']->availableBlocks = new stdclass(); $lang->block->modules['scrum']['index']->availableBlocks->scrumoverall = '项目整体情况'; $lang->block->modules['scrum']['index']->availableBlocks->scrumlist = $lang->projectCommon . '列表'; $lang->block->modules['scrum']['index']->availableBlocks->scrumroadmap = $lang->productCommon . '路线图'; -$lang->block->modules['scrum']['index']->availableBlocks->scrumproject = $lang->projectCommon . '总览'; +$lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang->projectCommon . '总览'; $lang->block->modules['scrum']['index']->availableBlocks->scrumproduct = $lang->productCommon . '总览'; $lang->block->modules['scrum']['index']->availableBlocks->scrumtest = '待测版本'; @@ -479,18 +479,18 @@ $lang->block->typeList->testtask['done'] = '已测版本'; $lang->block->typeList->testtask['all'] = '全部'; $lang->block->modules['program']->moreLinkList = new stdclass(); -$lang->block->modules['program']->moreLinkList->recentprogram = 'program|browse|'; -$lang->block->modules['program']->moreLinkList->statistic = 'program|browse|'; -$lang->block->modules['program']->moreLinkList->program = 'program|browse|'; -$lang->block->modules['program']->moreLinkList->waterfallreport = 'weekly|index|'; -$lang->block->modules['program']->moreLinkList->waterfallestimate = 'workestimation|index|'; -$lang->block->modules['program']->moreLinkList->waterfallissue = 'issue|browse|'; -$lang->block->modules['program']->moreLinkList->waterfallrisk = 'risk|browse|'; -$lang->block->modules['program']->moreLinkList->scrumlist = 'project|all|'; -$lang->block->modules['program']->moreLinkList->scrumtest = 'testtask|browse|'; -$lang->block->modules['program']->moreLinkList->scrumproduct = 'product|all|'; -$lang->block->modules['program']->moreLinkList->scrumproject = 'project|all|'; -$lang->block->modules['program']->moreLinkList->scrumdynamic = 'company|dynamic|'; +$lang->block->modules['program']->moreLinkList->recentprogram = 'program|browse|'; +$lang->block->modules['program']->moreLinkList->statistic = 'program|browse|'; +$lang->block->modules['program']->moreLinkList->program = 'program|browse|'; +$lang->block->modules['program']->moreLinkList->cmmireport = 'weekly|index|'; +$lang->block->modules['program']->moreLinkList->cmmiestimate = 'workestimation|index|'; +$lang->block->modules['program']->moreLinkList->cmmiissue = 'issue|browse|'; +$lang->block->modules['program']->moreLinkList->cmmirisk = 'risk|browse|'; +$lang->block->modules['program']->moreLinkList->scrumlist = 'project|all|'; +$lang->block->modules['program']->moreLinkList->scrumtest = 'testtask|browse|'; +$lang->block->modules['program']->moreLinkList->scrumproduct = 'product|all|'; +$lang->block->modules['program']->moreLinkList->sprint = 'project|all|'; +$lang->block->modules['program']->moreLinkList->scrumdynamic = 'company|dynamic|'; $lang->block->modules['product']->moreLinkList = new stdclass(); $lang->block->modules['product']->moreLinkList->list = 'product|all|product=&line=0&status=%s'; From 1cec43544127d7e3a8be8fa52aab1aa19743edbe Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Mon, 31 Aug 2020 17:18:13 +0800 Subject: [PATCH 05/24] * Finish task#7749. --- framework/base/router.class.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/framework/base/router.class.php b/framework/base/router.class.php index 87efe14d70..80dd51529c 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -840,16 +840,16 @@ class baseRouter } } - /** - * 从Get里取progarm id 设置到session中 - * Set program id into session. - * + /** + * 从Get里取progarm id 设置到session中。 + * Get progarm id from Get and set it to session. + * * @access public * @return void */ public function setProgram() - { - if(isset($_GET['pgm'])) $this->session->set('program', $_GET['pgm']); //Set program into session. + { + if(isset($_GET['pgm'])) $this->session->set('program', $_GET['pgm']); //Set program id into session. } /** From ef02c8fc684e07c16743fbffbb03658922291cea Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Mon, 31 Aug 2020 17:22:18 +0800 Subject: [PATCH 06/24] * Finish task#7740. --- module/upgrade/control.php | 7 +++++++ module/upgrade/model.php | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/module/upgrade/control.php b/module/upgrade/control.php index 04e5e83825..52a6b0fe11 100644 --- a/module/upgrade/control.php +++ b/module/upgrade/control.php @@ -150,6 +150,13 @@ class upgrade extends control $this->display(); } + /** + * Merge program. + * + * @param string $type + * @access public + * @return void + */ public function mergeProgram($type = 'productline') { if($_POST) diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 0a6c0d69c2..31800fd2df 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -3175,7 +3175,7 @@ class upgradeModel extends model $this->saveLogs($this->dao->get()); return !dao::isError(); } - + /** * Add unique key to team table. * From 1de312892a468379bdf9bf571e52eaaea694ab73 Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Mon, 31 Aug 2020 17:26:11 +0800 Subject: [PATCH 07/24] * Finish task#7729. --- module/doc/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/doc/control.php b/module/doc/control.php index b2d425559a..df3cab5819 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -302,7 +302,7 @@ class doc extends control if(!$docResult or dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError())); $docID = $docResult['id']; - $files = isset($docResult['files']) ? $docResult['files'] : ''; + $files = zget($docResult, 'files', ''); $lib = $this->doc->getLibByID($this->post->lib); if($docResult['status'] == 'exists') { From 245f1992dc0bb8a32b1f3853ac33611fde8d0c8b Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Mon, 31 Aug 2020 17:36:36 +0800 Subject: [PATCH 08/24] * Finish task#7715. --- module/block/view/scrumoverallblock.html.php | 1 + module/block/view/waterfallreportblock.html.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/module/block/view/scrumoverallblock.html.php b/module/block/view/scrumoverallblock.html.php index ef533f30c9..5b142d3228 100644 --- a/module/block/view/scrumoverallblock.html.php +++ b/module/block/view/scrumoverallblock.html.php @@ -22,6 +22,7 @@ .hours-statistics{position: relative; padding: 0px 5px 5px; display: table-cell;text-align: center;} .hours-statistics > small {display: block; color: #A6AAB8;} .hours-statistics > span {display: block; color: #3c4353; font-weight: bold;} +.tile-amount{font-size: 20px;}
diff --git a/module/block/view/waterfallreportblock.html.php b/module/block/view/waterfallreportblock.html.php index 6143d27255..dcdc07e99e 100644 --- a/module/block/view/waterfallreportblock.html.php +++ b/module/block/view/waterfallreportblock.html.php @@ -8,8 +8,8 @@ .block-waterfallreport .col-right .tile { width: 20%;} .block-waterfallreport .col-right .tile .tile-title{font-weight: 700;} .block-waterfallreport .progress {position: absolute; left: 45px; top: 90px; right: 40px;} -.block-waterfallreport .progress-num{font-size: 26px; font-weight: 700} -.block-waterfallreport .col-right .tile-amount{font-size: 22px; font-weight: 700} +.block-waterfallreport .progress-num{font-size: 20px; font-weight: 700} +.block-waterfallreport .col-right .tile-amount{font-size: 20px}
From 29a975bbb03d9d9dcfcbbdc2915d00451c1258b0 Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Mon, 31 Aug 2020 17:40:56 +0800 Subject: [PATCH 09/24] * Modify the getScrumprojectParams method to getSprintParams method --- module/block/model.php | 2 +- module/block/view/scrumprojectblock.html.php | 44 -------------------- 2 files changed, 1 insertion(+), 45 deletions(-) delete mode 100644 module/block/view/scrumprojectblock.html.php diff --git a/module/block/model.php b/module/block/model.php index e1386f0abd..3ddb2e3438 100644 --- a/module/block/model.php +++ b/module/block/model.php @@ -936,7 +936,7 @@ class blockModel extends model * @access public * @return string */ - public function getScrumprojectParams($module = '') + public function getSprintParams($module = '') { $params->num['name'] = $this->lang->block->num; $params->num['control'] = 'input'; diff --git a/module/block/view/scrumprojectblock.html.php b/module/block/view/scrumprojectblock.html.php deleted file mode 100644 index 0ee6f555d9..0000000000 --- a/module/block/view/scrumprojectblock.html.php +++ /dev/null @@ -1,44 +0,0 @@ - - * @package block - * @version $Id$ - * @link http://www.zentao.net - */ -?> -total): ?> -
block->emptyTip;?>
- - -
-
-
-
block->allProject;?>
- createLink('project', 'all', 'status=all')?> -
total ? html::a($projectLink, $summary->total) : 0;?>
-
-
-
-
    -
  • - - doing;?> - - block->doingProject;?> -
  • -
  • - - closed;?> - - block->finishProject;?> -
  • -
-
-
- From 0a79ea5850c1a2e30247b0836d4d64479e23fa53 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Mon, 31 Aug 2020 17:47:12 +0800 Subject: [PATCH 10/24] * Finish task #7760,7759. --- module/design/control.php | 39 ++++++++++++++++++ module/design/lang/en.php | 27 +++++++------ module/design/lang/zh-cn.php | 25 ++++++------ module/design/model.php | 55 +++++++++++++++++++++----- module/design/view/browse.html.php | 12 +++--- module/design/view/linkcommit.html.php | 3 +- module/design/view/viewcommit.html.php | 54 +++++++++++++++++++++++++ 7 files changed, 174 insertions(+), 41 deletions(-) create mode 100644 module/design/view/viewcommit.html.php diff --git a/module/design/control.php b/module/design/control.php index 74373af463..a3ece72f64 100644 --- a/module/design/control.php +++ b/module/design/control.php @@ -264,6 +264,28 @@ class design extends control $this->display(); } + /** + * Unlink commit. + * + * @param int $designID + * @param int $commitID + * @param string $confirm + * @access public + * @return void + */ + public function unlinkCommit($designID = 0, $commitID = 0, $confirm = 'no') + { + if($confirm == 'no') + { + die(js::confirm($this->lang->design->confirmUnlink, inlink('unlinkCommit', "designID=$designID&commitID=$commitID&confirm=yes"))); + } + else + { + $this->design->unlinkCommit($designID, $commitID); + die(js::reload('parent')); + } + } + /** * A version of the code base. * @@ -278,6 +300,23 @@ class design extends control header("location:" . $repoURL); } + /** + * View a design's commit. + * + * @param int $designID + * @access public + * @return void + */ + public function viewCommit($designID = 0) + { + $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->submission; + $this->view->position[] = $this->lang->design->submission; + + $this->view->design = $this->design->getCommit($designID); + + $this->display(); + } + /** * Delete a design. * diff --git a/module/design/lang/en.php b/module/design/lang/en.php index 9979ec2d85..dcecacf229 100644 --- a/module/design/lang/en.php +++ b/module/design/lang/en.php @@ -38,17 +38,19 @@ $lang->design->basicInfo = 'Basic Information'; $lang->design->noAssigned = 'Unassigned'; /* Action list. */ -$lang->design->common = 'Design'; -$lang->design->create = 'Create Design'; -$lang->design->batchCreate = 'Batch Create'; -$lang->design->edit = 'Edit'; -$lang->design->delete = 'Delete'; -$lang->design->view = 'View'; -$lang->design->browse = 'List'; -$lang->design->commit = 'Link Commit'; -$lang->design->submit = 'Submit Review'; -$lang->design->assignTo = 'Assign'; -$lang->design->revision = 'Linked Code'; +$lang->design->common = 'Design'; +$lang->design->create = 'Create Design'; +$lang->design->batchCreate = 'Batch Create'; +$lang->design->edit = 'Edit'; +$lang->design->delete = 'Delete'; +$lang->design->view = 'View'; +$lang->design->browse = 'List'; +$lang->design->viewCommit = 'View Commit'; +$lang->design->linkCommit = 'Link Commit'; +$lang->design->unlinkCommit = 'Unlink Commit'; +$lang->design->submit = 'Submit Review'; +$lang->design->assignTo = 'Assign'; +$lang->design->revision = 'Linked Code'; /* Field value. */ $lang->design->typeList = array(); @@ -69,4 +71,5 @@ $lang->design->featureBar += $lang->design->typeList; $lang->design->errorSelection = 'No record selected!'; $lang->design->noDesign = 'No record.'; $lang->design->noCommit = 'No record commited.'; -$lang->design->confirmDelete = 'Do you want to delete this design?'; +$lang->design->confirmDelete = 'Do you want to delete this design?'; +$lang->design->confirmUnlink = 'Are you sure you want to remove this submission?'; diff --git a/module/design/lang/zh-cn.php b/module/design/lang/zh-cn.php index 7b8cb6bae4..264fd1909c 100644 --- a/module/design/lang/zh-cn.php +++ b/module/design/lang/zh-cn.php @@ -38,17 +38,19 @@ $lang->design->basicInfo = '基本信息'; $lang->design->noAssigned = '未指派'; /* 动作列表. */ -$lang->design->common = '设计'; -$lang->design->create = '创建设计'; -$lang->design->batchCreate = '批量创建'; -$lang->design->edit = '变更'; -$lang->design->delete = '删除'; -$lang->design->view = '设计概况'; -$lang->design->browse = '浏览列表'; -$lang->design->linkCommit = '关联提交'; -$lang->design->submit = '提交评审'; -$lang->design->assignTo = '指派'; -$lang->design->revision = '查看关联代码'; +$lang->design->common = '设计'; +$lang->design->create = '创建设计'; +$lang->design->batchCreate = '批量创建'; +$lang->design->edit = '变更'; +$lang->design->delete = '删除'; +$lang->design->view = '设计概况'; +$lang->design->browse = '浏览列表'; +$lang->design->viewCommit = '查看提交'; +$lang->design->linkCommit = '关联提交'; +$lang->design->unlinkCommit = '取消关联'; +$lang->design->submit = '提交评审'; +$lang->design->assignTo = '指派'; +$lang->design->revision = '查看关联代码'; /* 字段取值. */ $lang->design->typeList = array(); @@ -70,3 +72,4 @@ $lang->design->errorSelection = '还没有选中记录!'; $lang->design->noDesign = '暂时没有记录'; $lang->design->noCommit = '暂时没有提交记录'; $lang->design->confirmDelete = '您确定要删除这个设计吗?'; +$lang->design->confirmUnlink = '您确定要移除这个提交吗?'; diff --git a/module/design/model.php b/module/design/model.php index 009ec8dfbd..95368ab2f5 100644 --- a/module/design/model.php +++ b/module/design/model.php @@ -172,8 +172,6 @@ class designModel extends model */ public function linkCommit($designID = 0, $repoID = 0) { - $this->dao->delete()->from(TABLE_RELATION)->where('AType')->eq('design')->andWhere('AID')->eq($designID)->andWhere('BType')->eq('commit')->andWhere('relation')->eq('completedin')->exec(); - $this->dao->delete()->from(TABLE_RELATION)->where('AType')->eq('commit')->andWhere('BID')->eq($designID)->andWhere('BType')->eq('design')->andWhere('relation')->eq('completedfrom')->exec(); $revisions = $_POST['revision']; foreach($revisions as $revision) @@ -199,12 +197,40 @@ class designModel extends model $this->dao->replace(TABLE_RELATION)->data($data)->autoCheck()->exec(); } $design = new stdclass(); - $design->commit = implode(",", $revisions); + $design->commit = $this->dao->select('commit')->from(TABLE_DESIGN)->where('id')->eq($designID)->fetch('commit'); + + if($design->commit) + { + $design->commit = implode(",", $revisions) . "," . $design->commit; + } + else + { + $design->commit = implode(",", $revisions); + } + $design->commitDate = helper::now(); $design->commitBy = $this->app->user->account; $this->dao->update(TABLE_DESIGN)->data($design)->autoCheck()->where('id')->eq($designID)->exec(); } + /** + * Unlink commit. + * + * @param int $designID + * @param int $commitID + * @access public + * @return void + */ + public function unlinkCommit($designID = 0, $commitID = 0) + { + $this->dao->delete()->from(TABLE_RELATION)->where('AType')->eq('design')->andwhere('AID')->eq($designID)->andwhere('BType')->eq('commit')->andwhere('relation')->eq('completedin')->andWhere('BID')->eq($commitID)->exec(); + $this->dao->delete()->from(TABLE_RELATION)->where('AType')->eq('commit')->andwhere('BID')->eq($designID)->andwhere('BType')->eq('design')->andwhere('relation')->eq('completedfrom')->andWhere('AID')->eq($commitID)->exec(); + + $commit = $this->dao->select('BID')->from(TABLE_RELATION)->where('AType')->eq('design')->andWhere('AID')->eq($designID)->fetchAll('BID'); + $commit = implode(",", array_keys($commit)); + $this->dao->update(TABLE_DESIGN)->set('commit')->eq($commit)->where('id')->eq($designID)->exec(); + } + /** * Set product menu. * @@ -312,16 +338,25 @@ class designModel extends model ->fetchAll('id'); } - foreach($designs as $id => $design) - { - $design->commit = ''; - $relations = $this->loadModel('common')->getRelations('design', $id, 'commit'); - foreach($relations as $relation) $design->commit .= html::a(helper::createLink('design', 'revision', "repoID=$relation->BID", '', true), "#$relation->BID", '_blank'); - } - return $designs; } + /** + * Get commit. + * + * @param int $designID + * @access public + * @return void + */ + public function getCommit($designID = 0) + { + $design = $this->dao->select('*')->from(TABLE_DESIGN)->where('id')->eq($designID)->fetch(); + + $design->commit = $design->commit ? explode(",", $design->commit) : ''; + + return $design; + } + /** * Get designs by search. * diff --git a/module/design/view/browse.html.php b/module/design/view/browse.html.php index ba4ad2968f..b8af5713e3 100644 --- a/module/design/view/browse.html.php +++ b/module/design/view/browse.html.php @@ -42,14 +42,13 @@ recTotal}&recPerPage={$pager->recPerPage}";?> - idAB);?> + design->id);?> design->type);?> design->name);?> - design->submission);?> design->createdBy);?> design->createdDate);?> design->assignedTo);?> - design->actions;?> + design->actions;?> @@ -58,16 +57,15 @@ id);?> design->typeList, $design->type);?> createLink('design', 'view', "id={$design->id}"), $design->name);?> - commit;?> createdBy;?> createdDate, 0, 11);?> design->printAssignedHtml($design, $users);?> id}"; - common::printIcon('design', 'edit', $vars, $design, 'list', 'fork', '', '', '', '', '', $design->program); - common::printIcon('design', 'linkCommit', $vars, $design, 'list', 'link', '', 'iframe showinonlybody', true); - common::printIcon('design', 'delete', $vars, $design, 'list', 'trash', 'hiddenwin', '', '', '', '', $design->program); + common::printIcon('design', 'edit', $vars, $design, 'list', 'fork', '', '', '', '', '', $design->program); + common::printIcon('design', 'viewCommit', $vars, $design, 'list', 'glasses', '', 'iframe showinonlybody', true); + common::printIcon('design', 'delete', $vars, $design, 'list', 'trash', 'hiddenwin', '', '', '', '', $design->program); ?> diff --git a/module/design/view/linkcommit.html.php b/module/design/view/linkcommit.html.php index edd10c77a9..98a97c81e8 100644 --- a/module/design/view/linkcommit.html.php +++ b/module/design/view/linkcommit.html.php @@ -54,10 +54,11 @@ + id, $linkedRevisions)) continue;?>
- revision, $linkedRevisions)) echo 'checked="checked"'?>/> +
diff --git a/module/design/view/viewcommit.html.php b/module/design/view/viewcommit.html.php new file mode 100644 index 0000000000..4f6bd9132f --- /dev/null +++ b/module/design/view/viewcommit.html.php @@ -0,0 +1,54 @@ + + * @package design + * @version $Id: commit.html.php 4903 2013-06-26 05:32:59Z wyd621@gmail.com $ + * @link http://www.zentao.net + */ +?> + +
+
+

+ id;?> + name?> + arrow . $lang->design->submission;?> +

+
+ commit)):?> +
+

design->noCommit;?>

+
+ +
+ id", "" . $lang->design->linkCommit, '_blank', "class='btn btn-primary'");?> +
+ + + + + + + + + + + commit as $commit):?> + + + + + + + + +
design->submission;?>design->commitBy;?>design->commitDate;?> design->actions;?>
commitBy;?>commitDate, 0, 11);?> + id&commitID=$commit", $design, 'list', 'unlink', 'hiddenwin', 'iframe showinonlybody', true);?> +
+ +
+ From 8f79522dbf7ed1fb33758d46256c9c247f07f13b Mon Sep 17 00:00:00 2001 From: qiyu-xie Date: Tue, 1 Sep 2020 08:32:22 +0800 Subject: [PATCH 11/24] *Add action lang. --- module/action/lang/de.php | 1 + module/action/lang/en.php | 1 + module/action/lang/fr.php | 1 + module/action/lang/vi.php | 1 + 4 files changed, 4 insertions(+) diff --git a/module/action/lang/de.php b/module/action/lang/de.php index ad6a983fe8..c79c04e2d0 100644 --- a/module/action/lang/de.php +++ b/module/action/lang/de.php @@ -405,6 +405,7 @@ $lang->action->label->entry = 'Eintrag|entry|browse|'; $lang->action->label->webhook = 'Webhook|webhook|browse|'; $lang->action->label->space = ' '; $lang->action->label->risk = 'Risk|risk|view|riskID=%s'; +$lang->action->label->issue = 'Issue|issue|view|issueID=%s'; /* Object type. */ $lang->action->search->objectTypeList[''] = ''; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index d00da21068..7458f7ca9f 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -405,6 +405,7 @@ $lang->action->label->entry = 'Application|entry|browse|'; $lang->action->label->webhook = 'Webhook|webhook|browse|'; $lang->action->label->space = ' '; $lang->action->label->risk = 'Risk|risk|view|riskID=%s'; +$lang->action->label->issue = 'Issue|issue|view|issueID=%s'; /* Object type. */ $lang->action->search->objectTypeList[''] = ''; diff --git a/module/action/lang/fr.php b/module/action/lang/fr.php index 71178150c4..9aa600c4ff 100644 --- a/module/action/lang/fr.php +++ b/module/action/lang/fr.php @@ -405,6 +405,7 @@ $lang->action->label->entry = 'Application|entry|browse|'; $lang->action->label->webhook = 'Webhook|webhook|browse|'; $lang->action->label->space = ' '; $lang->action->label->risk = 'Risk|risk|view|riskID=%s'; +$lang->action->label->issue = 'Issue|issue|view|issueID=%s'; /* Object type. */ $lang->action->search->objectTypeList[''] = ''; diff --git a/module/action/lang/vi.php b/module/action/lang/vi.php index 5d7e06eef1..353206c7fd 100644 --- a/module/action/lang/vi.php +++ b/module/action/lang/vi.php @@ -405,6 +405,7 @@ $lang->action->label->entry = 'Ứng dụng|entry|browse|'; $lang->action->label->webhook = 'Webhook|webhook|browse|'; $lang->action->label->space = ' '; $lang->action->label->risk = 'Risk|risk|view|riskID%s'; +$lang->action->label->issue = 'Issue|issue|view|issueID=%s'; /* Object type. */ $lang->action->search->objectTypeList[''] = ''; From 0e9de1a8bea31634543ceac08f83135ff1692f19 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Tue, 1 Sep 2020 09:13:59 +0800 Subject: [PATCH 12/24] * Finish task #7725. --- db/demo.sql | 18 +++++++++--------- db/update20.0.sql | 1 + module/company/view/browse.html.php | 4 ++-- module/dept/model.php | 7 +++++-- module/user/model.php | 22 +++++++++++++++------- 5 files changed, 32 insertions(+), 20 deletions(-) diff --git a/db/demo.sql b/db/demo.sql index 38df4bdeb0..bfd262c037 100644 --- a/db/demo.sql +++ b/db/demo.sql @@ -295,15 +295,15 @@ INSERT INTO `zt_testrun` (`id`, `task`, `case`, `version`, `assignedTo`, `lastRu INSERT INTO `zt_testtask` (`id`, `name`, `product`, `project`, `build`, `owner`, `begin`, `end`, `desc`, `status`, `deleted`) VALUES(1, '企业网站第一期测试任务', 1, 1, 'trunk', 'testManager', '2012-06-05', '2013-06-21', '', 'wait', '0'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(2, 5, 'productManager', 'e10adc3949ba59abbe56e057f20f883e', 'po', '产品经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338866083, '0'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(3, 6, 'projectManager', 'e10adc3949ba59abbe56e057f20f883e', 'pm', '项目经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338865876, '0'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(4, 2, 'dev1', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发甲', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338863860, '1'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(5, 2, 'dev2', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发乙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338864116, '1'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(6, 2, 'dev3', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发丙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338864187, '1'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(7, 3, 'tester1', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试甲', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338865739, '1'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(8, 3, 'tester2', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试乙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 2, '192.168.0.8', 1338865450, '1'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(9, 3, 'tester3', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试丙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338865125, '1'); -INSERT INTO `zt_user` (`id`, `dept`, `account`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(10, 1, 'testManager', 'e10adc3949ba59abbe56e057f20f883e', 'qd', '测试经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 6, '192.168.0.8', 1338865842, '1'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(2, 5, 'productManager', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'po', '产品经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338866083, '0'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(3, 6, 'projectManager', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'pm', '项目经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338865876, '0'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(4, 2, 'dev1', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发甲', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338863860, '1'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(5, 2, 'dev2', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发乙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338864116, '1'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(6, 2, 'dev3', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'dev', '开发丙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338864187, '1'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(7, 3, 'tester1', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试甲', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 3, '192.168.0.8', 1338865739, '1'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(8, 3, 'tester2', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试乙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 2, '192.168.0.8', 1338865450, '1'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(9, 3, 'tester3', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'qa', '测试丙', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 1, '192.168.0.8', 1338865125, '1'); +INSERT INTO `zt_user` (`id`, `dept`, `account`, `type`, `password`, `role`, `realname`, `nickname`, `commiter`, `avatar`, `birthday`, `gender`, `email`, `skype`, `qq`, `weixin`, `dingding`, `slack`, `mobile`, `phone`, `address`, `zipcode`, `join`, `visits`, `ip`, `last`, `deleted`) VALUES(10, 1, 'testManager', 'inside', 'e10adc3949ba59abbe56e057f20f883e', 'qd', '测试经理', '', '', '', '0000-00-00', 'm', '', '', '', '', '', '', '', '', '', '', '0000-00-00', 6, '192.168.0.8', 1338865842, '1'); INSERT INTO `zt_usergroup` (`account`, `group`) VALUES('productManager', 5); INSERT INTO `zt_usergroup` (`account`, `group`) VALUES('projectManager', 4); diff --git a/db/update20.0.sql b/db/update20.0.sql index b75c5e0149..9734e1619a 100644 --- a/db/update20.0.sql +++ b/db/update20.0.sql @@ -36,6 +36,7 @@ ALTER TABLE `zt_usergroup` ADD `program` text NOT NULL; ALTER TABLE `zt_userview` ADD `programs` mediumtext COLLATE 'utf8_general_ci' NOT NULL AFTER `account`; ALTER TABLE `zt_user` ADD `type` char(30) NOT NULL AFTER `account`; +update zt_user set `type` = 'inside'; CREATE TABLE `zt_stage` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, diff --git a/module/company/view/browse.html.php b/module/company/view/browse.html.php index 557d65fa4b..7e88791b50 100644 --- a/module/company/view/browse.html.php +++ b/module/company/view/browse.html.php @@ -24,8 +24,8 @@ js::set('confirmDelete', $lang->user->confirmDelete);
- createLink('company', 'browse', 'browseType=inside'), '' . $lang->user->inside . '', '', 'class="btn btn-link inside"');?> - createLink('company', 'browse', 'browseType=outside'), '' . $lang->user->outside . '', '', 'class="btn btn-link outside"');?> + createLink('company', 'browse', 'browseType=inside'), '' . $lang->user->inside . '', '', 'class="btn btn-link inside hidden"');?> + createLink('company', 'browse', 'browseType=outside'), '' . $lang->user->outside . '', '', 'class="btn btn-link outside hidden"');?> user->search;?>
diff --git a/module/dept/model.php b/module/dept/model.php index 49add44902..4e735cc36e 100644 --- a/module/dept/model.php +++ b/module/dept/model.php @@ -349,7 +349,10 @@ class deptModel extends model /** * Get users of a deparment. * - * @param int $deptID + * @param varchar $browseType inside|outside|all + * @param int $deptID + * @param object $pager + * @param varchar $orderBy * @access public * @return array */ @@ -357,7 +360,7 @@ class deptModel extends model { return $this->dao->select('*')->from(TABLE_USER) ->where('deleted')->eq(0) - ->beginIF($browseType == 'inside')->andWhere('type')->eq('')->fi() + ->beginIF($browseType == 'inside')->andWhere('type')->eq('inside')->fi() ->beginIF($browseType == 'outside')->andWhere('type')->eq('outside')->fi() ->beginIF($deptID)->andWhere('dept')->in($deptID)->fi() ->orderBy($orderBy) diff --git a/module/user/model.php b/module/user/model.php index de7959f4a3..88efbbd8f8 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -51,20 +51,24 @@ class userModel extends model } /** - * Get users list of current company. + * Get inside users list of current company. * * @access public * @return void */ public function getList() { - return $this->dao->select('*')->from(TABLE_USER)->where('deleted')->eq(0)->orderBy('account')->fetchAll(); + return $this->dao->select('*')->from(TABLE_USER) + ->where('deleted')->eq(0) + ->andWhere('type')->eq('inside') + ->orderBy('account') + ->fetchAll(); } /** * Get the account=>realname pairs. * - * @param string $params noletter|noempty|nodeleted|noclosed|withguest|pofirst|devfirst|qafirst|pmfirst|realname, can be sets of theme + * @param string $params noletter|noempty|nodeleted|noclosed|withguest|pofirst|devfirst|qafirst|pmfirst|realname|outside|inside|all, can be sets of theme * @param string $usersToAppended account1,account2 * @param int $maxCount * @access public @@ -79,7 +83,7 @@ class userModel extends model * thus to make sure users of this role at first. */ $fields = 'account, realname, deleted'; - $type = (strpos($params, 'outside') !== false) ? 'outside' : ''; + $type = (strpos($params, 'outside') !== false) ? 'outside' : 'inside'; if(strpos($params, 'pofirst') !== false) $fields .= ", INSTR(',pd,po,', role) AS roleOrder"; if(strpos($params, 'pdfirst') !== false) $fields .= ", INSTR(',po,pd,', role) AS roleOrder"; if(strpos($params, 'qafirst') !== false) $fields .= ", INSTR(',qd,qa,', role) AS roleOrder"; @@ -199,8 +203,10 @@ class userModel extends model /** * Get users by sql. * - * @param int $query - * @param int $pager + * @param varchar $browseType inside|outside|all + * @param int $query + * @param object $pager + * @param varchar $orderBy * @access public * @return void */ @@ -209,7 +215,7 @@ class userModel extends model return $this->dao->select('*')->from(TABLE_USER) ->where('deleted')->eq(0) ->beginIF($query)->andWhere($query)->fi() - ->beginIF($browseType == 'inside')->andWhere('type')->eq('')->fi() + ->beginIF($browseType == 'inside')->andWhere('type')->eq('inside')->fi() ->beginIF($browseType == 'outside')->andWhere('type')->eq('outside')->fi() ->orderBy($orderBy) ->page($pager) @@ -230,6 +236,7 @@ class userModel extends model $user = fixer::input('post') ->setDefault('join', '0000-00-00' ) + ->setDefault('type', 'inside' ) ->setIF($this->post->password1 != false, 'password', substr($this->post->password1, 0, 32)) ->setIF($this->post->password1 == false, 'password', '') ->setIF($this->post->email != false, 'email', trim($this->post->email)) @@ -308,6 +315,7 @@ class userModel extends model $data[$i] = new stdclass(); $data[$i]->dept = $users->dept[$i] == 'ditto' ? (isset($prev['dept']) ? $prev['dept'] : 0) : $users->dept[$i]; $data[$i]->account = $users->account[$i]; + $data[$i]->type = 'inside'; $data[$i]->realname = $users->realname[$i]; $data[$i]->role = $role; $data[$i]->group = $users->group[$i] == 'ditto' ? (isset($prev['group']) ? $prev['group'] : '') : $users->group[$i]; From 3ffa7c78464fed941c58220f8f088e2d93f5edf8 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Tue, 1 Sep 2020 09:32:48 +0800 Subject: [PATCH 13/24] * Finish task #7727. --- module/doc/view/browse.html.php | 10 +++++----- module/doc/view/side.html.php | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/module/doc/view/browse.html.php b/module/doc/view/browse.html.php index ea07434a31..16f0bda852 100644 --- a/module/doc/view/browse.html.php +++ b/module/doc/view/browse.html.php @@ -105,7 +105,7 @@ var browseType = ''; collector, ',' . $this->app->user->account . ',') !== false ? 'icon-star text-yellow' : 'icon-star-empty';?> collector, ',' . $this->app->user->account . ',') !== false ? $lang->doc->cancelCollection : $lang->doc->collect;?> - createLink('doc', 'browse', "libID={$lib->id}&browseType=all¶m=0&orderBy=$orderBy&from=$from"), "  " . $lib->name);?> + id}&browseType=all¶m=0&orderBy=$orderBy&from=$from"), "  " . $lib->name);?> @@ -124,9 +124,9 @@ var browseType = ''; $attachLib):?> - createLink('doc', 'allLibs', "type=project&product={$currentLib->product}"), "  " . $attachLib->name);?> + product}"), "  " . $attachLib->name);?> - createLink('doc', 'showFiles', "type=$type&objectID={$currentLib->$type}"), "  " . $attachLib->name);?> + $type}"), "  " . $attachLib->name);?> @@ -141,7 +141,7 @@ var browseType = ''; collector, ',' . $this->app->user->account . ',') !== false ? 'icon-star text-yellow' : 'icon-star-empty';?> collector, ',' . $this->app->user->account . ',') !== false ? $lang->doc->cancelCollection : $lang->doc->collect;?> - createLink('doc', 'browse', "libID=$libID&browseType=bymodule¶m=$module->id&orderBy=$orderBy&from=$from"), "  " . $module->name);?> + id&orderBy=$orderBy&from=$from"), "  " . $module->name);?> @@ -158,7 +158,7 @@ var browseType = ''; collector, ',' . $this->app->user->account . ',') !== false ? 'icon-star text-yellow' : 'icon-star-empty';?> collector, ',' . $this->app->user->account . ',') !== false ? $lang->doc->cancelCollection : $lang->doc->collect;?> - createLink('doc', 'view', "docID=$doc->id"), "  " . $doc->title);?> + id"), "  " . $doc->title);?> fileSize ? $doc->fileSize : '-';?> addedBy);?> addedDate, 'y-m-d');?> diff --git a/module/doc/view/side.html.php b/module/doc/view/side.html.php index 2dbf572ce4..f2d940ea7c 100644 --- a/module/doc/view/side.html.php +++ b/module/doc/view/side.html.php @@ -66,19 +66,19 @@ $sideWidth = common::checkNotCN() ? '270' : '238'; createLink('doc', 'allLibs', "type=project&product=$tabMenu->id"); + $subLibLink = inlink('allLibs', "type=project&product=$tabMenu->id"); $activeClass = ($this->methodName == 'alllibs' && $type == 'project' && $$tabValue == $tabMenu->id) ? "class='active'" : ''; $icon = 'icon-stack'; } elseif($subLibID == 'files') { - $subLibLink = $this->createLink('doc', 'showFiles', "type=$tabValue&objectID=$tabMenu->id"); + $subLibLink = inlink('showFiles', "type=$tabValue&objectID=$tabMenu->id"); $activeClass = ($this->methodName == 'showfiles' && $type == $tabValue && $object->id == $tabMenu->id) ? "class='active'" : ''; $icon = 'icon-paper-clip'; } else { - $subLibLink = $this->createLink('doc', 'browse', "libID=$subLibID"); + $subLibLink = inlink('browse', "libID=$subLibID"); $activeClass = ($this->methodName == 'browse' && $browseType != 'bymodule' && $subLibID == $libID) ? "class='active'" : ''; $icon = 'icon-folder-outline'; } @@ -181,7 +181,7 @@ $sideWidth = common::checkNotCN() ? '270' : '238'; doc->customShowLibs;?>
From d2f93f5a7fa57138f0eb3c87c8ca83e1781442dc Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Tue, 1 Sep 2020 10:14:25 +0800 Subject: [PATCH 15/24] *Increase bottom refresh. --- module/design/view/browse.html.php | 2 +- module/design/view/viewcommit.html.php | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/module/design/view/browse.html.php b/module/design/view/browse.html.php index b8af5713e3..ed7adc7294 100644 --- a/module/design/view/browse.html.php +++ b/module/design/view/browse.html.php @@ -72,7 +72,7 @@ -