Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
3
report_qweb_parameter/models/__init__.py
Normal file
3
report_qweb_parameter/models/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import ir_qweb
|
||||
76
report_qweb_parameter/models/ir_qweb.py
Normal file
76
report_qweb_parameter/models/ir_qweb.py
Normal file
@@ -0,0 +1,76 @@
|
||||
# Copyright 2017 Creu Blanca
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import models
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class IrQWeb(models.AbstractModel):
|
||||
_inherit = "ir.qweb"
|
||||
|
||||
def check_length(self, value, min_length=False, max_length=False): # noqa
|
||||
"""No use staticmethod because self is needed to translate exception messages"""
|
||||
if min_length and len(value) < min_length:
|
||||
raise ValidationError(
|
||||
self.env._("Length cannot be less than %s", min_length)
|
||||
)
|
||||
if max_length and len(value) > max_length:
|
||||
raise ValidationError(
|
||||
self.env._("Length cannot be more than %s", max_length)
|
||||
)
|
||||
return value
|
||||
|
||||
def _compile_directive_esc(self, el, compile_context, level):
|
||||
min_value = el.attrib.pop("t-minlength", False)
|
||||
max_value = el.attrib.pop("t-maxlength", False)
|
||||
if min_value or max_value:
|
||||
el.attrib["t-esc"] = (
|
||||
'docs.env["ir.qweb"].check_length('
|
||||
+ el.attrib["t-esc"]
|
||||
+ ", "
|
||||
+ (min_value or "False")
|
||||
+ ", "
|
||||
+ (max_value or "False")
|
||||
+ ")"
|
||||
)
|
||||
if "t-length" in el.attrib:
|
||||
tlength = el.attrib.pop("t-length")
|
||||
el.attrib["t-esc"] = "(" + el.attrib["t-esc"] + ")[:" + tlength + "]"
|
||||
return super()._compile_directive_esc(el, compile_context, level)
|
||||
|
||||
def _compile_directive_out(self, el, compile_context, level):
|
||||
min_value = el.attrib.pop("t-minlength", False)
|
||||
max_value = el.attrib.pop("t-maxlength", False)
|
||||
if min_value or max_value:
|
||||
el.attrib["t-out"] = (
|
||||
'docs.env["ir.qweb"].check_length('
|
||||
+ el.attrib["t-out"]
|
||||
+ ", "
|
||||
+ (min_value or "False")
|
||||
+ ", "
|
||||
+ (max_value or "False")
|
||||
+ ")"
|
||||
)
|
||||
if "t-length" in el.attrib:
|
||||
tlength = el.attrib.pop("t-length")
|
||||
el.attrib["t-out"] = "(" + el.attrib["t-out"] + ")[:" + tlength + "]"
|
||||
return super()._compile_directive_out(el, compile_context, level)
|
||||
|
||||
def _compile_directive_raw(self, el, compile_context, level):
|
||||
# TODO: t-raw is deprecated, can it be removed?
|
||||
min_value = el.attrib.pop("t-minlength", False)
|
||||
max_value = el.attrib.pop("t-maxlength", False)
|
||||
if min_value or max_value:
|
||||
el.attrib["t-raw"] = (
|
||||
'docs.env["ir.qweb"].check_length('
|
||||
+ el.attrib["t-raw"]
|
||||
+ ", "
|
||||
+ (min_value or "False")
|
||||
+ ", "
|
||||
+ (max_value or "False")
|
||||
+ ")"
|
||||
)
|
||||
if "t-length" in el.attrib:
|
||||
tlength = el.attrib.pop("t-length")
|
||||
el.attrib["t-raw"] = "(" + el.attrib["t-raw"] + ")[:" + tlength + "]"
|
||||
return super()._compile_directive_raw(el, compile_context, level)
|
||||
Reference in New Issue
Block a user