mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
[MIG] base_comment_template: Migration to 17.0
This commit is contained in:
committed by
Maksym Yankin
parent
efb2bbf843
commit
cf39e00f9c
@@ -5,7 +5,7 @@
|
||||
"name": "Base Comments Templates",
|
||||
"summary": "Add conditional mako template to any report"
|
||||
"on models that inherits comment.template.",
|
||||
"version": "16.0.2.2.2",
|
||||
"version": "17.0.1.0.0",
|
||||
"category": "Reporting",
|
||||
"website": "https://github.com/OCA/reporting-engine",
|
||||
"author": "Camptocamp, Odoo Community Association (OCA)",
|
||||
|
||||
@@ -80,7 +80,8 @@ class BaseCommentTemplate(models.Model):
|
||||
],
|
||||
required=True,
|
||||
default="inline_template",
|
||||
help="This field allows to select the engine to use for rendering the template.",
|
||||
help="This field allows to select the engine to use for rendering the "
|
||||
"template.",
|
||||
)
|
||||
|
||||
def _get_ir_model_items(self, models):
|
||||
@@ -114,17 +115,19 @@ class BaseCommentTemplate(models.Model):
|
||||
if not res or len(res) != len(models):
|
||||
raise ValidationError(_("Some model (%s) not found") % item.models)
|
||||
|
||||
def name_get(self):
|
||||
"""Redefine the name_get method to show the template name with the position."""
|
||||
res = []
|
||||
for item in self:
|
||||
name = "{} ({})".format(
|
||||
item.name, dict(self._fields["position"].selection).get(item.position)
|
||||
@api.depends("position", "model_ids")
|
||||
def _compute_display_name(self):
|
||||
for rec in self:
|
||||
name = "{name} ({position})".format(
|
||||
name=rec.name,
|
||||
position=dict(self._fields["position"].selection).get(rec.position),
|
||||
)
|
||||
if self.env.context.get("comment_template_model_display"):
|
||||
name += " (%s)" % ", ".join(item.model_ids.mapped("name"))
|
||||
res.append((item.id, name))
|
||||
return res
|
||||
name = "{name} ({models})".format(
|
||||
name=name,
|
||||
models=", ".join(rec.model_ids.mapped("name")),
|
||||
)
|
||||
rec.display_name = name
|
||||
|
||||
def _search_model_ids(self, operator, value):
|
||||
# We cannot use model_ids.model in search() method to avoid access errors
|
||||
|
||||
@@ -51,9 +51,7 @@ class CommentTemplate(models.AbstractModel):
|
||||
if not domain or record.filtered_domain(domain):
|
||||
record.comment_template_ids = [(4, template.id)]
|
||||
|
||||
def render_comment(
|
||||
self, comment, engine=False, add_context=None, post_process=False
|
||||
):
|
||||
def render_comment(self, comment, engine=False, add_context=None, options=None):
|
||||
self.ensure_one()
|
||||
comment_texts = self.env["mail.render.mixin"]._render_template(
|
||||
template_src=comment.text,
|
||||
@@ -61,6 +59,6 @@ class CommentTemplate(models.AbstractModel):
|
||||
res_ids=[self.id],
|
||||
engine=engine or comment.engine,
|
||||
add_context=add_context,
|
||||
post_process=post_process,
|
||||
options=options,
|
||||
)
|
||||
return markupsafe.Markup(comment_texts[self.id]) or ""
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_base_comment_template_user,access_base_comment_template_user,model_base_comment_template,,1,0,0,0
|
||||
access_base_comment_template,access_base_comment_template no one,model_base_comment_template,base.group_no_one,1,1,1,1
|
||||
access_base_comment_template_preview,access.base.comment.template.preview,model_base_comment_template_preview,base.group_user,1,1,1,0
|
||||
|
||||
|
@@ -47,7 +47,7 @@ class TestCommentTemplate(common.TransactionCase):
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
teardown_test_model(cls.env, ResUsers)
|
||||
return super(TestCommentTemplate, cls).tearDownClass()
|
||||
return super().tearDownClass()
|
||||
|
||||
def test_template_model_ids(self):
|
||||
self.assertIn(
|
||||
@@ -70,7 +70,7 @@ class TestCommentTemplate(common.TransactionCase):
|
||||
}
|
||||
)
|
||||
|
||||
def test_template_name_get(self):
|
||||
def test_template_display_name(self):
|
||||
self.assertEqual(
|
||||
self.before_template_id.display_name,
|
||||
"Top template (Top)",
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
name="web_ribbon"
|
||||
title="Archived"
|
||||
bg_color="bg-danger"
|
||||
attrs="{'invisible': [('active', '=', True)]}"
|
||||
invisible="active"
|
||||
/>
|
||||
<button
|
||||
class="oe_stat_button"
|
||||
|
||||
@@ -33,7 +33,7 @@ class BaseCommentTemplatePreview(models.TransientModel):
|
||||
)
|
||||
res = self.env[model.model].search(domain, limit=1)
|
||||
if res:
|
||||
result["resource_ref"] = "%s,%s" % (model.model, res.id)
|
||||
result["resource_ref"] = f"{model.model},{res.id}"
|
||||
return result
|
||||
|
||||
base_comment_template_id = fields.Many2one(
|
||||
|
||||
@@ -28,12 +28,9 @@
|
||||
name="resource_ref"
|
||||
class="oe_inline"
|
||||
options="{'hide_model': True, 'no_create': True, 'no_edit': True, 'no_open': True}"
|
||||
attrs="{'invisible': [('no_record', '=', True)]}"
|
||||
invisible="no_record"
|
||||
/>
|
||||
<span
|
||||
class="text-warning"
|
||||
attrs="{'invisible': [('no_record', '=', False)]}"
|
||||
>No records
|
||||
<span class="text-warning" invisible="not no_record">No records
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user