From 775ab9010cda074fdcef8a0a9c22d3a096d53498 Mon Sep 17 00:00:00 2001 From: Husen Daudi Date: Wed, 3 Dec 2008 19:08:20 +0530 Subject: [PATCH] bugfix for task work and remaining hours lp bug: https://launchpad.net/bugs/304410 fixed bzr revid: hda@tinyerp.com-20081203133820-fp0ca4k3qwk61jj2 --- addons/.project | 17 ----------------- addons/project/project.py | 24 +++++++++--------------- addons/project/project_demo.xml | 2 +- addons/project/project_view.xml | 5 +++-- 4 files changed, 13 insertions(+), 35 deletions(-) delete mode 100644 addons/.project diff --git a/addons/.project b/addons/.project deleted file mode 100644 index 6b6fa8f2cfc..00000000000 --- a/addons/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - openobject-addons - - - - - - org.python.pydev.PyDevBuilder - - - - - - org.python.pydev.pythonNature - - diff --git a/addons/project/project.py b/addons/project/project.py index b7ff8044707..c2337da7053 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -246,6 +246,15 @@ class task(osv.osv): #_sql_constraints = [ # ('remaining_hours', 'CHECK (remaining_hours>=0)', 'Please increase and review remaining hours ! It can not be smaller than 0.'), #] + + def _button_dummy(self, cr, uid, ids, context={}): + tot_work=0 + for obj in self.browse(cr,uid,ids): + for work in obj.work_ids: + tot_work+=work.hours + final_val = obj.planned_hours - tot_work + self.write(cr,uid,ids[0],{'remaining_hours':final_val}) + return True def copy(self, cr, uid, id, default={},context={}): default = default or {} @@ -408,23 +417,8 @@ class project_work(osv.osv): 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S') } _order = "date desc" - def create(self, cr, uid, vals, *args, **kwargs): - if 'task_id' in vals: - cr.execute('update project_task set remaining_hours=remaining_hours+%.2f where id=%d', (-vals.get('hours',0.0), vals['task_id'])) - return super(project_work,self).create(cr, uid, vals, *args, **kwargs) - def write(self, cr, uid, ids,vals,context={}): - for work in self.browse(cr, uid, ids, context): - cr.execute('update project_task set remaining_hours=remaining_hours+%.2f+(%.2f) where id=%d', (-vals.get('hours',0.0), work.hours, work.task_id.id)) - return super(project_work,self).write(cr, uid, ids, vals, context) - - def unlink(self, cr, uid, ids, *args, **kwargs): - for work in self.browse(cr, uid, ids): - cr.execute('update project_task set remaining_hours=remaining_hours+%.2f where id=%d', (work.hours, work.task_id.id)) - return super(project_work,self).unlink(cr, uid, ids,*args, **kwargs) project_work() - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml index 9a25d722689..ea6803bf302 100644 --- a/addons/project/project_demo.xml +++ b/addons/project/project_demo.xml @@ -89,7 +89,7 @@ Internal testing + Software Install - 2007-06-06 + 2008-06-06 17 diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 9b92f22c2cb..b2d31694d57 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -220,7 +220,8 @@ widget="float_time" on_change="onchange_planned(planned_hours,effective_hours)"/> - + +