Skip to content

Commit 0e98ee3

Browse files
committed
[FIX] stock_grn: Use UTF-8 ZPL markup for special characters
1 parent a0cb392 commit 0e98ee3

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

stock_grn/models/stock_grn.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Copyright 2015 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
22
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
3+
import markupsafe
34

45
from odoo import api, fields, models
56

@@ -46,10 +47,18 @@ class StockGrn(models.Model):
4647
supplier_id = fields.Many2one(
4748
"res.partner", string="Supplier", related="picking_ids.partner_id", store=True
4849
)
50+
supplier_name_markup = fields.Char(
51+
compute="_compute_supplier_name_markup",
52+
)
4953

5054
@api.model_create_multi
5155
def create(self, vals_list):
5256
for vals in vals_list:
5357
if vals.get("name", "/") == "/":
5458
vals["name"] = self.env["ir.sequence"].next_by_code("stock.grn") or "/"
5559
return super().create(vals_list)
60+
61+
@api.depends("supplier_id.display_name")
62+
def _compute_supplier_name_markup(self):
63+
for grn in self:
64+
grn.supplier_name_markup = markupsafe.Markup(grn.supplier_id.display_name)

stock_grn/reports/stock_grn.xml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,42 @@
1111
/>
1212
<t t-foreach="range(1, total + 1, 1)" t-as="number">
1313
^XA
14+
^CI28
1415
<t t-name="supplier_name">
1516
^CF0,50
16-
^FO010,50^FD<t t-esc="grn.supplier_id.display_name" />^FS
17+
^FO010,50^FD<t t-out="grn.supplier_name_markup" />^FS
1718
</t>
1819
<t t-name="grn_number">
1920
^CF0,25
2021

21-
^FO250,115^FDNUMBER: <t t-esc="number" /> / <t t-esc="total" /> ^FS
22+
^FO250,115^FDNUMBER: <t t-out="number" /> / <t t-esc="total" /> ^FS
2223
</t>
2324
<t t-name="reference">
24-
^FO250,150^FDREF: <t t-esc="grn.ref" />^FS
25+
^FO250,150^FDREF: <t t-out="grn.ref" />^FS
2526
</t>
2627
<t t-name="origin">
2728
^FO250,185^FDORIGIN: <t
28-
t-esc="','.join([origin for origin in grn.picking_ids.mapped('origin') if origin])"
29+
t-out="','.join([origin for origin in grn.picking_ids.mapped('origin') if origin])"
2930
/>^FS
3031
</t>
3132
<t t-name="grn_supplier">
32-
^FO250,220^FDSUPPLIER REF: <t t-esc="grn.delivery_note_supplier_number" />^FS
33+
^FO250,220^FDSUPPLIER REF: <t t-out="grn.delivery_note_supplier_number" />^FS
3334
</t>
3435
<t t-name="grn_boxes">
35-
^FO250,255^FDBOXES: <t t-esc="grn.qty_box" />^FS
36+
^FO250,255^FDBOXES: <t t-out="grn.qty_box" />^FS
3637
</t>
3738
<t t-name="grn_pallets">
38-
^FO250,290^FDPALLETS: <t t-esc="grn.qty_pallet" />^FS
39+
^FO250,290^FDPALLETS: <t t-out="grn.qty_pallet" />^FS
3940
</t>
4041
<t t-name="grn_number">
41-
^FO250,325^FDDATE: <t t-esc="curr_date" t-options='{"widget": "date"}' />^FS
42+
^FO250,325^FDDATE: <t t-out="curr_date" t-options='{"widget": "date"}' />^FS
4243
</t>
4344
<t t-name="grn_qr">
4445
^BQN,2,6,M,7
45-
^FO050,115^FH^FDQA,<t t-esc="grn.name" />^FS
46+
^FO050,115^FH^FDQA,<t t-out="grn.name" />^FS
4647
</t>
4748
<t t-name="grn_name">
48-
^FO050,290^FD<t t-esc="grn.name" />^FS
49+
^FO050,290^FD<t t-out="grn.name" />^FS
4950
</t>
5051
^XZ
5152
</t>

0 commit comments

Comments
 (0)