diff --git a/addons/l10n_ca/data/account_tax_data.xml b/addons/l10n_ca/data/account_tax_data.xml
index 864f8402fb1..d936dc451c4 100644
--- a/addons/l10n_ca/data/account_tax_data.xml
+++ b/addons/l10n_ca/data/account_tax_data.xml
@@ -110,7 +110,7 @@
sale
100
group
-
+
diff --git a/addons/point_of_sale/models/pos_order.py b/addons/point_of_sale/models/pos_order.py
index 05bcb436b94..c0ca84e5e25 100644
--- a/addons/point_of_sale/models/pos_order.py
+++ b/addons/point_of_sale/models/pos_order.py
@@ -612,7 +612,7 @@ class PosOrder(models.Model):
try:
pos_order.action_pos_order_paid()
- except psycopg2.OperationalError:
+ except psycopg2.DatabaseError:
# do not hide transactional errors, the order(s) won't be saved!
raise
except Exception as e:
diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js
index 5e00712be0d..795597574a3 100644
--- a/addons/point_of_sale/static/src/js/models.js
+++ b/addons/point_of_sale/static/src/js/models.js
@@ -2350,7 +2350,7 @@ exports.NumpadState = Backbone.Model.extend({
this.set({
buffer: "-" + newChar
});
- } else {
+ } else if (!(newChar === '.') || oldBuffer.indexOf('.') === -1) {
this.set({
buffer: (this.get('buffer')) + newChar
});
diff --git a/requirements.txt b/requirements.txt
index a20cfe18dd3..18268a7856c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,7 +6,7 @@ feedparser==5.2.1
gevent==1.1.2
greenlet==0.4.10
jcconv==0.2.3
-Jinja2==2.8.1
+Jinja2==2.10.1
lxml==3.5.0
Mako==1.0.4
MarkupSafe==0.23