summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrédéric van der Essen <fvdessen@gmail.com>2015-04-23 14:12:09 +0200
committerFrédéric van der Essen <fvdessen@gmail.com>2015-05-04 14:13:42 +0200
commitd0fb760709ddd0acb183139b92bbba46092a1493 (patch)
tree5347bc4ac5496be837c706aa899d67fbd3c5a173
parent23ff8808b95c56704c729b7357d33f6f5e38ea0e (diff)
[IMP] point_of_sale: more specific error messages for invoicing failure.
-rw-r--r--addons/point_of_sale/static/src/css/pos.css2
-rw-r--r--addons/point_of_sale/static/src/js/models.js6
-rw-r--r--addons/point_of_sale/static/src/js/screens.js14
3 files changed, 16 insertions, 6 deletions
diff --git a/addons/point_of_sale/static/src/css/pos.css b/addons/point_of_sale/static/src/css/pos.css
index f9b79713069..4ce4ea18eb1 100644
--- a/addons/point_of_sale/static/src/css/pos.css
+++ b/addons/point_of_sale/static/src/css/pos.css
@@ -2088,7 +2088,7 @@ td {
margin-top: 20px;
}
.pos .popup .body.traceback {
- height: 264px;
+ height: 238px;
overflow: auto;
font-size: 14px;
text-align: left;
diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js
index ad2edf147ee..77e37c06d61 100644
--- a/addons/point_of_sale/static/src/js/models.js
+++ b/addons/point_of_sale/static/src/js/models.js
@@ -650,7 +650,7 @@ exports.PosModel = Backbone.Model.extend({
var invoiced = new $.Deferred();
if(!order.get_client()){
- invoiced.reject('error-no-client');
+ invoiced.reject({code:400, message:'Missing Customer', data:{}});
return invoiced;
}
@@ -668,8 +668,8 @@ exports.PosModel = Backbone.Model.extend({
var transfer = self._flush_orders([self.db.get_order(order_id)], {timeout:30000, to_invoice:true});
- transfer.fail(function(){
- invoiced.reject('error-transfer');
+ transfer.fail(function(error){
+ invoiced.reject(error);
done.reject();
});
diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js
index f5e953f4872..5c3349cda07 100644
--- a/addons/point_of_sale/static/src/js/screens.js
+++ b/addons/point_of_sale/static/src/js/screens.js
@@ -1804,7 +1804,7 @@ var PaymentScreenWidget = ScreenWidget.extend({
invoiced.fail(function(error){
self.invoicing = false;
- if (error === 'error-no-client') {
+ if (error.message === 'Missing Customer') {
self.gui.show_popup('confirm',{
'title': _t('Please select the Customer'),
'body': _t('You need to select the customer before you can invoice an order.'),
@@ -1812,11 +1812,21 @@ var PaymentScreenWidget = ScreenWidget.extend({
self.gui.show_screen('clientlist');
},
});
- } else {
+ } else if (error.code < 0) { // XmlHttpRequest Errors
self.gui.show_popup('error',{
'title': _t('The order could not be sent'),
'body': _t('Check your internet connection and try again.'),
});
+ } else if (error.code === 200) { // OpenERP Server Errors
+ self.gui.show_popup('error-traceback',{
+ 'title': error.data.message || _t("Server Error"),
+ 'body': error.data.debug || _t('The server encountered an error while receiving your order.'),
+ });
+ } else { // ???
+ self.gui.show_popup('error',{
+ 'title': _t("Unknown Error"),
+ 'body': _t("The order could not be sent to the server due to an unknown error"),
+ });
}
});