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 = '发布数';