diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index fb26863be3..392c7ec082 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -418,6 +418,7 @@ $lang->bug->featureBar['browse']['unclosed'] = $lang->bug->unclosed; $lang->bug->featureBar['browse']['openedbyme'] = $lang->bug->openedByMe; $lang->bug->featureBar['browse']['assigntome'] = $lang->bug->assignToMe; $lang->bug->featureBar['browse']['resolvedbyme'] = $lang->bug->resolvedByMe; +$lang->bug->featureBar['browse']['assignedbyme'] = $lang->bug->assignedByMe; $lang->bug->featureBar['browse']['unresolved'] = $lang->bug->unResolved; $lang->bug->featureBar['browse']['more'] = $lang->more; diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index e8eec6b00e..25d19e7ed1 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -418,6 +418,7 @@ $lang->bug->featureBar['browse']['unclosed'] = $lang->bug->unclosed; $lang->bug->featureBar['browse']['openedbyme'] = $lang->bug->openedByMe; $lang->bug->featureBar['browse']['assigntome'] = $lang->bug->assignToMe; $lang->bug->featureBar['browse']['resolvedbyme'] = $lang->bug->resolvedByMe; +$lang->bug->featureBar['browse']['assignedbyme'] = $lang->bug->assignedByMe; $lang->bug->featureBar['browse']['toclosed'] = $lang->bug->toClosed; $lang->bug->featureBar['browse']['unresolved'] = $lang->bug->unResolved; $lang->bug->featureBar['browse']['more'] = $lang->more; diff --git a/module/bug/model.php b/module/bug/model.php index e4beb47890..1fbc4ccc5c 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -396,6 +396,7 @@ class bugModel extends model elseif($browseType == 'needconfirm') $bugs = $this->getByNeedconfirm($productIDList, $branch, $modules, $executions, $sort, $pager, $projectID); elseif($browseType == 'bysearch') $bugs = $this->getBySearch($productIDList, $branch, $queryID, $sort, '', $pager, $projectID); elseif($browseType == 'overduebugs') $bugs = $this->getOverdueBugs($productIDList, $branch, $modules, $executions, $sort, $pager, $projectID); + elseif($browseType == 'assignedbyme') $bugs = $this->getByAssignedbyme($productIDList, $branch, $modules, $executions, $sort, $pager, $projectID); return $this->checkDelayedBugs($bugs); } @@ -2646,6 +2647,30 @@ class bugModel extends model ->fetchAll(); } + /** + * Get by assigned by me. + * + * @param int $sonarqubeID + * @access public + * @return array + */ + public function getByAssignedbyme($productIDList, $branch, $modules, $executions, $sort, $pager, $projectID) + { + $actionID = $this->dao->select('objectID')->from(TABLE_ACTION)->where('objectType')->eq('bug')->andWhere('action')->eq('assigned')->andWhere('actor')->eq($this->app->user->account)->fetchPairs('objectID', 'objectID'); + return $this->dao->select('*')->from(TABLE_BUG) + ->where('product')->in($productIDList) + ->beginIF($branch !== 'all')->andWhere('branch')->in($branch)->fi() + ->beginIF($modules)->andWhere('module')->in($modules)->fi() + ->beginIF($projectID)->andWhere('project')->eq($projectID)->fi() + ->andWhere('execution')->in(array_keys($executions)) + ->andWhere('deleted')->eq(0) + ->andWhere('status')->ne('closed') + ->andWhere('id')->in($actionID) + ->orderBy($sort) + ->page($pager) + ->fetchAll(); + } + /** * Get by Sonarqube id. *