From 39bc7119317fc53ff0ce75911ca5ed6319bfa890 Mon Sep 17 00:00:00 2001
From: holan20180123 <56391770@qq.com>
Date: Fri, 12 Mar 2021 14:25:30 +0800
Subject: [PATCH] * Add ajax get drop menu of bug method.
---
db/update15.0.sql | 3 ++
db/zentao.sql | 2 ++
module/bug/control.php | 32 ++++++++++++++++++++
module/bug/model.php | 1 +
module/bug/view/ajaxgetdropmenu.html.php | 37 ++++++++++++++++++++++++
module/bug/view/browse.html.php | 26 -----------------
module/product/model.php | 14 +++++++--
7 files changed, 86 insertions(+), 29 deletions(-)
create mode 100644 module/bug/view/ajaxgetdropmenu.html.php
diff --git a/db/update15.0.sql b/db/update15.0.sql
index 812b39f929..89cd171267 100644
--- a/db/update15.0.sql
+++ b/db/update15.0.sql
@@ -337,3 +337,6 @@ INSERT INTO `zt_lang` (`lang`, `module`, `section`, `key`, `value`, `system`) VA
('zh-cn', 'custom', 'URSRList', '3', '{\"SRName\":\"\\u8f6f\\u9700\",\"URName\":\"\\u7528\\u9700\"}', '1'),
('zh-cn', 'custom', 'URSRList', '4', '{\"SRName\":\"\\u6545\\u4e8b\",\"URName\":\"\\u53f2\\u8bd7\"}', '1'),
('zh-cn', 'custom', 'URSRList', '5', '{\"SRName\":\"\\u9700\\u6c42\",\"URName\":\"\\u7528\\u6237\\u9700\\u6c42\"}', '1');
+
+INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'common', '', 'CRProduct', '1');
+INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'common', '', 'CRExecution', '1');
diff --git a/db/zentao.sql b/db/zentao.sql
index b8a6c364d4..0752a52985 100644
--- a/db/zentao.sql
+++ b/db/zentao.sql
@@ -4147,3 +4147,5 @@ INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('
INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'custom', '', 'URSR', '6');
INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'project', '', 'unitList', 'CNY,USD');
INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'project', '', 'defaultCurrency', 'CNY');
+INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'common', '', 'CRProduct', '1');
+INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'common', '', 'CRExecution', '1');
diff --git a/module/bug/control.php b/module/bug/control.php
index 34b4f5c770..6d773c0e7d 100644
--- a/module/bug/control.php
+++ b/module/bug/control.php
@@ -1768,4 +1768,36 @@ class bug extends control
die(json_encode(array('modules' => $modules, 'categories' => $type, 'versions' => $builds, 'severities' => $severity, 'priorities' => $pri)));
}
+
+ /**
+ * Drop menu page.
+ *
+ * @param int $productID
+ * @param string $module
+ * @param string $method
+ * @param string $extra
+ * @access public
+ * @return void
+ */
+ public function ajaxGetDropMenu($productID, $module, $method, $extra = '', $from = '')
+ {
+ if($from == 'qa')
+ {
+ $this->app->loadConfig('qa');
+ foreach($this->config->qa->menuList as $menu) $this->lang->navGroup->$menu = 'qa';
+ }
+
+ $products = $this->product->getProducts($this->session->PRJ, $this->config->CRProduct ? 'all' : 'noclosed', 'program desc, line desc, ');
+
+ $this->view->link = $this->product->getProductLink($module, $method, $extra);
+ $this->view->productID = $productID;
+ $this->view->module = $module;
+ $this->view->method = $method;
+ $this->view->extra = $extra;
+ $this->view->products = $products;
+ $this->view->projectID = $this->session->PRJ;
+ $this->view->programs = $this->loadModel('program')->getPairs(true);
+ $this->view->lines = $this->product->getLinePairs();
+ $this->display();
+ }
}
diff --git a/module/bug/model.php b/module/bug/model.php
index 284a08a5f7..b76ae31d1c 100644
--- a/module/bug/model.php
+++ b/module/bug/model.php
@@ -28,6 +28,7 @@ class bugModel extends model
public function setMenu($products, $productID, $branch = 0, $moduleID = 0, $browseType = 'unclosed', $orderBy = '')
{
$this->loadModel('product')->setMenu($products, $productID, $branch, $moduleID, 'bug');
+ if($this->lang->navGroup->testcase == 'project' and $this->app->methodName == 'browse') $products = array(0 => $this->lang->bug->allProduct) + $products;
$selectHtml = $this->product->select($products, $productID, 'bug', 'browse', '', $branch, $moduleID, 'bug');
$pageNav = '';
diff --git a/module/bug/view/ajaxgetdropmenu.html.php b/module/bug/view/ajaxgetdropmenu.html.php
new file mode 100644
index 0000000000..0d846113f9
--- /dev/null
+++ b/module/bug/view/ajaxgetdropmenu.html.php
@@ -0,0 +1,37 @@
+
+
+
+
+status == 'normal' and $product->PO == $this->app->user->account) $iCharges++;
+ if($product->status == 'normal' and !($product->PO == $this->app->user->account)) $others++;
+ if($product->status == 'closed') $closeds++;
+ $productNames[] = $product->name;
+}
+$productsPinYin = common::convert2Pinyin($productNames);
+$linkHtml = $this->product->setParamsForLink($module, $link, $projectID, 0);
+$productsHtml = html::a($linkHtml, $this->lang->bug->allProduct, '', "class='text-important' title='{$this->lang->bug->allProduct}' data-key='" . zget($productsPinYin, $this->lang->bug->allProduct, '') . "' data-group='project'");
+
+foreach($products as $product)
+{
+ $productName = $product->program ? zget($programs, $product->program, '') . '/' : '';
+ $productName .= $product->line ? zget($lines, $product->line, '') . '/' . $product->name : $product->name;
+ $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id;
+ $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $product->id);
+ $productsHtml .= html::a($linkHtml, $productName, '', "class='text-important' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='project'");
+}
+?>
+
diff --git a/module/bug/view/browse.html.php b/module/bug/view/browse.html.php
index 774949455a..d18459ca68 100644
--- a/module/bug/view/browse.html.php
+++ b/module/bug/view/browse.html.php
@@ -23,7 +23,6 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
?>
global->flow == 'full'):?>