Merge branch 'sprint/zentaobiz12_ticket' of https://gitlab.zcorp.cc/easycorp/zentaopms into sprint/zentaobiz12_ticket

This commit is contained in:
lanzongjun
2022-10-17 15:43:09 +08:00
5 changed files with 56 additions and 6 deletions
+1 -1
View File
@@ -78,7 +78,7 @@ class bugModel extends model
->join('mailto', ',')
->join('os', ',')
->join('browser', ',')
->remove('files,labels,uid,oldTaskID,contactListMenu,region,lane')
->remove('files,labels,uid,oldTaskID,contactListMenu,region,lane,ticket')
->get();
if($bug->execution != 0) $bug->project = $this->dao->select('project')->from(TABLE_EXECUTION)->where('id')->eq($bug->execution)->fetch('project');
+14 -2
View File
@@ -1228,16 +1228,28 @@ 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();
$this->view->users = $this->loadModel('user')->getPairs('noclosed|nodeleted');
$this->view->users = $this->loadModel('user')->getPairs('noclosed|nodeleted|noletter');
$this->view->tickets = $tickets;
$this->view->orderBy = $orderBy;
$this->view->pager = $pager;
+5
View File
@@ -0,0 +1,5 @@
.c-pri {width: 75px}
.c-openedDate {width: 210px}
.c-assignedTo {width: 100px;}
.no-wrap{text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}
+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();
$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.
*
+11 -3
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>
@@ -44,13 +52,13 @@
<tr>
<td class='text-center'><?php echo $canView ? html::a($this->createLink('ticket', 'view', "id={$ticket->id}"), $ticket->id) : $ticket->id;?></td>
<td><?php echo zget($products, $ticket->product);?></td>
<td><?php echo $canView ? html::a($this->createLink('ticket', 'view', "id={$ticket->id}"), $ticket->title) : $ticket->title;?></td>
<td><?php echo zget($lang->ticket->priList, $ticket->pri);?></td>
<td class='no-wrap' title="<?php echo $ticket->title;?>"><?php echo $canView ? html::a($this->createLink('ticket', 'view', "id={$ticket->id}"), $ticket->title) : $ticket->title;?></td>
<td><span class='label-pri label-pri-<?php echo $ticket->pri;?>' title='<?php echo zget($lang->ticket->priList, $ticket->pri, $ticket->pri);?>'><?php echo zget($lang->ticket->priList, $ticket->pri); ?></span></td>
<td><?php echo zget($lang->ticket->statusList, $ticket->status);?></td>
<td><?php echo zget($lang->ticket->typeList, $ticket->type);?></td>
<td><?php echo zget($users, $ticket->openedBy);?></td>
<td><?php echo $ticket->openedDate;?></td>
<td><?php echo zget($users, $ticket->assignedTo);?></td>
<td><?php echo $this->ticket->printAssignedHtml($ticket, $users);?></td>
<td class='c-actions'><?php echo $this->ticket->buildOperateBrowseMenu($ticket->id);?></td>
</tr>
<?php endforeach;?>