diff --git a/module/bug/model.php b/module/bug/model.php
index 70f4ae486c..8d41509077 100644
--- a/module/bug/model.php
+++ b/module/bug/model.php
@@ -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');
diff --git a/module/my/control.php b/module/my/control.php
index 9ac679e02a..746a4150e8 100755
--- a/module/my/control.php
+++ b/module/my/control.php
@@ -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¶m=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;
diff --git a/module/my/css/ticket.css b/module/my/css/ticket.css
new file mode 100644
index 0000000000..f8beb12708
--- /dev/null
+++ b/module/my/css/ticket.css
@@ -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;}
+
diff --git a/module/my/model.php b/module/my/model.php
index 14bc238ccf..1afa242060 100644
--- a/module/my/model.php
+++ b/module/my/model.php
@@ -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.
*
diff --git a/module/my/view/ticket.html.php b/module/my/view/ticket.html.php
index 67069b056b..6d0fbcb3b3 100644
--- a/module/my/view/ticket.html.php
+++ b/module/my/view/ticket.html.php
@@ -14,8 +14,16 @@
rawMethod);?>
+
@@ -44,13 +52,13 @@
| createLink('ticket', 'view', "id={$ticket->id}"), $ticket->id) : $ticket->id;?> |
product);?> |
- createLink('ticket', 'view', "id={$ticket->id}"), $ticket->title) : $ticket->title;?> |
- ticket->priList, $ticket->pri);?> |
+ createLink('ticket', 'view', "id={$ticket->id}"), $ticket->title) : $ticket->title;?> |
+ ticket->priList, $ticket->pri); ?> |
ticket->statusList, $ticket->status);?> |
ticket->typeList, $ticket->type);?> |
openedBy);?> |
openedDate;?> |
- assignedTo);?> |
+ ticket->printAssignedHtml($ticket, $users);?> |
ticket->buildOperateBrowseMenu($ticket->id);?> |