From 3837c45f954a538481a2c2ab12b6d13a1bd2bc08 Mon Sep 17 00:00:00 2001 From: liumengyi Date: Fri, 25 Aug 2023 15:37:38 +0800 Subject: [PATCH] * Refactor testcase::zeroCase. --- module/testcase/control.php | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/module/testcase/control.php b/module/testcase/control.php index 768ec08119..07102a5833 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -172,49 +172,44 @@ class testcase extends control * @access public * @return void */ - public function zeroCase($productID = 0, $branchID = 0, $orderBy = 'id_desc', $projectID = 0, $recTotal = 0, $recPerPage = 20, $pageID = 1) + public function zeroCase(int $productID = 0, int $branchID = 0, string $orderBy = 'id_desc', int $projectID = 0, int $recTotal = 0, int $recPerPage = 20, int $pageID = 1) { - $orderBy = empty($orderBy) ? 'id_desc' : $orderBy; + /* 设置 session, cookie 和菜单。*/ + /* Set session, cookie and set menu. */ $this->session->set('storyList', $this->app->getURI(true) . '#app=' . $this->app->tab, 'product'); $this->session->set('caseList', $this->app->getURI(true), $this->app->tab); - - $this->loadModel('story'); if($this->app->tab == 'project') { $this->loadModel('project')->setMenu($this->session->project); $products = $this->product->getProducts($this->session->project, 'all', '', false); $productID = $this->product->saveState($productID, $products); - $productID = (int)$productID; - $product = $this->product->getByID($productID); - if(!$product->shadow) $this->lang->modulePageNav = $this->product->select($products, $productID, 'testcase', 'zeroCase', $projectID, $branchID); } else { $products = $this->product->getPairs(); $productID = $this->product->saveState($productID, $products); - $productID = (int)$productID; - $product = $this->product->getByID($productID); $this->loadModel('qa'); $this->app->rawModule = 'testcase'; foreach($this->config->qa->menuList as $module) $this->lang->navGroup->$module = 'qa'; $this->qa->setMenu($products, $productID, $branchID); } - /* Append id for second sort. */ - $sort = common::appendOrder($orderBy); - $stories = $this->story->getZeroCase($productID, $branchID, $sort); - - /* Pager. */ + /* 设置 分页。*/ + /* Set pager. */ $this->app->loadClass('pager', $static = true); - $recTotal = count($stories); - $pager = new pager($recTotal, $recPerPage, $pageID); - $stories = array_chunk($stories, $pager->recPerPage); + $pager = new pager($recTotal, $recPerPage, $pageID); + + /* 追加二次排序条件。*/ + /* Append id for second sort. */ + $sort = common::appendOrder(empty($orderBy) ? 'id_desc' : $orderBy); $this->lang->testcase->featureBar['zerocase'] = $this->lang->testcase->featureBar['browse']; + /* 展示变量. */ + /* Show the variables. */ + $this->loadModel('story'); $this->view->title = $this->lang->story->zeroCase; - - $this->view->stories = empty($stories) ? $stories : $stories[$pageID - 1]; + $this->view->stories = $this->story->getZeroCase($productID, $branchID, $sort, $pager); $this->view->users = $this->user->getPairs('noletter'); $this->view->projectID = $projectID; $this->view->productID = $productID; @@ -222,7 +217,7 @@ class testcase extends control $this->view->orderBy = $orderBy; $this->view->suiteList = $this->loadModel('testsuite')->getSuites($productID); $this->view->browseType = ''; - $this->view->product = $product; + $this->view->product = $this->product->getByID($productID); $this->view->pager = $pager; $this->display(); }