summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPankaj Joshi <pji@openerp.com>2014-08-28 18:16:17 +0530
committerRichard Mathot <rim@openerp.com>2014-09-12 14:45:03 +0200
commit5728fcd61e73c394df2d74136a8a007e310aa59c (patch)
treefdcfab0d1160b8527054d4a5cb312cf8098aff07
parentff83b439c9304654630dba8e92ede0831cddf874 (diff)
[IMP] pos: correct journal for cash payments
(cherry-pick of 2b08443e0d28e96cbbc9a587cb9932319bd1ce10)
-rw-r--r--addons/point_of_sale/point_of_sale.py7
-rw-r--r--addons/point_of_sale/static/src/js/models.js4
2 files changed, 6 insertions, 5 deletions
diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index 7d794dbfbde..236c5cd0172 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -25,6 +25,7 @@ import time
from openerp import tools
from openerp.osv import fields, osv
from openerp.tools.translate import _
+from openerp.exceptions import Warning
import openerp.addons.decimal_precision as dp
import openerp.addons.product.product
@@ -589,11 +590,7 @@ class pos_order(osv.osv):
if order['amount_return']:
cash_journal = session.cash_journal_id
if not cash_journal:
- cash_journal_ids = filter(lambda st: st.journal_id.type=='cash', session.statement_ids)
- if not len(cash_journal_ids):
- raise osv.except_osv( _('error!'),
- _("No cash statement found for this session. Unable to record returned cash."))
- cash_journal = cash_journal_ids[0].journal_id
+ raise Warning(_('No cash statement found with cash control enabled for this session. Unable to record returned cash.'))
self.add_payment(cr, uid, order_id, {
'amount': -order['amount_return'],
'payment_date': time.strftime('%Y-%m-%d %H:%M:%S'),
diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js
index 07869f103e2..2ac04253576 100644
--- a/addons/point_of_sale/static/src/js/models.js
+++ b/addons/point_of_sale/static/src/js/models.js
@@ -567,6 +567,10 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
return server_ids;
}).fail(function (error, event){
if(error.code === 200 ){ // Business Logic Error, not a connection problem
+ //if warning do not need to dispaly traceback!!
+ if(error.data.exception_type == 'warning'){
+ delete error.data.debug;
+ }
self.pos_widget.screen_selector.show_popup('error-traceback',{
message: error.data.message,
comment: error.data.debug