diff --git a/web_field_tooltip/__manifest__.py b/web_field_tooltip/__manifest__.py
index 737f58080..5e37d5290 100644
--- a/web_field_tooltip/__manifest__.py
+++ b/web_field_tooltip/__manifest__.py
@@ -14,8 +14,8 @@
     "data": [
         "security/res_groups.xml",
         "security/ir_model_access.xml",
-        "security/ir_rule.xml",
         "views/ir_model_fields_tooltip.xml",
+        "views/res_users.xml",
         "views/template.xml",
     ],
 }
diff --git a/web_field_tooltip/i18n/fr.po b/web_field_tooltip/i18n/fr.po
index 69dcf7a8c..4ac5d91b7 100644
--- a/web_field_tooltip/i18n/fr.po
+++ b/web_field_tooltip/i18n/fr.po
@@ -6,11 +6,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Odoo Server 13.0+e\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-07-06 07:59+0000\n"
-"PO-Revision-Date: 2023-07-06 07:42+0000\n"
+"POT-Creation-Date: 2023-08-01 08:24+0000\n"
+"PO-Revision-Date: 2023-08-01 08:24+0000\n"
 "Last-Translator: \n"
 "Language-Team: \n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
@@ -25,7 +24,14 @@ msgstr "Une infobulle existe déjà pour ce champ"
 #. module: web_field_tooltip
 #: model:ir.model.fields,field_description:web_field_tooltip.field_ir_model_fields_tooltip__active
 msgid "Active"
-msgstr "Active"
+msgstr ""
+
+#. module: web_field_tooltip
+#. openerp-web
+#: code:addons/web_field_tooltip/static/src/js/web_field_tooltip.js:0
+#, python-format
+msgid "Add a Tooltip"
+msgstr "Ajouter une infobulle"
 
 #. module: web_field_tooltip
 #: model_terms:ir.ui.view,arch_db:web_field_tooltip.ir_model_fields_tooltip_form_view
@@ -83,10 +89,15 @@ msgstr "Infobulle de Champ"
 msgid "Fields Tooltips"
 msgstr "Infobulles"
 
+#. module: web_field_tooltip
+#: model:ir.model,name:web_field_tooltip.model_ir_http
+msgid "HTTP Routing"
+msgstr "Routage HTTP"
+
 #. module: web_field_tooltip
 #: model:ir.model.fields,field_description:web_field_tooltip.field_ir_model_fields_tooltip__id
 msgid "ID"
-msgstr "ID"
+msgstr ""
 
 #. module: web_field_tooltip
 #: model:ir.model.fields,field_description:web_field_tooltip.field_ir_model_fields_tooltip____last_update
@@ -113,6 +124,7 @@ msgstr "Dernière mise à jour le"
 #. module: web_field_tooltip
 #. openerp-web
 #: code:addons/web_field_tooltip/static/src/js/web_field_tooltip.js:0
+#: code:addons/web_field_tooltip/static/src/js/web_field_tooltip.js:0
 #, python-format
 msgid "Manage Tooltips"
 msgstr "Gérer les Infobulles"
@@ -143,27 +155,32 @@ msgid "Set active to false to hide the Tooltip without removing it."
 msgstr ""
 "Mettre le champ actif à faux pour masquer l'Infobulle sans la supprimer."
 
+#. module: web_field_tooltip
+#: model:ir.model.fields,field_description:web_field_tooltip.field_res_users__tooltip_show_add_helper
+msgid "Show helper to add tooltips on fields"
+msgstr "Afficher l'aide pour l'ajout des infobulles sur les champs"
+
 #. module: web_field_tooltip
 #: model:res.groups,comment:web_field_tooltip.group_tooltip_manager
 msgid "The user will be able to manage all the tooltips."
 msgstr "L'utilisateur pourra gérer toutes les infobulles."
 
-#. module: web_field_tooltip
-#: model:res.groups,comment:web_field_tooltip.group_tooltip_user
-msgid "The user will be able to manage his own tooltips."
-msgstr "L'utilisateur pourra gérer ses infobulles."
-
 #. module: web_field_tooltip
 #: model:res.groups,name:web_field_tooltip.group_tooltip_manager
 msgid "Tooltip Manager"
 msgstr "Gestionnaire des infobulles"
 
+#. module: web_field_tooltip
+#: model:ir.model.fields,field_description:web_field_tooltip.field_res_users__tooltip_show_add_helper_allowed
+msgid "Tooltip Show Add Helper Allowed"
+msgstr ""
+
 #. module: web_field_tooltip
 #: model:ir.model.fields,field_description:web_field_tooltip.field_ir_model_fields_tooltip__tooltip_text
 msgid "Tooltip Text"
 msgstr "Texte de l'Infobulle"
 
 #. module: web_field_tooltip
-#: model:res.groups,name:web_field_tooltip.group_tooltip_user
-msgid "Tooltip User"
-msgstr "Utilisateur des infobulles"
+#: model:ir.model,name:web_field_tooltip.model_res_users
+msgid "Users"
+msgstr "Utilisateurs"
\ No newline at end of file
diff --git a/web_field_tooltip/i18n/web_field_tooltip.pot b/web_field_tooltip/i18n/web_field_tooltip.pot
index 30f83ba14..f48b5e7af 100644
--- a/web_field_tooltip/i18n/web_field_tooltip.pot
+++ b/web_field_tooltip/i18n/web_field_tooltip.pot
@@ -6,8 +6,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Odoo Server 13.0+e\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-07-06 07:59+0000\n"
-"PO-Revision-Date: 2023-07-06 07:59+0000\n"
+"POT-Creation-Date: 2023-08-01 08:32+0000\n"
+"PO-Revision-Date: 2023-08-01 08:32+0000\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
@@ -26,6 +26,13 @@ msgstr ""
 msgid "Active"
 msgstr ""
 
+#. module: web_field_tooltip
+#. openerp-web
+#: code:addons/web_field_tooltip/static/src/js/web_field_tooltip.js:0
+#, python-format
+msgid "Add a Tooltip"
+msgstr ""
+
 #. module: web_field_tooltip
 #: model_terms:ir.ui.view,arch_db:web_field_tooltip.ir_model_fields_tooltip_form_view
 #: model_terms:ir.ui.view,arch_db:web_field_tooltip.ir_model_fields_tooltip_search_view
@@ -82,6 +89,11 @@ msgstr ""
 msgid "Fields Tooltips"
 msgstr ""
 
+#. module: web_field_tooltip
+#: model:ir.model,name:web_field_tooltip.model_ir_http
+msgid "HTTP Routing"
+msgstr ""
+
 #. module: web_field_tooltip
 #: model:ir.model.fields,field_description:web_field_tooltip.field_ir_model_fields_tooltip__id
 msgid "ID"
@@ -143,13 +155,13 @@ msgid "Set active to false to hide the Tooltip without removing it."
 msgstr ""
 
 #. module: web_field_tooltip
-#: model:res.groups,comment:web_field_tooltip.group_tooltip_manager
-msgid "The user will be able to manage all the tooltips."
+#: model:ir.model.fields,field_description:web_field_tooltip.field_res_users__tooltip_show_add_helper
+msgid "Show helper to add tooltips on fields"
 msgstr ""
 
 #. module: web_field_tooltip
-#: model:res.groups,comment:web_field_tooltip.group_tooltip_user
-msgid "The user will be able to manage his own tooltips."
+#: model:res.groups,comment:web_field_tooltip.group_tooltip_manager
+msgid "The user will be able to manage all the tooltips."
 msgstr ""
 
 #. module: web_field_tooltip
@@ -157,12 +169,17 @@ msgstr ""
 msgid "Tooltip Manager"
 msgstr ""
 
+#. module: web_field_tooltip
+#: model:ir.model.fields,field_description:web_field_tooltip.field_res_users__tooltip_show_add_helper_allowed
+msgid "Tooltip Show Add Helper Allowed"
+msgstr ""
+
 #. module: web_field_tooltip
 #: model:ir.model.fields,field_description:web_field_tooltip.field_ir_model_fields_tooltip__tooltip_text
 msgid "Tooltip Text"
 msgstr ""
 
 #. module: web_field_tooltip
-#: model:res.groups,name:web_field_tooltip.group_tooltip_user
-msgid "Tooltip User"
-msgstr ""
+#: model:ir.model,name:web_field_tooltip.model_res_users
+msgid "Users"
+msgstr ""
\ No newline at end of file
diff --git a/web_field_tooltip/models/__init__.py b/web_field_tooltip/models/__init__.py
index 3f770ce85..99736d12e 100644
--- a/web_field_tooltip/models/__init__.py
+++ b/web_field_tooltip/models/__init__.py
@@ -1 +1,3 @@
+from . import ir_http
 from . import ir_model_fields_tooltip
+from . import res_users
diff --git a/web_field_tooltip/models/ir_http.py b/web_field_tooltip/models/ir_http.py
new file mode 100644
index 000000000..b5c8f6d37
--- /dev/null
+++ b/web_field_tooltip/models/ir_http.py
@@ -0,0 +1,19 @@
+# Copyright 2023 ACSONE SA/NV
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import models
+
+
+class Http(models.AbstractModel):
+    _inherit = "ir.http"
+
+    def session_info(self):
+        result = super().session_info()
+        user = self.env.user
+        result.update(
+            {
+                "can_manage_tooltips": user._is_tooltip_manager(),
+                "tooltip_show_add_helper": user.tooltip_show_add_helper,
+            }
+        )
+        return result
diff --git a/web_field_tooltip/models/ir_model_fields_tooltip.py b/web_field_tooltip/models/ir_model_fields_tooltip.py
index fc595ed85..42e1bf8a3 100644
--- a/web_field_tooltip/models/ir_model_fields_tooltip.py
+++ b/web_field_tooltip/models/ir_model_fields_tooltip.py
@@ -31,12 +31,27 @@ class IrModelFieldsTooltip(models.Model):
         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")
+    tooltip_text = fields.Html(string="Tooltip Text", required=True)
+
+    @api.model
+    def default_get(self, fields_list):
+        res = super().default_get(fields_list)
+        context = self.env.context
+        default_model = context.get("default_model")
+        default_field = context.get("default_field_name")
+        if default_model and default_field:
+            field = self.env["ir.model.fields"].search(
+                [("model_id.model", "=", default_model), ("name", "=", default_field)],
+                limit=1,
+            )
+            res.update({"model_id": field.model_id.id, "field_id": field.id})
+        return res
 
     @api.constrains("model_id", "field_id")
     def _check_duplicate_tooltip(self):
+        all_self = self.with_context(active_test=False)
         for rec in self:
-            if self.search(
+            if all_self.search(
                 [
                     ("model_id", "=", rec.model_id.id),
                     ("field_id", "=", rec.field_id.id),
diff --git a/web_field_tooltip/models/res_users.py b/web_field_tooltip/models/res_users.py
new file mode 100644
index 000000000..3b44b9c94
--- /dev/null
+++ b/web_field_tooltip/models/res_users.py
@@ -0,0 +1,31 @@
+# Copyright 2023 ACSONE SA/NV
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import fields, models
+
+TOOLTIP_MANAGER_GROUP = "web_field_tooltip.group_tooltip_manager"
+
+
+class ResUsers(models.Model):
+    _inherit = "res.users"
+
+    tooltip_show_add_helper = fields.Boolean(
+        string="Show helper to add tooltips on fields",
+    )
+    tooltip_show_add_helper_allowed = fields.Boolean(
+        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)
+
+    def _compute_tooltip_show_add_helper_allowed(self):
+        for rec in self:
+            rec.tooltip_show_add_helper_allowed = rec._is_tooltip_manager()
+
+    def _is_tooltip_manager(self):
+        self.ensure_one()
+        return self.has_group(TOOLTIP_MANAGER_GROUP)
diff --git a/web_field_tooltip/security/ir_model_access.xml b/web_field_tooltip/security/ir_model_access.xml
index 0412c0969..df6dfbc0f 100644
--- a/web_field_tooltip/security/ir_model_access.xml
+++ b/web_field_tooltip/security/ir_model_access.xml
@@ -16,7 +16,7 @@
     <record model="ir.model.access" id="ir_model_fields_tooltip_access_user">
         <field name="name">ir.model.fields.tooltip access user</field>
         <field name="model_id" ref="model_ir_model_fields_tooltip" />
-        <field name="group_id" ref="web_field_tooltip.group_tooltip_user" />
+        <field name="group_id" ref="web_field_tooltip.group_tooltip_manager" />
         <field name="perm_read" eval="1" />
         <field name="perm_create" eval="1" />
         <field name="perm_write" eval="1" />
diff --git a/web_field_tooltip/security/ir_rule.xml b/web_field_tooltip/security/ir_rule.xml
deleted file mode 100644
index ea5cdf58a..000000000
--- a/web_field_tooltip/security/ir_rule.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!-- Copyright 2023 ACSONE SA/NV
-     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
-<odoo>
-
-    <record id="tooltip_manage_all" model="ir.rule">
-        <field name="name">All Tooltips</field>
-        <field name="model_id" ref="model_ir_model_fields_tooltip" />
-        <field name="domain_force">[(1, '=', 1)]</field>
-        <field
-            name="groups"
-            eval="[(4, ref('web_field_tooltip.group_tooltip_manager'))]"
-        />
-    </record>
-
-    <record id="tooltip_manage_own" model="ir.rule">
-        <field name="name">Tooltips per user</field>
-        <field name="model_id" ref="model_ir_model_fields_tooltip" />
-        <field name="domain_force">[('create_uid','=', user.id)]</field>
-        <field
-            name="groups"
-            eval="[(4, ref('web_field_tooltip.group_tooltip_user'))]"
-        />
-    </record>
-
-    <record id="tooltip_read_all" model="ir.rule">
-        <field name="name">Tooltips read access is for everyone</field>
-        <field name="model_id" ref="model_ir_model_fields_tooltip" />
-        <field name="domain_force">[(1, '=', 1)]</field>
-        <field name="groups" eval="[(4, ref('base.group_user'))]" />
-        <field name="perm_create" eval="0" />
-        <field name="perm_write" eval="0" />
-        <field name="perm_unlink" eval="0" />
-    </record>
-
-</odoo>
diff --git a/web_field_tooltip/security/res_groups.xml b/web_field_tooltip/security/res_groups.xml
index 009a46cd3..fc9b875be 100644
--- a/web_field_tooltip/security/res_groups.xml
+++ b/web_field_tooltip/security/res_groups.xml
@@ -3,20 +3,9 @@
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
 
-    <record id="group_tooltip_user" model="res.groups">
-        <field name="name">Tooltip User</field>
-        <field name="category_id" ref="base.module_category_hidden" />
-        <field name="implied_ids" eval="[(6, 0, [ref('base.group_user')])]" />
-        <field name="comment">The user will be able to manage his own tooltips.</field>
-    </record>
-
     <record id="group_tooltip_manager" model="res.groups">
         <field name="name">Tooltip Manager</field>
         <field name="category_id" ref="base.module_category_hidden" />
-        <field
-            name="implied_ids"
-            eval="[(6, 0, [ref('web_field_tooltip.group_tooltip_user')])]"
-        />
         <field name="comment">The user will be able to manage all the tooltips.</field>
         <field
             name="users"
diff --git a/web_field_tooltip/static/src/css/web_field_tooltip.css b/web_field_tooltip/static/src/css/web_field_tooltip.css
index 637c2825f..425deeceb 100644
--- a/web_field_tooltip/static/src/css/web_field_tooltip.css
+++ b/web_field_tooltip/static/src/css/web_field_tooltip.css
@@ -1,8 +1,15 @@
+sup.field-tooltip {
+    margin-right: 5px;
+}
+
 .tooltip-icon {
     color: #666666;
-    margin-left: 5px;
     background: none;
     border: none;
+    display: inline-block;
+    width: 0;
+    font-size: 12px;
+    margin-left: -2px;
 }
 
 .popover-footer {
diff --git a/web_field_tooltip/static/src/js/web_field_tooltip.js b/web_field_tooltip/static/src/js/web_field_tooltip.js
index 35adaf0cb..c93c57654 100644
--- a/web_field_tooltip/static/src/js/web_field_tooltip.js
+++ b/web_field_tooltip/static/src/js/web_field_tooltip.js
@@ -5,112 +5,227 @@
 odoo.define("web_field_tooltip.FieldTooltip", function(require) {
     "use strict";
 
-    var core = require("web.core");
-    var FormRenderer = require("web.FormRenderer");
-    var FormController = require("web.FormController");
-    var field_utils = require("web.field_utils");
-    var rpc = require("web.rpc");
-    var _t = core._t;
+    const FormRenderer = require("web.FormRenderer");
+    const ListRenderer = require("web.ListRenderer");
+    const FormController = require("web.FormController");
 
-    FormRenderer.include({
-        /**
-         * @override
-         */
-        _renderTagLabel: function(node) {
-            var self = this;
-            var $result = this._super.apply(this, arguments);
-            var fieldName = node.tag === "label" ? node.attrs.for : node.attrs.name;
+    const core = require("web.core");
+    const field_utils = require("web.field_utils");
+    const rpc = require("web.rpc");
+    const session = require("web.session");
+    const _t = core._t;
+
+    const Tooltip = {
+        add_tooltip: function($result, node) {
+            const self = this;
+            const tooltip_title = $result.text();
+
+            const fieldName = node.tag === "label" ? node.attrs.for : node.attrs.name;
+            if (!fieldName) {
+                return $result;
+            }
 
             // Check if there's any tooltip that must be rendered for the given view
+            if (!self.tooltips) {
+                self.load_tooltips();
+            }
 
-            var tooltips = {};
+            self.$tooltip_promise.then(function() {
+                let $tooltip = null;
+                let allow_add_tooltip_helper =
+                    session.tooltip_show_add_helper && session.can_manage_tooltips;
+                _.each(self.tooltips, function(tooltip) {
+                    if (tooltip.field_name === fieldName) {
+                        $tooltip = self.get_tooltip_elem(
+                            fieldName,
+                            tooltip_title,
+                            tooltip
+                        );
+                        $result.append($tooltip);
+                        allow_add_tooltip_helper = false;
+                    }
+                });
+                if (allow_add_tooltip_helper) {
+                    $result.append(self.get_add_tooltip_elem(fieldName));
+                }
+            });
+        },
 
-            if (self.tooltips) {
-                tooltips = self.tooltips;
-            } else {
-                tooltips = rpc.query({
+        load_tooltips: function() {
+            const self = this;
+            self.$tooltip_promise = rpc
+                .query({
                     model: "ir.model.fields.tooltip",
                     method: "search_read",
                     domain: [["model", "=", self.state.model]],
+                })
+                .then(function(result) {
+                    self.tooltips = result;
                 });
-                self.tooltips = tooltips;
+        },
+
+        get_add_tooltip_elem: function(fieldName) {
+            const self = this;
+            const $after_elem = $("<button>", {
+                class: "fa fa fa-question-circle tooltip-icon text-info",
+                role: "button",
+            });
+
+            $after_elem.on("click", function(e) {
+                e.preventDefault();
+                e.stopPropagation();
+                self.do_action({
+                    type: "ir.actions.act_window",
+                    name: _t("Add a Tooltip"),
+                    res_model: "ir.model.fields.tooltip",
+                    target: "new",
+                    views: [[false, "form"]],
+                    view_mode: "form",
+                    context: {
+                        default_model: self.state.model,
+                        default_field_name: fieldName,
+                    },
+                });
+            });
+            const $sup = $("<sup/>", {
+                class: "field-tooltip",
+            });
+            $sup.append($after_elem);
+            return $sup;
+        },
+
+        get_tooltip_elem: function(fieldName, tooltip_title, tooltip) {
+            const self = this;
+            const $after_elem = $("<button>", {
+                class: "fa fa fa-question-circle tooltip-icon",
+                role: "button",
+            });
+
+            const $popup_div = $("<div/>", {
+                class: "popup-div",
+            });
+
+            const $popup_text = $("<p>", {
+                html: tooltip.tooltip_text,
+            });
+
+            $popup_div.append($popup_text);
+
+            if (session.can_manage_tooltips) {
+                const $popup_last_edit = $("<p>", {
+                    class: "popover-footer",
+                    html:
+                        _t("Last Updated by: ") +
+                        field_utils.format.many2one(tooltip.write_uid),
+                });
+
+                const $edit_button = $("<button>", {
+                    title: _t("Edit the tooltip"),
+                    class: "fa fa-edit tooltip-icon",
+                });
+
+                $edit_button.on("click", function(e) {
+                    e.preventDefault();
+                    e.stopPropagation();
+                    self.do_action({
+                        type: "ir.actions.act_window",
+                        name: _t("Edit a Tooltip"),
+                        res_model: "ir.model.fields.tooltip",
+                        target: "new",
+                        res_id: tooltip.id,
+                        views: [[false, "form"]],
+                        view_mode: "form",
+                    });
+                });
+
+                $popup_last_edit.append($edit_button);
+                $popup_div.append($popup_last_edit);
             }
 
-            tooltips.then(function(data) {
-                if (data) {
-                    _.each(data, function(tooltip) {
-                        if (tooltip.field_name === fieldName) {
-                            var $after_elem = $("<button>", {
-                                class: "fa fa fa-question-circle tooltip-icon",
-                                for: self._getIDForLabel(fieldName),
-                                role: "button",
-                            });
-
-                            var $popup_div = $("<div/>", {
-                                class: "popup-div",
-                            });
-
-                            var $popup_text = $("<p>", {
-                                html: tooltip.tooltip_text
-                                    ? tooltip.tooltip_text
-                                    : $result.text(),
-                            });
-
-                            $popup_div.append($popup_text);
-
-                            var $popup_last_edit = $("<p>", {
-                                class: "popover-footer",
-                                html:
-                                    _t("Last Updated by: ") +
-                                    field_utils.format.many2one(tooltip.write_uid),
-                            });
-
-                            var $edit_button = $("<button>", {
-                                title: _t("Edit the tooltip"),
-                                class: "fa fa-edit tooltip-icon",
-                            });
-
-                            $edit_button.on("click", function(e) {
-                                e.preventDefault();
-                                return self.do_action({
-                                    type: "ir.actions.act_window",
-                                    name: _t("Edit a Tooltip"),
-                                    res_model: "ir.model.fields.tooltip",
-                                    target: "current",
-                                    res_id: tooltip.id,
-                                    views: [[false, "form"]],
-                                    view_mode: "form",
-                                });
-                            });
-
-                            $popup_last_edit.append($edit_button);
-                            $popup_div.append($popup_last_edit);
-
-                            var options = {
-                                content: $popup_div,
-                                html: true,
-                                placement: "top",
-                                title: $result.text(),
-                                trigger: "focus",
-                                delay: {
-                                    show: 0,
-                                    hide: 100,
-                                },
-                            };
-                            $after_elem.popover(options);
-                            $result.append($after_elem);
-                        }
-                    });
-                }
+            const options = {
+                content: $popup_div,
+                html: true,
+                placement: "top",
+                title: tooltip_title,
+                trigger: "focus",
+                delay: {
+                    show: 0,
+                    hide: 0,
+                },
+            };
+            $after_elem.popover(options);
+            $after_elem.on("click", function(e) {
+                e.preventDefault();
+                e.stopPropagation();
+                $after_elem.popover("show");
             });
-            return $result;
+            const $sup = $("<sup/>", {
+                class: "field-tooltip",
+            });
+            $sup.append($after_elem);
+            return $sup;
         },
-    });
+    };
+
+    FormRenderer.include(
+        Object.assign({}, Tooltip, {
+            init: function() {
+                this._super.apply(this, arguments);
+                this.tooltips = undefined;
+            },
+
+            /**
+             * @override
+             */
+            _renderTagLabel: function(node) {
+                const self = this;
+                const $result = this._super.apply(this, arguments);
+                const fieldName =
+                    node.tag === "label" ? node.attrs.for : node.attrs.name;
+                if (!fieldName) {
+                    return $result;
+                }
+                self.add_tooltip($result, node);
+
+                return $result;
+            },
+        })
+    );
+
+    ListRenderer.include(
+        Object.assign({}, Tooltip, {
+            init: function() {
+                this._super.apply(this, arguments);
+                this.tooltips = undefined;
+            },
+
+            /**
+             * @override
+             */
+            _renderHeaderCell: function(node) {
+                const self = this;
+                const $result = this._super.apply(this, arguments);
+                const fieldName =
+                    node.tag === "label" ? node.attrs.for : node.attrs.name;
+                if (!fieldName) {
+                    return $result;
+                }
+                self.add_tooltip($result, node);
+
+                return $result;
+            },
+        })
+    );
 
     FormController.include({
+        init: function() {
+            console.log("FormController");
+            this._super.apply(this, arguments);
+        },
+
         renderSidebar: function($node) {
             this._super($node);
-            if (this.sidebar) {
+            if (this.sidebar && session.can_manage_tooltips) {
                 this.sidebar.items.other.push({
                     label: _t("Manage Tooltips"),
                     callback: this.on_manage_tooltips,
diff --git a/web_field_tooltip/views/ir_model_fields_tooltip.xml b/web_field_tooltip/views/ir_model_fields_tooltip.xml
index baa1a8bbe..925950774 100644
--- a/web_field_tooltip/views/ir_model_fields_tooltip.xml
+++ b/web_field_tooltip/views/ir_model_fields_tooltip.xml
@@ -5,6 +5,7 @@
 
     <record model="ir.ui.view" id="ir_model_fields_tooltip_form_view">
         <field name="model">ir.model.fields.tooltip</field>
+        <field name="inherit_id" eval="0" />
         <field name="arch" type="xml">
             <form duplicate="0">
                 <sheet>
diff --git a/web_field_tooltip/views/res_users.xml b/web_field_tooltip/views/res_users.xml
new file mode 100644
index 000000000..eb001bd29
--- /dev/null
+++ b/web_field_tooltip/views/res_users.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2023 ACSONE SA/NV
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+
+    <record model="ir.ui.view" id="res_users_form_view">
+        <field name="model">res.users</field>
+        <field name="inherit_id" ref="base.view_users_form_simple_modif" />
+        <field name="arch" type="xml">
+            <xpath expr="//field[@name='email']" position="after">
+                <field name="tooltip_show_add_helper_allowed" invisible="1" />
+                <field
+                    name="tooltip_show_add_helper"
+                    widget="boolean_toggle"
+                    readonly="0"
+                    attrs="{'invisible': [('tooltip_show_add_helper_allowed', '=', False)]}"
+                />
+            </xpath>
+        </field>
+    </record>
+
+</odoo>