From cee6d6d58cc287777b952060e04454c513495c09 Mon Sep 17 00:00:00 2001 From: "nel@tinyerp.com" <> Date: Wed, 14 Apr 2010 23:07:54 +0200 Subject: [PATCH] [IMP] graph of timesheets by month bzr revid: nel@tinyerp.com-20100414210754-pyzv0fl3ghoftz9g --- addons/board_hr/board_hr_view.xml | 3 +- .../hr_holidays/report/hr_holidays_report.py | 7 ++-- .../report/hr_holidays_report_view.xml | 3 ++ .../report/timesheet_report.py | 36 +++++++++++-------- .../report/timesheet_report_view.xml | 14 +++++--- addons/project/project_view.xml | 8 +++-- addons/project/report/project_report_view.xml | 2 +- 7 files changed, 48 insertions(+), 25 deletions(-) diff --git a/addons/board_hr/board_hr_view.xml b/addons/board_hr/board_hr_view.xml index ed27a93a326..968aafd8efc 100644 --- a/addons/board_hr/board_hr_view.xml +++ b/addons/board_hr/board_hr_view.xml @@ -31,6 +31,7 @@ hr.holidays form tree,form + [('user_id','=',uid)] @@ -39,7 +40,7 @@ timesheet.report form graph,tree - [('user_id','=',uid)] + [('user_id','=',uid), ('month', '=' , time.strftime('%m')), ('year', '=', time.strftime('%Y'))] diff --git a/addons/hr_holidays/report/hr_holidays_report.py b/addons/hr_holidays/report/hr_holidays_report.py index a9ad1e0b161..435eee71ea5 100644 --- a/addons/hr_holidays/report/hr_holidays_report.py +++ b/addons/hr_holidays/report/hr_holidays_report.py @@ -90,7 +90,7 @@ class hr_holidays_remaining_leaves_user(osv.osv): min(hrs.id) as id, rr.name as name, sum(hrs.number_of_days) as no_of_leaves, - hrs.user_id, + rr.user_id as user_id, hhs.name as leave_type from hr_holidays as hrs, hr_employee as hre, @@ -98,9 +98,10 @@ class hr_holidays_remaining_leaves_user(osv.osv): where hrs.employee_id = hre.id and hre.resource_id = rr.id and - hhs.id = hrs.holiday_status_id + hhs.id = hrs.holiday_status_id group by - rr.name,hrs.user_id,hhs.name + rr.name,rr.user_id,hhs.name ) """) + hr_holidays_remaining_leaves_user() diff --git a/addons/hr_holidays/report/hr_holidays_report_view.xml b/addons/hr_holidays/report/hr_holidays_report_view.xml index f0d33bc7b98..56652cd1f99 100644 --- a/addons/hr_holidays/report/hr_holidays_report_view.xml +++ b/addons/hr_holidays/report/hr_holidays_report_view.xml @@ -115,5 +115,8 @@ + diff --git a/addons/hr_timesheet_sheet/report/timesheet_report.py b/addons/hr_timesheet_sheet/report/timesheet_report.py index a299f099f80..cd657e763ad 100644 --- a/addons/hr_timesheet_sheet/report/timesheet_report.py +++ b/addons/hr_timesheet_sheet/report/timesheet_report.py @@ -31,23 +31,31 @@ class timesheet_report(osv.osv): ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True), 'no_of_timesheet': fields.integer('Total Timesheet',readonly=True), + 'total_att': fields.float('Total Attendance'), + 'total_ts': fields.float('Total Timesheet'), + 'year': fields.char('Remaining leaves', size=4), + 'name': fields.char('Name', size=64), + 'user_id': fields.many2one('res.users','User'), + 'leave_type': fields.char('Leave Type',size=64), + 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), + ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True), } def init(self, cr): tools.drop_view_if_exists(cr, 'timesheet_report') cr.execute(""" create or replace view timesheet_report as ( - select - min(id) as id, - to_char(create_date, 'MM') as month, - user_id, - count(*) as no_of_timesheet - from - hr_timesheet_sheet_sheet - where - to_char(create_date,'YYYY') = to_char(current_date,'YYYY') - group by - to_char(create_date,'MM'),user_id - ) - """) -timesheet_report() \ No newline at end of file + SELECT sheet.name as name, + min(sheet.id) as id, + to_char(sheet.date_current, 'YYYY') as year, + to_char(sheet.date_current, 'MM') as month, + sum(day.total_attendance) as total_att, + sum(day.total_timesheet) as total_ts, + sheet.user_id as user_id + FROM hr_timesheet_sheet_sheet AS sheet + LEFT JOIN hr_timesheet_sheet_sheet_day AS day + ON (sheet.id = day.sheet_id) + GROUP BY sheet.name, year, month, user_id + ) """) + +timesheet_report() diff --git a/addons/hr_timesheet_sheet/report/timesheet_report_view.xml b/addons/hr_timesheet_sheet/report/timesheet_report_view.xml index d557c094e5d..6afd15d2e09 100644 --- a/addons/hr_timesheet_sheet/report/timesheet_report_view.xml +++ b/addons/hr_timesheet_sheet/report/timesheet_report_view.xml @@ -8,8 +8,11 @@ tree + + + + - @@ -20,8 +23,11 @@ graph - - + + + + + @@ -29,4 +35,4 @@ - \ No newline at end of file + diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 87c15225a42..4da4cbb91f7 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -123,7 +123,8 @@ - + + @@ -156,6 +157,7 @@ [] + {'search_default_Users':1} @@ -422,7 +424,7 @@ - + @@ -443,6 +445,8 @@ + {'search_default_user_id': 1} + diff --git a/addons/project/report/project_report_view.xml b/addons/project/report/project_report_view.xml index 8917837530d..c5ebec4fb88 100644 --- a/addons/project/report/project_report_view.xml +++ b/addons/project/report/project_report_view.xml @@ -68,7 +68,7 @@ - +