mirror of
https://github.com/OCA/web.git
synced 2025-02-22 13:21:25 +02:00
[MIG] web_field_tooltip: Migration to 16.0
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from . import base
|
||||
from . import ir_http
|
||||
from . import ir_model_fields_tooltip
|
||||
from . import res_users
|
||||
|
||||
29
web_field_tooltip/models/base.py
Normal file
29
web_field_tooltip/models/base.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# Copyright 2023 ACSONE SA/NV
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
|
||||
from odoo import api, models
|
||||
|
||||
|
||||
class Base(models.AbstractModel):
|
||||
_inherit = "base"
|
||||
|
||||
@api.model
|
||||
def fields_get(self, allfields=None, attributes=None):
|
||||
res = super().fields_get(allfields=allfields, attributes=attributes)
|
||||
fnames = res.keys()
|
||||
tooltips_data = (
|
||||
self.env["ir.model.fields.tooltip"]
|
||||
.sudo()
|
||||
.search_read(
|
||||
[
|
||||
("model", "=", self._name),
|
||||
("field_name", "in", list(fnames)),
|
||||
],
|
||||
[],
|
||||
)
|
||||
)
|
||||
for tooltip_data in tooltips_data:
|
||||
tooltip_fname = tooltip_data["field_name"]
|
||||
res[tooltip_fname]["field_tooltip"] = tooltip_data
|
||||
return res
|
||||
@@ -18,20 +18,24 @@ class IrModelFieldsTooltip(models.Model):
|
||||
help="Model for the Field Tooltip.",
|
||||
default=lambda self: self._get_default_model_id(),
|
||||
)
|
||||
model = fields.Char(related="model_id.model", string="Model Name")
|
||||
model = fields.Char(related="model_id.model", string="Model Name", store=True)
|
||||
field_id = fields.Many2one(
|
||||
string="Field",
|
||||
required=True,
|
||||
comodel_name="ir.model.fields",
|
||||
ondelete="cascade",
|
||||
)
|
||||
name = fields.Char(compute="_compute_name", readonly=True,)
|
||||
field_name = fields.Char(related="field_id.name", store=True)
|
||||
name = fields.Char(
|
||||
compute="_compute_name",
|
||||
readonly=True,
|
||||
)
|
||||
active = fields.Boolean(
|
||||
default=True,
|
||||
help="Set active to false to hide the Tooltip without removing it.",
|
||||
)
|
||||
field_name = fields.Char(related="field_id.name")
|
||||
tooltip_text = fields.Html(string="Tooltip Text", required=True)
|
||||
tooltip_text = fields.Html(required=True)
|
||||
|
||||
@api.model
|
||||
def default_get(self, fields_list):
|
||||
@@ -61,7 +65,7 @@ class IrModelFieldsTooltip(models.Model):
|
||||
raise UserError(_("A tooltip already exists for this field"))
|
||||
|
||||
def _get_default_model_id(self):
|
||||
tooltip_model = self.env.context.get("tooltip_model")
|
||||
tooltip_model = self.env.context.get("default_model")
|
||||
model = self.env["ir.model"].search([("model", "=", tooltip_model)], limit=1)
|
||||
return model.id or False
|
||||
|
||||
|
||||
@@ -16,11 +16,17 @@ class ResUsers(models.Model):
|
||||
compute="_compute_tooltip_show_add_helper_allowed"
|
||||
)
|
||||
|
||||
def __init__(self, pool, cr):
|
||||
super().__init__(pool, cr)
|
||||
field_names = ["tooltip_show_add_helper"]
|
||||
self.SELF_READABLE_FIELDS.extend(field_names)
|
||||
self.SELF_WRITEABLE_FIELDS.extend(field_names)
|
||||
@property
|
||||
def TOOLTIP_READABLE_FIELDS(self):
|
||||
return ["tooltip_show_add_helper"]
|
||||
|
||||
@property
|
||||
def SELF_READABLE_FIELDS(self):
|
||||
return super().SELF_READABLE_FIELDS + self.TOOLTIP_READABLE_FIELDS
|
||||
|
||||
@property
|
||||
def SELF_WRITEABLE_FIELDS(self):
|
||||
return super().SELF_WRITEABLE_FIELDS + self.TOOLTIP_READABLE_FIELDS
|
||||
|
||||
def _compute_tooltip_show_add_helper_allowed(self):
|
||||
for rec in self:
|
||||
|
||||
Reference in New Issue
Block a user