From 5e20e7a3022994406a24d4e3e9128e9b8e5ad5f4 Mon Sep 17 00:00:00 2001
From: qdp-odoo <qdp@openerp.com>
Date: Mon, 11 Aug 2014 13:18:17 +0200
Subject: [PATCH] [FIX] account, point_of_sale: fixed the feature to put money
 in or take money out of a cash register. Fix #1416

---
 addons/account/wizard/pos_box.py | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/addons/account/wizard/pos_box.py b/addons/account/wizard/pos_box.py
index 5374fc47d6ba..5edfa9d0e7b5 100644
--- a/addons/account/wizard/pos_box.py
+++ b/addons/account/wizard/pos_box.py
@@ -49,16 +49,19 @@ class CashBoxIn(CashBox):
 
     _columns = CashBox._columns.copy()
     _columns.update({
-        'ref' : fields.char('Reference'),
+        'ref': fields.char('Reference'),
     })
 
     def _compute_values_for_statement_line(self, cr, uid, box, record, context=None):
+        if not record.journal_id.internal_account_id.id:
+            raise osv.except_osv(_('Configuration Error'), _("You should have defined an 'Internal Transfer Account' in your cash register's journal!"))
         return {
-            'statement_id' : record.id,
-            'journal_id' : record.journal_id.id,
-            'amount' : box.amount or 0.0,
-            'ref' : '%s' % (box.ref or ''),
-            'name' : box.name,
+            'statement_id': record.id,
+            'journal_id': record.journal_id.id,
+            'amount': box.amount or 0.0,
+            'account_id': record.journal_id.internal_account_id.id,
+            'ref': '%s' % (box.ref or ''),
+            'name': box.name,
         }
 
 
@@ -68,11 +71,13 @@ class CashBoxOut(CashBox):
     _columns = CashBox._columns.copy()
 
     def _compute_values_for_statement_line(self, cr, uid, box, record, context=None):
+        if not record.journal_id.internal_account_id.id:
+            raise osv.except_osv(_('Configuration Error'), _("You should have defined an 'Internal Transfer Account' in your cash register's journal!"))
         amount = box.amount or 0.0
         return {
-            'statement_id' : record.id,
-            'journal_id' : record.journal_id.id,
-            'amount' : -amount if amount > 0.0 else amount,
-            'name' : box.name,
+            'statement_id': record.id,
+            'journal_id': record.journal_id.id,
+            'amount': -amount if amount > 0.0 else amount,
+            'account_id': record.journal_id.internal_account_id.id,
+            'name': box.name,
         }
-
-- 
GitLab