diff --git a/addons/board_project/board_project_manager_view.xml b/addons/board_project/board_project_manager_view.xml
index d8366a69fbe..8a05213bc29 100644
--- a/addons/board_project/board_project_manager_view.xml
+++ b/addons/board_project/board_project_manager_view.xml
@@ -24,13 +24,13 @@
view_id="view_account_analytic_simplified"
id="act_my_account"/>
-
- Pipeline of tasks
- report.task.user.pipeline.open
- form
- graph,tree
- [('task_state','<>','cancelled'),('task_state','<>','done')]
-
+
+ Pipeline of tasks
+ report.task.user.pipeline.open
+ form
+ graph,tree
+ [('task_state','<>','cancelled'),('task_state','<>','done'),('user_id','in',department_users_get())]
+
hr.timesheet.sheet.tree.simplified.board
@@ -50,7 +50,7 @@
Timesheets
hr_timesheet_sheet.sheet
- [('state','<>','done')]
+ [('state','<>','done'),('user_id','in',department_users_get())]
form
diff --git a/addons/hr/hr_department.py b/addons/hr/hr_department.py
index 90ade6415c1..4109fd5a59a 100644
--- a/addons/hr/hr_department.py
+++ b/addons/hr/hr_department.py
@@ -40,6 +40,12 @@ class hr_department(osv.osv):
'manager_id': fields.many2one('res.users', 'Manager', required=True),
'member_ids': fields.many2many('res.users', 'hr_department_user_rel', 'department_id', 'user_id', 'Members'),
}
+ def _get_members(self,cr, uid, context={}):
+ mids = self.search(cr, uid, [('manager_id','=',uid)])
+ result = {uid:1}
+ for m in self.browse(cr, uid, mids, context):
+ result[m.id] = 1
+ return result.keys()
def _check_recursion(self, cr, uid, ids):
level = 100
while len(ids):
@@ -55,3 +61,16 @@ class hr_department(osv.osv):
hr_department()
+
+class ir_action_window(osv.osv):
+ _inherit = 'ir.actions.act_window'
+ def read(self, cr, uid, ids, *args, **kwargs):
+ res = super(ir_action_window, self).read(cr, uid, ids, *args, **kwargs)
+ for r in res:
+ mystring = 'department_users_get()'
+ if mystring in (r.get('domain', '[]') or ''):
+ r['domain'] = r['domain'].replace(mystring, str(self.pool.get('hr.department')._get_members(cr, uid)))
+ return res
+ir_action_window()
+
+
diff --git a/addons/report_task/report_task.py b/addons/report_task/report_task.py
index 75789daed99..165d3618bed 100644
--- a/addons/report_task/report_task.py
+++ b/addons/report_task/report_task.py
@@ -39,14 +39,14 @@ class report_task_user_pipeline_open (osv.osv):
'task_hrs': fields.float('Task Hours', readonly=True),
'task_progress': fields.float('Task Progress', readonly=True),
'company_id' : fields.many2one('res.company', 'Company'),
- 'task_state' : fields.char('Task State',size = '64' ,readonly=True),
+ 'task_state': fields.selection([('draft', 'Draft'),('open', 'Open'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', readonly=True),
}
def init(self, cr):
cr.execute("""
create or replace view report_task_user_pipeline_open as (
select
- u.id as id,
+ min(t.id) as id,
u.id as user_id,
u.company_id as company_id,
count(*) as task_nbr,