diff --git a/module/bug/control.php b/module/bug/control.php
index 93fb5e71fb..1cd4977818 100644
--- a/module/bug/control.php
+++ b/module/bug/control.php
@@ -91,7 +91,7 @@ class bug extends control
$queryID = ($browseType == 'bysearch') ? (int)$param : 0;
/* Set menu and save session. */
- $this->bug->setMenu($this->products, $productID, $branch, $moduleID);
+ $this->bug->setMenu($this->products, $productID, $branch, $moduleID, $browseType, $orderBy);
$this->session->set('bugList', $this->app->getURI(true));
/* Process the order by field. */
diff --git a/module/bug/js/browse.js b/module/bug/js/browse.js
index 157727287f..042da561a1 100644
--- a/module/bug/js/browse.js
+++ b/module/bug/js/browse.js
@@ -4,9 +4,6 @@ $(function()
if(flow == 'onlyTest')
{
- toggleSearch();
- $(".export").modalTrigger({width:650, type:'iframe'});
-
$('#subNavbar > .nav > li').removeClass('active');
$('#subNavbar > .nav > li[data-id=' + browseType + ']').addClass('active');
diff --git a/module/bug/js/common.js b/module/bug/js/common.js
index 6ee65a4f8d..0dfe01be23 100644
--- a/module/bug/js/common.js
+++ b/module/bug/js/common.js
@@ -1,5 +1,7 @@
$(function()
{
+ $('#subNavbar a[data-toggle=dropdown]').parent().addClass('dropdown dropdown-hover');
+
if(typeof page == 'undefined') page = '';
if(page == 'create')
{
@@ -20,6 +22,14 @@ $(function()
oldProductID = $('#product').val();
$("#story, #task, #mailto").chosen(defaultChosenOptions);
}
+
+ if(flow != 'full')
+ {
+ $('.querybox-toggle').click(function()
+ {
+ $(this).parent().toggleClass('active');
+ });
+ }
});
/**
diff --git a/module/bug/model.php b/module/bug/model.php
index 3d7ad1f2fb..17354c1295 100644
--- a/module/bug/model.php
+++ b/module/bug/model.php
@@ -15,22 +15,71 @@ class bugModel extends model
{
/**
* Set menu.
- *
- * @param array $products
- * @param int $productID
+ *
+ * @param array $products
+ * @param int $productID
+ * @param int $branch
+ * @param int $moduleID
+ * @param string $browseType
+ * @param string $orderBy
* @access public
* @return void
*/
- public function setMenu($products, $productID, $branch = 0, $moduleID = 0)
+ public function setMenu($products, $productID, $branch = 0, $moduleID = 0, $browseType = 'unclosed', $orderBy = '')
{
$this->loadModel('product')->setMenu($products, $productID, $branch, $moduleID, 'bug');
$selectHtml = $this->product->select($products, $productID, 'bug', 'browse', '', $branch, $moduleID, 'bug');
- $this->app->loadLang('qa');
- $productIndex = '
' . html::a(helper::createLink('qa', 'index', 'locate=no'), $this->lang->qa->index, '', "class='btn'") . '
';
- $productIndex .= $selectHtml;
+ $pageNav = '';
+ $pageActions = '';
+ if($this->config->global->flow == 'full')
+ {
+ $this->app->loadLang('qa');
+ $pageNav = '' . html::a(helper::createLink('qa', 'index', 'locate=no'), $this->lang->qa->index, '', "class='btn'") . '
';
+ }
+ else
+ {
+ if(common::hasPriv('bug', 'report'))
+ {
+ $link = helper::createLink('bug', 'report', "productID=$productID&browseType=$browseType&branchID=$branch&moduleID=$moduleID");
+ $pageActions .= html::a($link, " " . $this->lang->bug->report->common . '', '', "class='btn btn-link'");
+ }
+ if(common::hasPriv('bug', 'export'))
+ {
+ $link = helper::createLink('bug', 'export', "productID=$productID&orderBy=$orderBy");
+ $pageActions .= "";
+ $pageActions .= "";
+ $pageActions .= '';
+ $pageActions .= "';
+ $pageActions .= '
';
+ }
+ if(common::hasPriv('bug', 'batchCreate'))
+ {
+ $link = helper::createLink('bug', 'batchCreate', "productID=$productID&branch=$branch&projectID=0&moduleID=$moduleID");
+ $pageActions .= html::a($link, "" . $this->lang->bug->batchCreate, '', "class='btn btn-secondary'");
+ }
+ if(commonModel::isTutorialMode())
+ {
+ $wizardParams = helper::safe64Encode("productID=$productID&branch=$branch&extra=moduleID=$moduleID");
+ $link = helper::createLink('tutorial', 'wizard', "module=bug&method=create¶ms=$wizardParams");
+ $pageActions .= html::a($link, "" . $this->lang->bug->create, '', "class='btn btn-primary btn-bug-create'");
+ }
+ else
+ {
+ if(common::hasPriv('bug', 'create'))
+ {
+ $link = helper::createLink('bug', 'create', "productID=$productID&branch=$branch&extra=moduleID=$moduleID");
+ $pageActions .= html::a($link, "" . $this->lang->bug->create, '', "class='btn btn-primary'");
+ }
+ }
+ }
+ $pageNav .= $selectHtml;
- $this->lang->modulePageNav = $productIndex;
+ $this->lang->modulePageNav = $pageNav;
+ $this->lang->modulePageActions = $pageActions;
foreach($this->lang->bug->menu as $key => $menu)
{
if($this->config->global->flow != 'onlyTest')
@@ -46,6 +95,36 @@ class bugModel extends model
}
common::setMenuVars($this->lang->bug->menu, $key, $replace);
}
+ if($this->config->global->flow != 'full')
+ {
+ $tmpMenu = (array)$this->lang->bug->menu;
+ $moreMenu = array_slice($tmpMenu, -6);
+ $tmpMenu = array_slice($tmpMenu, 0, count($tmpMenu) - 6);
+ if($moreMenu)
+ {
+ $moreKey = 'more';
+ $moreLabel = $this->lang->more;
+ if(strpos(",unconfirmed,assigntonull,longlifebugs,postponedbugs,overduebugs,needconfirm,", ",$browseType,") !== false)
+ {
+ $moreKey = $browseType;
+ $moreLabel = $this->lang->bug->featureBar['browse'][$browseType];
+ }
+ $more = "{$moreLabel}";
+ $more .= "';
+ $tmpMenu[$moreKey] = $more;
+ }
+ if($this->app->getMethodName() != 'view') $tmpMenu['bysearch'] = " {$this->lang->bug->byQuery}";
+ $this->lang->bug->menu = (object)$tmpMenu;
+ }
}
/**
diff --git a/module/bug/view/browse.html.php b/module/bug/view/browse.html.php
index 3757c46210..31a9ccb8ed 100644
--- a/module/bug/view/browse.html.php
+++ b/module/bug/view/browse.html.php
@@ -16,61 +16,13 @@ include '../../common/view/datatable.fix.html.php';
js::set('browseType', $browseType);
js::set('moduleID', $moduleID);
js::set('bugBrowseType', ($browseType == 'bymodule' and $this->session->bugBrowseType == 'bysearch') ? 'all' : $this->session->bugBrowseType);
-js::set('flow', $this->config->global->flow);
-js::set('productID', $productID);
-js::set('branch', $branch);
+js::set('flow', $this->config->global->flow);
+js::set('productID', $productID);
+js::set('branch', $branch);
$currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($browseType, array_keys($lang->bug->mySelects)) ? $browseType : '';
?>
+config->global->flow == 'full'):?>
- config->global->flow == 'onlyTest'):?>
-
-
+