diff --git a/module/product/control.php b/module/product/control.php index cd150d8a47..c0e94cdee2 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -903,7 +903,7 @@ class product extends control $moduleGroup = zget($this->lang->navGroup, $module); $moduleGroup = in_array($moduleGroup, array('product', 'qa'))? $moduleGroup : 'project'; - $products = $moduleGroup == 'project' ? $this->product->getProducts($this->session->project) : $this->product->getList(); + $products = $moduleGroup == 'project' ? $this->product->getProducts($this->session->project, 'all', 'program desc, line desc, ') : $this->product->getList(0, 'all', 0, 0, 'program desc, line desc, '); $this->view->link = $this->product->getProductLink($module, $method, $extra); $this->view->productID = $productID; @@ -913,6 +913,7 @@ class product extends control $this->view->products = $products; $this->view->projectID = $moduleGroup == 'project' ? $this->session->project : 0; $this->view->programs = $this->loadModel('program')->getPairs(true); + $this->view->lines = $this->product->getLinePairs(); $this->view->openApp = $moduleGroup; $this->display(); } diff --git a/module/product/model.php b/module/product/model.php index f7bf5437b3..a81c632fcd 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -246,10 +246,11 @@ class productModel extends model * @param string $status * @param int $limit * @param int $line + * @param string $orderBy * @access public * @return array */ - public function getList($programID = 0, $status = 'all', $limit = 0, $line = 0) + public function getList($programID = 0, $status = 'all', $limit = 0, $line = 0, $orderBy = '') { return $this->dao->select('*')->from(TABLE_PRODUCT) ->where('deleted')->eq(0) @@ -265,7 +266,7 @@ class productModel extends model ->orWhere('createdBy')->eq($this->app->user->account) ->markRight(1) ->fi() - ->orderBy('`order` desc') + ->orderBy($orderBy . '`order` desc') ->beginIF($limit > 0)->limit($limit)->fi() ->fetchAll('id'); } @@ -318,10 +319,11 @@ class productModel extends model * * @param int $projectID * @param int $status all|noclosed + * @param string $orderBy * @access public * @return array */ - public function getProducts($projectID, $status = 'all') + public function getProducts($projectID, $status = 'all', $orderBy = '') { return $this->dao->select('t1.branch, t1.plan, t2.*') ->from(TABLE_PROJECTPRODUCT)->alias('t1') @@ -331,7 +333,7 @@ class productModel extends model ->beginIF(!empty($projectID))->andWhere('t1.project')->eq($projectID)->fi() ->beginIF(!$this->app->user->admin)->andWhere('t2.id')->in($this->app->user->view->products)->fi() ->beginIF(strpos($status, 'noclosed') !== false)->andWhere('status')->ne('closed')->fi() - ->orderBy('t2.order desc') + ->orderBy($orderBy . 't2.order desc') ->fetchAll('id'); } diff --git a/module/product/view/ajaxgetdropmenu.html.php b/module/product/view/ajaxgetdropmenu.html.php index 5921419c2f..4d5391c44d 100644 --- a/module/product/view/ajaxgetdropmenu.html.php +++ b/module/product/view/ajaxgetdropmenu.html.php @@ -22,7 +22,8 @@ $closedProductsHtml = ''; foreach($products as $product) { - $productName = $product->program ? zget($programs, $product->program, '') . '/' . $product->name : $product->name; + $productName = $product->program ? zget($programs, $product->program, '') . '/' : ''; + $productName .= $product->line ? zget($lines, $product->line, '') . '/' . $product->name : $product->name; if($product->status == 'normal' and $product->PO == $this->app->user->account) { $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id;