diff --git a/module/action/model.php b/module/action/model.php index d6a2eb3ad7..cf94ba9c8d 100644 --- a/module/action/model.php +++ b/module/action/model.php @@ -258,7 +258,7 @@ class actionModel extends model * @access public * @return array */ - public function getDynamic($account = 'all', $period = 'all', $orderBy = 'date_desc', $pager = null, $projectID = 0) + public function getDynamic($account = 'all', $period = 'all', $orderBy = 'date_desc', $pager = null, $productID = 'all', $projectID = 'all') { $period = $this->computeBeginAndEnd($period); extract($period); @@ -267,7 +267,8 @@ class actionModel extends model ->where('date')->gt($begin) ->andWhere('date')->lt($end) ->beginIF($account != 'all')->andWhere('actor')->eq($account)->fi() - ->beginIF($projectID != 0)->andWhere('project')->eq($projectID)->fi() + ->beginIF($productID != 'all')->andWhere('product')->eq($productID)->fi() + ->beginIF($projectID != 'all')->andWhere('project')->eq($projectID)->fi() ->orderBy($orderBy)->page($pager)->fetchAll(); if(!$actions) return array(); diff --git a/module/company/control.php b/module/company/control.php index f9e889144c..fcf4b4cfb2 100644 --- a/module/company/control.php +++ b/module/company/control.php @@ -173,14 +173,21 @@ class company extends control /* Set the user and type. */ $account = $type == 'account' ? $param : 'all'; + $product = $type == 'product' ? $param : 'all'; $project = $type == 'project' ? $param : 'all'; - $period = ($type == 'account' or $type == 'project') ? 'all' : $type; + $period = ($type == 'account' or $type == 'product' or $type == 'project') ? 'all' : $type; + + /* Get products' list.*/ + $products = $this->loadModel('product')->getPairs(); + $products[0] = $this->lang->product->select; + ksort($products); /* Get projects' list.*/ - $projects = $this->loadModel('project')->getPairs(); + $projects = $this->loadModel('project')->getPairs(); $projects[0] = $this->lang->project->select; ksort($projects); + /* Get users.*/ $users = $this->loadModel('user')->getPairs('nodeleted|noletter'); $users[''] = $this->lang->user->select; @@ -191,10 +198,12 @@ class company extends control /* Assign. */ $this->view->type = $type; $this->view->users = $users; + $this->view->products = $products; $this->view->projects = $projects; $this->view->account = $account; + $this->view->product = $product; $this->view->project = $project; - $this->view->actions = $this->loadModel('action')->getDynamic($account, $period, $orderBy, $pager, $project); + $this->view->actions = $this->loadModel('action')->getDynamic($account, $period, $orderBy, $pager, $product, $project); $this->display(); } diff --git a/module/company/js/dynamic.js b/module/company/js/dynamic.js index 4c61a7dee2..2b4de64f54 100644 --- a/module/company/js/dynamic.js +++ b/module/company/js/dynamic.js @@ -8,3 +8,8 @@ function changeProject(project) link = createLink('company', 'dynamic', 'type=project¶m=' + project); location.href = link; } +function changeProduct(product) +{ + link = createLink('company', 'dynamic', 'type=product¶m=' + product); + location.href = link; +} diff --git a/module/company/view/dynamic.html.php b/module/company/view/dynamic.html.php index 0cc0588bf5..8042dc1b67 100644 --- a/module/company/view/dynamic.html.php +++ b/module/company/view/dynamic.html.php @@ -23,6 +23,7 @@ echo '' . html::a(inlink('dynamic', "type=lastmonth"), $lang->action->dynamic->lastMonth) . ''; echo '' . html::a(inlink('dynamic', "type=all"), $lang->action->dynamic->all) . ''; echo "" . html::select('account', $users, $account, 'onchange=changeUser(this.value)') . ''; + echo "" . html::select('product', $products, $product, 'onchange=changeProduct(this.value)') . ''; echo "" . html::select('project', $projects, $project, 'onchange=changeProject(this.value)') . ''; ?> diff --git a/module/product/lang/en.php b/module/product/lang/en.php index bfd58bc798..a6213999f0 100644 --- a/module/product/lang/en.php +++ b/module/product/lang/en.php @@ -17,6 +17,7 @@ $lang->product->edit = "Edit"; $lang->product->create = "Create"; $lang->product->read = "Info"; $lang->product->delete = "Delete"; +$lang->product->select = '--select product--'; $lang->product->plans = 'Plans'; $lang->product->releases = 'Releases'; diff --git a/module/product/lang/zh-cn.php b/module/product/lang/zh-cn.php index 1590e47dd0..868fa62d35 100644 --- a/module/product/lang/zh-cn.php +++ b/module/product/lang/zh-cn.php @@ -17,6 +17,7 @@ $lang->product->edit = "编辑产品"; $lang->product->create = "新增产品"; $lang->product->read = "产品详情"; $lang->product->delete = "删除产品"; +$lang->product->select = '--请选择产品--'; $lang->product->plans = '计划数'; $lang->product->releases = '发布数';