From d5060e5a81769ee538f32c6dee0482ca4e7bc52c Mon Sep 17 00:00:00 2001 From: wangchunsheng Date: Sat, 5 Dec 2009 05:55:18 +0000 Subject: [PATCH] * adjust the search settings of bug module. --- trunk/module/bug/config.php | 47 ++++++++++++++++++++------- trunk/module/bug/lang/zh-cn.php | 16 +++++---- trunk/module/bug/model.php | 4 +-- trunk/module/bug/view/create.html.php | 26 ++++++++++++++- trunk/module/bug/view/view.html.php | 2 +- trunk/module/search/lang/zh-cn.php | 2 ++ trunk/module/search/model.php | 8 +++-- 7 files changed, 80 insertions(+), 25 deletions(-) diff --git a/trunk/module/bug/config.php b/trunk/module/bug/config.php index 8c1da840e2..ba8c28f7d8 100644 --- a/trunk/module/bug/config.php +++ b/trunk/module/bug/config.php @@ -1,13 +1,38 @@ bug->search['module'] = 'bug'; -$config->bug->search['fields']['id'] = $lang->bug->id; -$config->bug->search['fields']['title'] = $lang->bug->title; -$config->bug->search['fields']['status'] = $lang->bug->status; -$config->bug->search['fields']['openedBy'] = $lang->bug->openedBy; -$config->bug->search['fields']['resolution'] = $lang->bug->resolution; -$config->bug->search['groupItems'] = 3; -$config->bug->search['params']['title'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); -$config->bug->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->statusList); -$config->bug->search['params']['openedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); -$config->bug->search['params']['resolution'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->resolutionList); +$config->bug->search['module'] = 'bug'; +$config->bug->search['fields']['id'] = $lang->bug->id; +$config->bug->search['fields']['title'] = $lang->bug->title; +$config->bug->search['fields']['product'] = $lang->bug->product; +$config->bug->search['fields']['assignedTo'] = $lang->bug->assignedTo; +$config->bug->search['fields']['resolvedBy'] = $lang->bug->resolvedBy; +$config->bug->search['fields']['openedBy'] = $lang->bug->openedBy; +$config->bug->search['fields']['closedBy'] = $lang->bug->closedBy; +$config->bug->search['fields']['lastEditedBy'] = $lang->bug->lastEditedBy; +$config->bug->search['fields']['status'] = $lang->bug->status; +$config->bug->search['fields']['severity'] = $lang->bug->severity; +$config->bug->search['fields']['type'] = $lang->bug->type; +$config->bug->search['fields']['os'] = $lang->bug->os; +$config->bug->search['fields']['browser'] = $lang->bug->browser; +$config->bug->search['fields']['resolution'] = $lang->bug->resolution; +$config->bug->search['fields']['mailto'] = $lang->bug->mailto; +$config->bug->search['fields']['openedDate'] = $lang->bug->openedDate; +$config->bug->search['fields']['assignedDate'] = $lang->bug->assignedDate; +$config->bug->search['fields']['closedDate'] = $lang->bug->closedDate; +$config->bug->search['fields']['lastEditedDate'] = $lang->bug->lastEditedDate; + +$config->bug->search['groupItems'] = 3; +$config->bug->search['params']['title'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); +$config->bug->search['params']['product'] = array('operator' => '=', 'control' => 'select', 'values' => 'products'); +$config->bug->search['params']['assignedTo'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); +$config->bug->search['params']['resolvedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); +$config->bug->search['params']['openedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); +$config->bug->search['params']['closedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); +$config->bug->search['params']['lastEditedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); +$config->bug->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->statusList); +$config->bug->search['params']['severity'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->severityList); +$config->bug->search['params']['type'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->typeList); +$config->bug->search['params']['os'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->osList); +$config->bug->search['params']['browser'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->browserList); +$config->bug->search['params']['resolution'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->bug->resolutionList); +$config->bug->search['params']['mailto'] = array('operator' => 'include', 'control' => 'select', 'values' => 'users'); diff --git a/trunk/module/bug/lang/zh-cn.php b/trunk/module/bug/lang/zh-cn.php index f4d101d81f..8bbef96c3f 100644 --- a/trunk/module/bug/lang/zh-cn.php +++ b/trunk/module/bug/lang/zh-cn.php @@ -101,14 +101,16 @@ $lang->bug->browserList->opera9 = 'opera9'; $lang->bug->browserList->oprea10 = '其他'; /* Define the types. */ -$lang->bug->typeList->codeerror = '代码错误'; -$lang->bug->typeList->interface = '界面优化'; -$lang->bug->typeList->designchange = '设计变更'; -$lang->bug->typeList->Others = '其他'; +$lang->bug->typeList[''] = ''; +$lang->bug->typeList['codeerror'] = '代码错误'; +$lang->bug->typeList['interface'] = '界面优化'; +$lang->bug->typeList['designchange'] = '设计变更'; +$lang->bug->typeList['Others'] = '其他'; -$lang->bug->statusList->active = 'active'; -$lang->bug->statusList->resolved = 'resolved'; -$lang->bug->statusList->closed = 'closed'; +$lang->bug->statusList[''] = ''; +$lang->bug->statusList['active'] = 'active'; +$lang->bug->statusList['resolved'] = 'resolved'; +$lang->bug->statusList['closed'] = 'closed'; $lang->bug->resolutionList[''] = ''; $lang->bug->resolutionList['bydesign'] = 'By Design'; diff --git a/trunk/module/bug/model.php b/trunk/module/bug/model.php index 162638fbc9..fd1ac96adf 100644 --- a/trunk/module/bug/model.php +++ b/trunk/module/bug/model.php @@ -39,7 +39,7 @@ class bugModel extends model ->specialChars('steps') ->join('mailto', ',') ->get(); - $this->dao->insert(TABLE_BUG)->data($bug)->autoCheck()->check('title', 'notempty')->exec(); + $this->dao->insert(TABLE_BUG)->data($bug)->autoCheck()->batchCheck('title,type', 'notempty')->exec(); if(!dao::isError()) { $bugID = $this->dao->lastInsertID(); @@ -106,7 +106,7 @@ class bugModel extends model $this->dao->update(TABLE_BUG)->data($bug) ->autoCheck() - ->check('title', 'notempty') + ->batchCheck('title,type', 'notempty') ->checkIF($bug->resolvedBy, 'resolution', 'notempty') ->checkIF($bug->closedBy, 'resolution', 'notempty') ->checkIF($bug->resolution == 'duplicate', 'duplicateBug', 'notempty') diff --git a/trunk/module/bug/view/create.html.php b/trunk/module/bug/view/create.html.php index 2fff8737ab..bdb050f3de 100644 --- a/trunk/module/bug/view/create.html.php +++ b/trunk/module/bug/view/create.html.php @@ -122,7 +122,31 @@ function loadProjectStories(projectID) --> - bug->labTypeAndSeverity;?> bug->typeList, '', 'class=select-2');?> bug->severityList, '', 'class=select-2');?> bug->labSystemBrowserAndHardware;?> bug->osList, '', 'class=select-2');?> bug->browserList, '', 'class=select-2');?> bug->labAssignedTo;?> bug->labMailto;?> bug->title;?> + bug->labTypeAndSeverity;?> + + bug->typeList, 'codeerror', 'class=select-2');?> + bug->severityList, '', 'class=select-2');?> + + + + bug->labSystemBrowserAndHardware;?> + + bug->osList, '', 'class=select-2');?> + bug->browserList, '', 'class=select-2');?> + + + + bug->labAssignedTo;?> + + + + bug->labMailto;?> + + + + bug->title;?> + + bug->steps;?> diff --git a/trunk/module/bug/view/view.html.php b/trunk/module/bug/view/view.html.php index c36fc21f59..36156aa230 100644 --- a/trunk/module/bug/view/view.html.php +++ b/trunk/module/bug/view/view.html.php @@ -62,7 +62,7 @@ bug->type;?> - bug->typeList->{$bug->type};?> + bug->typeList[$bug->type];?> bug->os;?> diff --git a/trunk/module/search/lang/zh-cn.php b/trunk/module/search/lang/zh-cn.php index 6e999e582c..6680782d2a 100644 --- a/trunk/module/search/lang/zh-cn.php +++ b/trunk/module/search/lang/zh-cn.php @@ -27,6 +27,8 @@ $lang->search->saveQuery = '保存'; $lang->search->myQuery = '我的查询'; $lang->search->group1 = '第一组'; $lang->search->group2 = '第二组'; +$lang->search->buildForm = '搜索表单'; +$lang->search->buildQuery= '执行搜索'; $lang->search->operators['='] = '等于'; $lang->search->operators['!='] = '不等于'; diff --git a/trunk/module/search/model.php b/trunk/module/search/model.php index 460f7db335..bed13e1a5b 100644 --- a/trunk/module/search/model.php +++ b/trunk/module/search/model.php @@ -109,12 +109,14 @@ class searchModel extends model /* 设置默认的参数。*/ public function setDefaultParams($fields, $params) { - $users = $this->loadModel('user')->getPairs(); - $fields = array_keys($fields); + $users = $this->loadModel('user')->getPairs(); + $products = array('' => '') + $this->loadModel('product')->getPairs(); + $fields = array_keys($fields); foreach($fields as $fieldName) { if(!isset($params[$fieldName])) $params[$fieldName] = array('operator' => '=', 'control' => 'input', 'values' => ''); - if($params[$fieldName]['values'] == 'users') $params[$fieldName]['values'] = $users; + if($params[$fieldName]['values'] == 'users') $params[$fieldName]['values'] = $users; + if($params[$fieldName]['values'] == 'products') $params[$fieldName]['values'] = $products; } return $params; }