← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-addons/jam-dev-addons into lp:~openerp-dev/openobject-addons/trunk-dev-addons1

 

Jigar Amin - OpenERP has proposed merging lp:~openerp-dev/openobject-addons/jam-dev-addons into lp:~openerp-dev/openobject-addons/trunk-dev-addons1.

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  #693833 [6.0] performance issues - stock_move, account_move_lines and others
  https://bugs.launchpad.net/bugs/693833
  #695038 OpenOfficeReportDesigner Group to Remove in Trunk
  https://bugs.launchpad.net/bugs/695038
  #695596 Audit trail module does not creating an audit log for users.
  https://bugs.launchpad.net/bugs/695596
  #703969 OpenERP V6 - Project / Task: Start and end date are not subjected to a logical inspection
  https://bugs.launchpad.net/bugs/703969

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/jam-dev-addons/+merge/46572

Hello
   Issue Proposed for Merging :
    + lp:703969
   Kindly review this.
Thank You
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/jam-dev-addons/+merge/46572
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/jam-dev-addons.
=== modified file 'project/project.py'
--- project/project.py	2011-01-17 13:12:57 +0000
+++ project/project.py	2011-01-18 07:04:02 +0000
@@ -475,8 +475,20 @@
             ids = child_ids
         return True
 
+    def _check_dates(self, cr, uid, ids, context=None):
+        if context == None:
+            context = {}
+        obj_task = self.browse(cr, uid, ids[0], context=context)
+        start = obj_task.date_start or False
+        end = obj_task.date_end or False
+        if start and end :
+            if start > end:        
+                return False
+        return True           
+
     _constraints = [
-        (_check_recursion, 'Error ! You cannot create recursive tasks.', ['parent_ids'])
+        (_check_recursion, 'Error ! You cannot create recursive tasks.', ['parent_ids']),
+        (_check_dates, 'Error ! Task end-date must be greater then task start-date', ['date_start','date_end'])
     ]
     #
     # Override view according to the company definition
@@ -540,6 +552,7 @@
         """
         request = self.pool.get('res.request')
         for task in self.browse(cr, uid, ids, context=context):
+            vals = {}
             project = task.project_id
             if project:
                 # Send request to project manager
@@ -562,7 +575,11 @@
                             reopen = False
                     if reopen:
                         self.do_reopen(cr, uid, [parent_id.id])
-            self.write(cr, uid, [task.id], {'state': 'done', 'date_end':time.strftime('%Y-%m-%d %H:%M:%S'), 'remaining_hours': 0.0})
+            vals.update({'state': 'done'})
+            vals.update({'remaining_hours': 0.0})
+            if not task.date_end:
+                vals.update({ 'date_end':time.strftime('%Y-%m-%d %H:%M:%S')})
+            self.write(cr, uid, [task.id],vals)
             message = _("The task '%s' is done") % (task.name,)
             self.log(cr, uid, task.id, message)
         return True


Follow ups