From 471bb6a67e64e3c39f87054650327c944f1f5547 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Thu, 10 May 2012 09:48:04 +0200 Subject: [PATCH] [IMP] point_of_sale: show the opening and closing details [FIX] point_of_sale: Use tools.translate library bzr revid: stw@openerp.com-20120510074804-8jf12enzw3jghrrf --- addons/account/account_cash_statement.py | 6 +-- addons/account/account_view.xml | 24 ++++++++-- addons/account/wizard/pos_box.py | 3 +- .../point_of_sale/account_bank_statement.py | 7 +++ .../point_of_sale/account_statement_view.xml | 1 + addons/point_of_sale/point_of_sale.py | 30 +++++++++---- addons/point_of_sale/point_of_sale_view.xml | 45 ++++++++++++++++++- .../wizard/pos_close_statement.xml | 2 + 8 files changed, 99 insertions(+), 19 deletions(-) diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index 9cec8dfc723..8011cdac45b 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -205,6 +205,8 @@ class account_cash_statement(osv.osv): 'closing_date': fields.datetime("Closed On"), 'balance_end_cash': fields.function(_balance_end_cash, store=False, string='Closing Balance', help="Closing balance based on cashBox"), 'details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='CashBox Lines'), + 'opening_details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='Opening Cashbox Lines'), + 'closing_details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='Closing Cashbox Lines'), 'user_id': fields.many2one('res.users', 'Responsible', required=False), 'difference' : fields.function(_compute_difference, method=True, string="Difference", type="float"), } @@ -327,10 +329,6 @@ class account_cash_statement(osv.osv): def _equal_balance(self, cr, uid, cash_id, context=None): statement = self.browse(cr, uid, cash_id, context=context) self.write(cr, uid, [cash_id], {'balance_end_real': statement.balance_end}) - print "balance_end_real: %r" % (statement.balance_end,) - print "balance_end: %r" % (statement.balance_end,) - print "balance_end_cash: %r" % (statement.balance_end_cash,) - if statement.balance_end != statement.balance_end_cash: return False return True diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 273035fbc2a..2ea269d93ae 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -505,10 +505,12 @@ + + @@ -2665,9 +2667,25 @@ action = pool.get('res.config').next(cr, uid, [], context) - - - + + + + + + + + + + + + + + + + + + + diff --git a/addons/account/wizard/pos_box.py b/addons/account/wizard/pos_box.py index a9e752397e0..de3d3872ad3 100644 --- a/addons/account/wizard/pos_box.py +++ b/addons/account/wizard/pos_box.py @@ -1,6 +1,7 @@ #!/usr/bin/env python from osv import osv, fields import decimal_precision as dp +from tools.translate import _ class CashBox(osv.osv_memory): _register = False @@ -29,7 +30,7 @@ class CashBox(osv.osv_memory): for record in records: if not record.journal_id.internal_account_id: raise osv.except_osv(_('Error !'), - _('Please check that internal account is set to %s') % (record.journal_id.name,)) + _('Please check that Internal Transfers Account is set to %s') % (record.journal_id.name,)) self._create_bank_statement_line(cr, uid, box, record, context=context) diff --git a/addons/point_of_sale/account_bank_statement.py b/addons/point_of_sale/account_bank_statement.py index c68b98384df..9a64185659c 100644 --- a/addons/point_of_sale/account_bank_statement.py +++ b/addons/point_of_sale/account_bank_statement.py @@ -30,6 +30,8 @@ class account_journal(osv.osv): 'opening_control': fields.boolean('Opening Control', help="If you want the journal should be control at opening, check this option"), 'closing_control': fields.boolean('Closing Control', help="If you want the journal should be control at closing, check this option"), + 'amount_authorized_diff' : fields.float('Amount Authorized Difference'), + } _defaults = { 'opening_control' : True, @@ -87,6 +89,11 @@ class account_cash_statement(osv.osv): ] return super(account_cash_statement, self).search(cr, uid, domain, offset=offset, limit=limit, order=order, context=context, count=count) + _columns = { + 'pos_session_id' : fields.many2one('pos.session'), + + } + account_cash_statement() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/point_of_sale/account_statement_view.xml b/addons/point_of_sale/account_statement_view.xml index e309879100e..038d7857f52 100644 --- a/addons/point_of_sale/account_statement_view.xml +++ b/addons/point_of_sale/account_statement_view.xml @@ -14,6 +14,7 @@ + diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index c59aa86f5c9..981fafb0c82 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -183,7 +183,7 @@ class pos_session(osv.osv): ('opening_control', 'Opening Control'), # Signal open ('opened', 'Opened'), # Signal closing ('closing_control', 'Closing Control'), # Signal close - ('closed', 'Closed'), + ('closed', 'Closed & Posted'), ] def _compute_cash_register_id(self, cr, uid, ids, fieldnames, args, context=None): @@ -231,9 +231,26 @@ class pos_session(osv.osv): type='many2one', relation='account.bank.statement', string='Cash Register', store=True), + 'opening_details_ids' : fields.related('cash_register_id', 'opening_details_ids', + type='one2many', relation='account.cashbox.line', + string='CashBox Lines'), + 'closing_details_ids' : fields.related('cash_register_id', 'closing_details_ids', + type='one2many', relation='account.cashbox.line', + string='CashBox Lines'), + 'details_ids' : fields.related('cash_register_id', 'details_ids', type='one2many', relation='account.cashbox.line', string='CashBox Lines'), + + 'cash_register_date' : fields.related('cash_register_id', 'date', type='datetime', string='Started On'), + 'cash_register_closing_date' : fields.related('cash_register_id', 'closing_date', type='datetime', string='Closed On'), + 'cash_register_balance_end_real' : fields.related('cash_register_id', 'balance_end_real', type='float', digits_compute=dp.get_precision('Account'), string="Ending Balance"), + 'cash_register_balance_start' : fields.related('cash_register_id', 'balance_start', type='float', digits_compute=dp.get_precision('Account'), string="Starting Balance"), + 'cash_register_total_entry_encoding' : fields.related('cash_register_id', 'total_entry_encoding', string='Total Cash Transaction'), + 'cash_register_balance_end' : fields.related('cash_register_id', 'balance_end', type='float', digits_compute=dp.get_precision('Account'), string="Computed Balance"), + 'cash_register_balance_end_cash' : fields.related('cash_register_id', 'balance_end_cash', string='Closing Balance', help="Closing balance based on cashBox"), + 'cash_register_difference' : fields.related('cash_register_id', 'difference', type='float', string='Difference'), + 'journal_ids' : fields.related('config_id', 'journal_ids', type='many2many', readonly=True, @@ -241,12 +258,7 @@ class pos_session(osv.osv): string='Journals'), 'order_ids' : fields.one2many('pos.order', 'session_id', 'Orders'), - 'statement_ids' : fields.many2many('account.bank.statement', - 'pos_session_statement_rel', - 'session_id', - 'statement_id', - 'Bank Statement', - readonly=True), + 'statement_ids' : fields.one2many('account.bank.statement', 'pos_session_id', 'Bank Statement', readonly=True), } _defaults = { @@ -911,7 +923,7 @@ class pos_order(osv.osv): continue account_move_line_obj.create(cr, uid, { - 'name': "Tax" + line.name + " (%s)" % (tax.name), + 'name': _("Tax") + line.name + " (%s)" % (tax.name), 'date': order.date_order[:10], 'ref': order.name, 'product_id':line.product_id.id, @@ -950,7 +962,7 @@ class pos_order(osv.osv): # counterpart to_reconcile.append(account_move_line_obj.create(cr, uid, { - 'name': "Trade Receivables", #order.name, + 'name': _("Trade Receivables"), #order.name, 'date': order.date_order[:10], 'ref': order.name, 'move_id': move_id, diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index f47e143017e..69c269de4d5 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -885,21 +885,62 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/point_of_sale/wizard/pos_close_statement.xml b/addons/point_of_sale/wizard/pos_close_statement.xml index e9165377f5d..f36ea026cb3 100644 --- a/addons/point_of_sale/wizard/pos_close_statement.xml +++ b/addons/point_of_sale/wizard/pos_close_statement.xml @@ -25,6 +25,7 @@ + Close Cash Register