[FIX] account: restore cross-account reconciliation check, disabled by mistake
authorOlivier Dony <odo@openerp.com>
Fri, 10 Jan 2014 15:40:23 +0000 (16:40 +0100)
committerOlivier Dony <odo@openerp.com>
Fri, 10 Jan 2014 15:40:23 +0000 (16:40 +0100)
Both the FY closing change and the removal of the
check occurred at revision 6529
6529 revid:qdp-launchpad@openerp.com-20120209170333-8xu7r21hencjwu73.

Also removed code specific to fiscal year closing
in the regular reconciliation operation, as the
FY closing is now using a dedication reconciliation
algorithm.

bzr revid: odo@openerp.com-20140110154023-12rqfeuwx5fqpdau

addons/account/account_move_line.py

index 92ea0d9..3acf6cf 100644 (file)
@@ -839,18 +839,17 @@ class account_move_line(osv.osv):
                    (tuple(ids), ))
         r = cr.fetchall()
         #TODO: move this check to a constraint in the account_move_reconcile object
+        if len(r) != 1:
+            raise osv.except_osv(_('Error'), _('Entries are not of the same account or already reconciled ! '))
         if not unrec_lines:
             raise osv.except_osv(_('Error'), _('Entry is already reconciled'))
         account = account_obj.browse(cr, uid, account_id, context=context)
+        if not account.reconcile:
+            raise osv.except_osv(_('Error'), _('The account is not defined to be reconciled !'))
         if r[0][1] != None:
             raise osv.except_osv(_('Error'), _('Some entries are already reconciled !'))
 
-        if context.get('fy_closing'):
-            # We don't want to generate any write-off when being called from the
-            # wizard used to close a fiscal year (and it doesn't give us any
-            # writeoff_acc_id).
-            pass
-        elif (not currency_obj.is_zero(cr, uid, account.company_id.currency_id, writeoff)) or \
+        if (not currency_obj.is_zero(cr, uid, account.company_id.currency_id, writeoff)) or \
            (account.currency_id and (not currency_obj.is_zero(cr, uid, account.currency_id, currency))):
             if not writeoff_acc_id:
                 raise osv.except_osv(_('Warning'), _('You have to provide an account for the write off/exchange difference entry !'))