diff --git a/addons/loyalty/models/loyalty_card.py b/addons/loyalty/models/loyalty_card.py
index 781f7cbb519..00999ba1f9c 100644
--- a/addons/loyalty/models/loyalty_card.py
+++ b/addons/loyalty/models/loyalty_card.py
@@ -5,6 +5,8 @@ from uuid import uuid4
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
+from odoo.tools import format_amount
+
class LoyaltyCard(models.Model):
_name = 'loyalty.card'
@@ -52,7 +54,15 @@ class LoyaltyCard(models.Model):
@api.depends('points', 'point_name')
def _compute_points_display(self):
for card in self:
- card.points_display = "%.2f %s" % (card.points or 0, card.point_name or '')
+ card.points_display = card._format_points(card.points)
+
+ def _format_points(self, points):
+ self.ensure_one()
+ if self.point_name == self.program_id.currency_id.symbol:
+ return format_amount(self.env, points, self.program_id.currency_id)
+ if points == int(points):
+ return f"{int(points)} {self.point_name or ''}"
+ return f"{points:.2f} {self.point_name or ''}"
# Meant to be overriden
def _compute_use_count(self):
diff --git a/addons/sale_loyalty/views/sale_portal_templates.xml b/addons/sale_loyalty/views/sale_portal_templates.xml
index 3a323796b13..81495117f52 100644
--- a/addons/sale_loyalty/views/sale_portal_templates.xml
+++ b/addons/sale_loyalty/views/sale_portal_templates.xml
@@ -34,7 +34,7 @@
Gift #
- ( )
+ ()
|