From ce485ebb66b1683e5d491a599339a4dd183ed9c4 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Wed, 13 Oct 2010 16:59:57 +0530 Subject: [PATCH 01/12] [FIX] project_issue_sheet,ir.model.access.csv:Problem to install Module bzr revid: ron@tinyerp.com-20101013112957-pitx78yvk1zpfeu5 --- addons/hr_timesheet_sheet/security/ir.model.access.csv | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/hr_timesheet_sheet/security/ir.model.access.csv b/addons/hr_timesheet_sheet/security/ir.model.access.csv index c11a3ce7099..9d0159bbc1a 100644 --- a/addons/hr_timesheet_sheet/security/ir.model.access.csv +++ b/addons/hr_timesheet_sheet/security/ir.model.access.csv @@ -4,6 +4,5 @@ "access_hr_timesheet_sheet_sheet_day","hr_timesheet_sheet.sheet.day","model_hr_timesheet_sheet_sheet_day","base.group_hr_user",1,1,1,1 "access_hr_timesheet_sheet_sheet_account","hr_timesheet_sheet.sheet.account","model_hr_timesheet_sheet_sheet_account","base.group_hr_user",1,1,1,1 "access_hr_timesheet_report","hr.timesheet.report","model_hr_timesheet_report","base.group_hr_manager",1,1,1,1 -"access_timesheet_report_employee","timesheet.report.employee","model_timesheet_report","base.group_hr_user",1,1,1,1 "access_hr_analytic_timesheet_system_user","hr.analytic.timesheet.system.user","model_hr_analytic_timesheet","base.group_user",1,0,0,0 "access_hr_timesheet_sheet_sheet_day","hr.timesheet.sheet.sheet.day.user","model_hr_timesheet_sheet_sheet_day","base.group_user",1,0,0,0 From 1eb5f7cc5fff832ed9dcd3d8f40b8489a9f41191 Mon Sep 17 00:00:00 2001 From: jas Date: Thu, 14 Oct 2010 11:10:00 +0530 Subject: [PATCH 02/12] [IMP] document: imporved search view for Document bzr revid: jas@tinyerp.com-20101014054000-mr0h707ba2odbt5t --- addons/document/document_view.xml | 65 ++++++++++++++++++++++--------- 1 file changed, 47 insertions(+), 18 deletions(-) diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml index b978cd222db..699918c47e9 100644 --- a/addons/document/document_view.xml +++ b/addons/document/document_view.xml @@ -278,37 +278,66 @@ - + IR Attachment ir.attachment search + - - - - - - + + + + + + + + IR Attachment0 + ir.attachment + search + + + + + + + - - - - + + + + + + IR Attachment1 + ir.attachment + search + + + + + + + + + + IR Attachment2 + ir.attachment + search + + + - - - - + + + ir.attachment ir.attachment @@ -319,6 +348,7 @@ + @@ -333,7 +363,6 @@ ir.actions.act_window ir.attachment form - The Documents repository gives you access to all attachments, such as mails, project documents, invoices etc. From 4ff5ed7c7e8f18d98d1b3c22bf91b110763423ac Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Fri, 15 Oct 2010 14:59:55 +0530 Subject: [PATCH 03/12] [IMP] project_scrum: improve burndown chart bzr revid: hmo@tinyerp.com-20101015092955-0ewjltoo3agtjfh1 --- addons/project_scrum/report/_burndown.py | 66 ++++++++++++------- .../project_scrum/report/sprint_burndown.py | 36 ++++------ addons/project_scrum/report/task_burndown.py | 54 ++------------- 3 files changed, 57 insertions(+), 99 deletions(-) diff --git a/addons/project_scrum/report/_burndown.py b/addons/project_scrum/report/_burndown.py index 6f0db24bcb6..b2cedd85881 100644 --- a/addons/project_scrum/report/_burndown.py +++ b/addons/project_scrum/report/_burndown.py @@ -19,44 +19,60 @@ # ############################################################################## - -from mx import DateTime +from datetime import datetime +from dateutil.relativedelta import relativedelta import time +import pooler +from report.render import render +class external_pdf(render): + def __init__(self, pdf): + render.__init__(self) + self.pdf = pdf + self.output_type='pdf' + def _render(self): + return self.pdf -def compute_burndown(cr, uid, tasks_id, date_start, date_stop): +def compute_burndown(cr, uid, tasks_ids, date_start, date_stop): latest = False - if len(tasks_id): - cr.execute('select id,create_date,state,planned_hours from project_task where id IN %s order by create_date',(tuple(tasks_id),)) - tasks = cr.fetchall() - - cr.execute('select w.date,w.hours from project_task_work w left join project_task t on (t.id=w.task_id) where t.id IN %s and t.state in (%s,%s) order by date',(tuple(tasks_id),'open','progress',)) - tasks2 = cr.fetchall() - - cr.execute('select date_end,planned_hours from project_task where id IN %s and state in (%s,%s) order by date_end' ,(tuple(tasks_id),'cancelled','done',)) - tasks2 += cr.fetchall() - tasks2.sort() + pool = pooler.get_pool(cr.dbname) + project_task_pool = pool.get('project.task') + task_work_pool = pool.get('project.task.work') + if len(tasks_ids): + tasks_ids = project_task_pool.search(cr, uid, [('id','in',tasks_ids)], order='create_date') + tasks = project_task_pool.read(cr, uid, tasks_ids, ['create_date','planned_hours','state']) + tasks_ids = project_task_pool.search(cr, uid, [('id','in',tasks_ids),('state', 'in', ['open','progress'])], order='create_date') + work_ids = task_work_pool.search(cr, uid, [('task_id','in',tasks_ids)], order='date') + close_tasks = task_work_pool.read(cr, uid, work_ids, ['date','hours','state']) + tasks_ids = project_task_pool.search(cr, uid, [('id','in',tasks_ids),('state', 'in', ['cancelled','done'])], order='date_end') + close_tasks += project_task_pool.read(cr, uid, tasks_ids, ['date_end','planned_hours']) + else: tasks = [] - tasks2 = [] + close_tasks = [] current_date = date_start total = 0 done = 0 result = [] - while current_date<=date_stop: - while len(tasks) and tasks[0][1] and tasks[0][1][:10]<=current_date: + while datetime.strptime(current_date, '%Y-%m-%d') <= datetime.strptime(date_stop, '%Y-%m-%d'): + while len(tasks) and tasks[0]['create_date'] and datetime.strptime(tasks[0]['create_date'][:10], '%Y-%m-%d')<=datetime.strptime(current_date, '%Y-%m-%d'): latest = tasks.pop(0) - total += latest[3] + total += float(latest.get('planned_hours',0.0)) i = 0 - while ires: result.append(res) return result @@ -92,7 +78,7 @@ class report_tasks(report_int): ar.draw(canv) canv.close() - self.obj = external_pdf(io.getvalue()) + self.obj = _burndown.external_pdf(io.getvalue()) self.obj.render() return (self.obj.pdf, 'pdf') report_tasks('report.scrum.sprint.burndown') diff --git a/addons/project_scrum/report/task_burndown.py b/addons/project_scrum/report/task_burndown.py index 50a02792ced..14807126503 100644 --- a/addons/project_scrum/report/task_burndown.py +++ b/addons/project_scrum/report/task_burndown.py @@ -20,53 +20,14 @@ ############################################################################## import StringIO - from report.render import render from report.interface import report_int - -from mx import DateTime +from datetime import datetime import time - from pychart import * import pychart.legend - import _burndown -class external_pdf(render): - def __init__(self, pdf): - render.__init__(self) - self.pdf = pdf - self.output_type='pdf' - def _render(self): - return self.pdf - -def burndown_chart(cr, uid, tasks_id, date_start, date_stop): - latest = False - - cr.execute('select id,date_start,state,planned_hours from project_task where id IN %s order by date_start'(tuple(tasks_id),)) - tasks = cr.fetchall() - cr.execute('select id,date_end,state,planned_hours*progress/100 from project_task where id IN %s and state in (%s,%s) order by date_end', (tuple(tasks_id),'progress','done',)) - tasks2 = cr.fetchall() - current_date = date_start - total = 0 - done = 0 - result = [] - while current_date<=date_stop: - while len(tasks) and tasks[0][1] and tasks[0][1][:10]<=current_date: - total += tasks.pop(0)[3] - while len(tasks2) and tasks2[0][1] and tasks2[0][1][:10]<=current_date: - t2 = tasks2.pop(0) - if t2[2]<>'cancel': - done += t2[3] - else: - total -= t2[3] - result.append( (int(time.mktime(time.strptime(current_date,'%Y-%m-%d'))), total-done) ) - current_date = (DateTime.strptime(current_date, '%Y-%m-%d') + DateTime.RelativeDateTime(days=1)).strftime('%Y-%m-%d') - if not len(tasks) and not len(tasks2): - break - result.append( (int(time.mktime(time.strptime(date_stop,'%Y-%m-%d'))), 0) ) - return result - class report_tasks(report_int): def create(self, cr, uid, ids, datas, context=None): if context is None: @@ -87,24 +48,19 @@ class report_tasks(report_int): if res[1] and datas['date_stop'] Date: Fri, 15 Oct 2010 15:59:43 +0530 Subject: [PATCH 04/12] [REM]Project-Time Tracking-> Remove the Customer invoice menu bzr revid: ron@tinyerp.com-20101015102943-3ppmy8b8uq12piwp --- addons/hr_timesheet/hr_timesheet_view.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml index 4a720112b79..664587b75a3 100644 --- a/addons/hr_timesheet/hr_timesheet_view.xml +++ b/addons/hr_timesheet/hr_timesheet_view.xml @@ -102,7 +102,6 @@ - hr.timesheet.employee.extd_form From 37583b3bf2d0863cec8b7f446122e8995aeccb64 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Fri, 15 Oct 2010 16:13:08 +0530 Subject: [PATCH 05/12] [IMP] project: demo data bzr revid: hmo@tinyerp.com-20101015104308-tk3epmz3lnx5o2bw --- addons/hr_timesheet/hr_timesheet_view.xml | 1 - addons/project/project_demo.xml | 210 ++++++++++++++++ .../project_long_term_demo.xml | 234 ++++-------------- .../test/schedule_phase_tasks.yml | 22 +- .../test/schedule_project_tasks.yml | 22 +- addons/project_timesheet/__openerp__.py | 2 +- .../project_timesheet_demo.xml | 60 +++++ 7 files changed, 335 insertions(+), 216 deletions(-) create mode 100644 addons/project_timesheet/project_timesheet_demo.xml diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml index d2da8e6ea9e..08ec23bd872 100644 --- a/addons/hr_timesheet/hr_timesheet_view.xml +++ b/addons/hr_timesheet/hr_timesheet_view.xml @@ -101,7 +101,6 @@ - hr.timesheet.employee.extd_form diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml index e365d095a20..8d3752c0979 100644 --- a/addons/project/project_demo.xml +++ b/addons/project/project_demo.xml @@ -2,6 +2,216 @@ + + + + Phuong + + phu + phu + + + Anthony + + al + al + + + Quentin + + qdp + qdp + + + Francois + + fpi + fpi + + + Julien + + jth + jth + + + Alien + + apr + apr + + + Fabian + + fbs + fbs + + + + + + open + normal + Integrate a Sale and Warehouse Management. + + + Integrate a Sale and Warehouse Management. + + + + + + + + 2 + + Prepare Requirements Document + + + + + + 2 + + Make SRS + + + + + + 2 + + Design Use Cases + + + + + + 2 + + Budget Planning + + + + + + 2 + + Quality Planning + + + + + + 2 + + Risk Management Planning + + + + + + 2 + + Create Project Schedules + + + + + + 2 + + Dataflow Design + + + + + + 2 + + User Interface Design + + + + + + 2 + + Develop Module in Sale Management + + + + + + 2 + + Develop module in Warehouse + + + + + + 2 + + Integrate Modules + + + + + + 2 + + Unit Testing + + + + + + 2 + + Regression Test + + + + + + 2 + + Documentation + + + + + + + 2 + + Performance Tuning + + + + + + 2 + + Deploy and Review on Customer System + + + + + + 2 + + Training and Presentation + + diff --git a/addons/project_long_term/project_long_term_demo.xml b/addons/project_long_term/project_long_term_demo.xml index 4de53c0f38d..3bc236dee26 100644 --- a/addons/project_long_term/project_long_term_demo.xml +++ b/addons/project_long_term/project_long_term_demo.xml @@ -2,115 +2,56 @@ - - - - Phuong - - phu - phu - - - Anthony - - al - al - - - Quentin - - qdp - qdp - - - Francois - - fpi - fpi - - - Julien - - jth - jth - - - Alien - - apr - apr - - - Fabian - - fbs - fbs - + - + Analyst - + Project Manager - + Technical Leader - + Developer - + Designer - + Tester - + Project Finacial Manager - - - - open - normal - Integrate an Sale and Warehouse Management. - - - Integrate an Sale and Warehouse Management. - + @@ -119,8 +60,8 @@ This Demo data file includes Users, Human Resources, Projects and it' members li 30 - - + + @@ -129,8 +70,8 @@ This Demo data file includes Users, Human Resources, Projects and it' members li 20 - - + + @@ -139,8 +80,8 @@ This Demo data file includes Users, Human Resources, Projects and it' members li 20 - - + + @@ -149,8 +90,8 @@ This Demo data file includes Users, Human Resources, Projects and it' members li 90 - - + + @@ -159,8 +100,8 @@ This Demo data file includes Users, Human Resources, Projects and it' members li 30 - - + + @@ -169,8 +110,8 @@ This Demo data file includes Users, Human Resources, Projects and it' members li 10 - - + + @@ -221,173 +162,82 @@ This Demo data file includes Users, Human Resources, Projects and it' members li - - - - 2 - - Prepare Requirements Document + - - - - 2 - - Make SRS + - - - - 2 - - Design Use Cases + - - - - 2 - - Budget Planning + - - - - 2 - - Quality Planning + - - - - 2 - - Risk Management Planning + - - - - 2 - - Create Project Schedules + - - - - 2 - - Dataflow Design + - - - - 2 - - User Interface Design + - - - - 2 - - Develop Module in Sale Management + - - - - 2 - - Develop module in Warehouse + - - - - 2 - - Integrate Modules + - - - - 2 - - Unit Testing + - - - - 2 - - Regression Test + - - - - 2 - - Documentation + - - - - - 2 - - Performance Tuning + - - - - 2 - - Deploy and Review on Customer System + - - - - 2 - - Training and Presentation + - + - + diff --git a/addons/project_long_term/test/schedule_phase_tasks.yml b/addons/project_long_term/test/schedule_phase_tasks.yml index 150d80af822..aa54fa1ac57 100644 --- a/addons/project_long_term/test/schedule_phase_tasks.yml +++ b/addons/project_long_term/test/schedule_phase_tasks.yml @@ -4,13 +4,13 @@ !record {model: project.project, id: project_project_project0}: name: Develop an outlook-openerp synchronization plugin members: - - project_long_term.res_users_project_manager - - project_long_term.res_users_technical_leader - - project_long_term.res_users_developer - - project_long_term.res_users_designer - - project_long_term.res_users_tester - - project_long_term.res_users_analyst - - project_long_term.res_users_finacial_manager + - project.res_users_project_manager + - project.res_users_technical_leader + - project.res_users_developer + - project.res_users_designer + - project.res_users_tester + - project.res_users_analyst + - project.res_users_finacial_manager - Create phase 'Develop GUI' in Outlook - @@ -40,7 +40,7 @@ state: draft phase_id: project_phase_phase0 project_id: project_project_project0 - user_id: project_long_term.res_users_developer + user_id: project.res_users_developer - Create the phase task 'Develop GUI for Modules Configuration' @@ -52,7 +52,7 @@ state: draft phase_id: project_phase_phase0 project_id: project_project_project0 - user_id: project_long_term.res_users_developer + user_id: project.res_users_developer - Create the phase task 'Develop GUI for OpenERP Synchronisation' - @@ -63,7 +63,7 @@ state: draft phase_id: project_phase_phase0 project_id: project_project_project0 - user_id: project_long_term.res_users_developer + user_id: project.res_users_developer - Create the phase task 'Design required GUI/Menus' - @@ -74,7 +74,7 @@ state: draft phase_id: project_phase_phase0 project_id: project_project_project0 - user_id: project_long_term.res_users_designer + user_id: project.res_users_designer - Schedule phase tasks diff --git a/addons/project_long_term/test/schedule_project_tasks.yml b/addons/project_long_term/test/schedule_project_tasks.yml index dfc4cf1fc5e..04a05437487 100644 --- a/addons/project_long_term/test/schedule_project_tasks.yml +++ b/addons/project_long_term/test/schedule_project_tasks.yml @@ -4,13 +4,13 @@ !record {model: project.project, id: project_project_project1}: name: Develop a thunderbird-openerp synchronization plugin members: - - project_long_term.res_users_project_manager - - project_long_term.res_users_technical_leader - - project_long_term.res_users_developer - - project_long_term.res_users_designer - - project_long_term.res_users_tester - - project_long_term.res_users_analyst - - project_long_term.res_users_finacial_manager + - project.res_users_project_manager + - project.res_users_technical_leader + - project.res_users_developer + - project.res_users_designer + - project.res_users_tester + - project.res_users_analyst + - project.res_users_finacial_manager - Create phase 'Develop GUI' in thunderbird @@ -41,7 +41,7 @@ state: draft phase_id: project_phase_phase1 project_id: project_project_project1 - user_id: project_long_term.res_users_developer + user_id: project.res_users_developer - Create the phase task 'Develop GUI for Modules Configuration' @@ -53,7 +53,7 @@ state: draft phase_id: project_phase_phase1 project_id: project_project_project1 - user_id: project_long_term.res_users_developer + user_id: project.res_users_developer - Create the phase task 'Develop GUI for OpenERP Synchronisation' - @@ -64,7 +64,7 @@ state: draft phase_id: project_phase_phase1 project_id: project_project_project1 - user_id: project_long_term.res_users_developer + user_id: project.res_users_developer - Create the phase task 'Design required GUI/Menus' - @@ -75,7 +75,7 @@ state: draft phase_id: project_phase_phase1 project_id: project_project_project1 - user_id: project_long_term.res_users_designer + user_id: project.res_users_designer - diff --git a/addons/project_timesheet/__openerp__.py b/addons/project_timesheet/__openerp__.py index e1be86fe661..fbf3d389739 100644 --- a/addons/project_timesheet/__openerp__.py +++ b/addons/project_timesheet/__openerp__.py @@ -33,7 +33,7 @@ 'depends': ['project', 'hr_timesheet_sheet', 'hr_timesheet_invoice'], 'init_xml': [], 'update_xml': ["security/ir.model.access.csv","process/project_timesheet_process.xml", "report/task_report_view.xml", "project_timesheet_view.xml"], - 'demo_xml': [], + 'demo_xml': ["project_timesheet_demo.xml"], 'test': [ 'test/worktask_entry_to_timesheetline_entry.yml', ], diff --git a/addons/project_timesheet/project_timesheet_demo.xml b/addons/project_timesheet/project_timesheet_demo.xml new file mode 100644 index 00000000000..8eec74bc9e5 --- /dev/null +++ b/addons/project_timesheet/project_timesheet_demo.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + Phuong + + + + + + + + + Francois + + + + + + + + Julien + + + + + + + + Alien + + + + + + + + Fabian + + + + + + + + + From c81407ccb028482c473b4e965b07bb3cdf563b06 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Fri, 15 Oct 2010 16:23:29 +0530 Subject: [PATCH 06/12] [IMP]Project-Task-> click Project form view -task-new task-- project set by default bzr revid: ron@tinyerp.com-20101015105329-yi921ebnwmniuzyg --- addons/project/project_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 59bd8a6aff5..823d1f253c2 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -325,7 +325,7 @@ -