← Back to team overview

clearcorp team mailing list archive

[Merge] lp:~rr.clearcorp/openerp-ccorp-addons/6.1-account_move_reverse into lp:openerp-ccorp-addons/6.1

 

Ronald Rubi has proposed merging lp:~rr.clearcorp/openerp-ccorp-addons/6.1-account_move_reverse into lp:openerp-ccorp-addons/6.1.

Requested reviews:
  CLEARCORP drivers (clearcorp-drivers)

For more details, see:
https://code.launchpad.net/~rr.clearcorp/openerp-ccorp-addons/6.1-account_move_reverse/+merge/193500

[FIX] Fix account_move_reverse, bad matching lines
-- 
https://code.launchpad.net/~rr.clearcorp/openerp-ccorp-addons/6.1-account_move_reverse/+merge/193500
Your team CLEARCORP development team is subscribed to branch lp:openerp-ccorp-addons/6.1.
=== modified file 'account_move_reverse/account_move_reverse.py'
--- account_move_reverse/account_move_reverse.py	2013-10-21 16:54:53 +0000
+++ account_move_reverse/account_move_reverse.py	2013-10-31 21:17:26 +0000
@@ -61,6 +61,7 @@
     def reverse(self, cr, uid, ids, context=None):
 
         for move_original_id in ids:
+            new_reconcile_line_ids = []
             move_original = self.pool.get('account.move').browse(cr, 1, move_original_id, context=context)
             
             if move_original.move_reverse_id:
@@ -110,9 +111,15 @@
                     if len(reconcile.line_id) > 2:
                         reconcile_line_ids = []
                         for line_id in reconcile.line_id:
-                            reconcile_line_ids.append(line_id.id)
-                        self.pool.get('account.move.line').write(cr,uid,reconcile_line_ids,{'reconcile_id': False, 'reconcile_partial_id':reconcile.id})
-                        self.pool.get('account.move.line').write(cr,uid,line.id,{'reconcile_partial_id': False})
+                            if line_id.id not in new_reconcile_line_ids:
+                                reconcile_line_ids.append(line_id.id)
+                        if len(reconcile_line_ids) > 2:
+                            self.pool.get('account.move.line').write(cr,uid,reconcile_line_ids,{'reconcile_id': False, 'reconcile_partial_id':reconcile.id})
+                            self.pool.get('account.move.line').write(cr,uid,line.id,{'reconcile_partial_id': False})
+                        else:
+                            move_reconcile_obj.unlink(cr,uid,[reconcile.id],context=context)
+                        new_reconcile_line_ids.append(line.id) #Workaround, commit database
+                        
                     else:
                         move_reconcile_obj.unlink(cr,uid,[reconcile.id],context=context)
 
@@ -125,9 +132,11 @@
 
                 if line.account_id.reconcile:
                     reconcile_id = self.pool.get('account.move.reconcile').create(cr, uid, {'type': 'Account Reverse'})
+                    
+                    #The move don't support write this line
                     cr.execute('UPDATE account_move_line '\
                                'SET reconcile_id=%s '\
-                               'WHERE id IN %s', (reconcile_id, tuple([line.id]),))
+                               'WHERE id IN %s', (reconcile_id, tuple([line.id]),))                    
                     #self.pool.get('account.move.line').write(cr,uid,[line.id],{'reconcile_id': reconcile_id})
                     self.pool.get('account.move.line').write(cr,uid,[line_created_id],{'reconcile_id': reconcile_id})
 


Follow ups