* Add search form for my ticket.

This commit is contained in:
zhouxin
2022-10-17 09:09:09 +08:00
parent 97aaafbbc3
commit da5d515b45
3 changed files with 46 additions and 1 deletions
+13 -1
View File
@@ -1228,12 +1228,24 @@ EOF;
public function ticket($browseType = 'assignedtome', $param = 0, $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
$this->loadModel('ticket');
$queryID = $browseType == 'bysearch' ? (int)$param : 0;
$this->session->set('ticketList', $this->app->getURI(true), 'feedback');
$this->app->loadClass('pager', $static = true);
$pager = pager::init($recTotal, $recPerPage, $pageID);
$tickets = $this->ticket->getList($browseType, $orderBy, $pager);
if($browseType != 'bysearch')
{
$tickets = $this->ticket->getList($browseType, $orderBy, $pager);
}
else
{
$tickets = $this->ticket->getBySearch($queryID, $orderBy, $pager);
}
$actionURL = $this->createLink('my', 'work', "mode=ticket&type=bysearch&param=myQueryID&orderBy={$orderBy}&recTotal={$recTotal}&recPerPage={$recPerPage}&pageID={$pageID}");
$this->my->buildTicketSearchForm($queryID, $actionURL);
$this->view->title = $this->lang->ticket->browse;
$this->view->products = $this->loadModel('feedback')->getGrantProducts();
+25
View File
@@ -906,6 +906,31 @@ class myModel extends model
$this->loadModel('search')->setSearchParams($this->config->product->search);
}
/**
* Build ticket search form.
*
* @param string $queryID
* @param string $actionURL
* @access public
* @return mixed
*/
public function buildTicketSearchForm($queryID, $actionURL)
{
$this->loadModel('ticket');
$this->app->loadConfig('ticket');
$this->config->ticket->search['module'] = 'workTicket';
$this->config->ticket->search['queryID'] = $queryID;
$this->config->ticket->search['actionURL'] = $actionURL;
$this->config->ticket->search['params']['product']['values'] = array('' => '') + $this->loadModel('feedback')->getGrantProducts();
$this->config->ticket->search['params']['module']['values'] = array('' => '') + $this->loadModel('tree')->getAllModulePairs('bug');
$grantProducts = $this->loadModel('feedback')->getGrantProducts();
$productIDlist = array_keys($grantProducts);
$this->config->ticket->search['params']['openedBuild']['values'] = $this->loadModel('build')->getBuildPairs($productIDlist);
$this->loadModel('search')->setSearchParams($this->config->ticket->search);
}
/**
* Get requirements by search.
*
+8
View File
@@ -14,8 +14,16 @@
<?php js::set('mode', 'ticket');?>
<?php js::set('rawMethod', $app->rawMethod);?>
<div id='mainMenu' class="clearfix">
<div class="btn-toolbar pull-left">
<?php
$recTotalLabel = " <span class='label label-light label-badge'>{$pager->recTotal}</span>";
echo html::a(inlink($app->rawMethod, "mode=ticket&type=assignedtome"), "<span class='text'>{$lang->my->taskMenu->assignedToMe}</span>" . ($browseType == 'assignedtome' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($browseType == 'assignedtome' ? ' btn-active-text' : '') . "'");
?>
<a class="btn btn-link querybox-toggle" id='bysearchTab'><i class="icon icon-search muted"></i> <?php echo $lang->user->search;?></a>
</div>
</div>
<div id='mainContent' class="main-row fade">
<div class="cell<?php if($browseType == 'bysearch') echo ' show';?>" id="queryBox" data-module='workTicket'></div>
<?php if(empty($tickets)):?>
<div class="table-empty-tip">
<p>