From c28e0748dd8e4bf889df82e9ef6f092f62784b8b Mon Sep 17 00:00:00 2001 From: lanzongjun Date: Wed, 17 Aug 2022 16:39:55 +0800 Subject: [PATCH] * finish task #64943 --- db/update17.5.sql | 2 ++ db/zentao.sql | 2 ++ module/caselib/control.php | 19 +++++++++++++++++++ module/caselib/model.php | 2 +- 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 db/update17.5.sql diff --git a/db/update17.5.sql b/db/update17.5.sql new file mode 100644 index 0000000000..e7296c5c5f --- /dev/null +++ b/db/update17.5.sql @@ -0,0 +1,2 @@ +ALTER TABLE `zt_assetlib` ADD `order` SMALLINT UNSIGNED NOT NULL DEFAULT '0' AFTER `desc`; +ALTER TABLE `zt_testsuite` ADD `order` SMALLINT UNSIGNED NOT NULL DEFAULT '0' AFTER `type`; \ No newline at end of file diff --git a/db/zentao.sql b/db/zentao.sql index ca94b63909..8a593d9e91 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -1649,6 +1649,7 @@ CREATE TABLE IF NOT EXISTS `zt_testsuite` ( `name` varchar(255) NOT NULL, `desc` mediumtext NOT NULL, `type` varchar(20) NOT NULL, + `order` smallint unsigned NOT NULL DEFAULT '0', `addedBy` char(30) NOT NULL, `addedDate` datetime NOT NULL, `lastEditedBy` char(30) NOT NULL, @@ -9395,6 +9396,7 @@ CREATE TABLE IF NOT EXISTS `zt_assetlib` ( `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `desc` mediumtext NOT NULL, + `order` SMALLINT UNSIGNED NOT NULL DEFAULT '0', `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, `editedBy` varchar(30) NOT NULL, diff --git a/module/caselib/control.php b/module/caselib/control.php index 4d7ce3add2..4f3384251c 100644 --- a/module/caselib/control.php +++ b/module/caselib/control.php @@ -795,4 +795,23 @@ class caselib extends control $this->view->dataInsert = $insert; $this->display(); } + + /** + * For lib sort + * + * @access public + * @return void + */ + public function libSort() + { + $idList = explode(',', trim($this->post->caselib, ',')); + + $order = $this->dao->select('*')->from(TABLE_TESTSUITE)->where('id')->in($idList)->andWhere('type')->eq('library')->orderBy('order_asc')->fetch('order'); + + foreach($idList as $caselibID) + { + $this->dao->update(TABLE_TESTSUITE)->set('`order`')->eq($order)->where('id')->eq($caselibID)->andWhere('type')->eq('library')->exec(); + $order++; + } + } } diff --git a/module/caselib/model.php b/module/caselib/model.php index 70e2e2cedb..59e6a67cf0 100644 --- a/module/caselib/model.php +++ b/module/caselib/model.php @@ -145,7 +145,7 @@ class caselibModel extends model ->where('product')->eq(0) ->andWhere('deleted')->eq(0) ->andWhere('type')->eq('library') - ->orderBy('id_desc') + ->orderBy('order_desc, id_desc') ->fetchPairs('id', 'name'); }