如何在 odoo 版本 16 中隐藏、取消存档和导出 crm_lead 的操作存档

问题描述 投票:0回答:3

 I tried many ways like customize js file, ... But it's failse

如何在odoo版本16中隐藏crm_lead的动作存档、取消存档和导出。我尝试了很多方法但都失败了。请帮助我解决问题,非常感谢!

javascript python css xml odoo
3个回答
0
投票

您可以创建自定义模块并在内部创建继承视图

<odoo>
    <data>
        <!-- Inherit the original view of crm.lead -->
        <record id="view_crm_lead_custom" model="ir.ui.view">
            <field name="name">crm.lead.custom</field>
            <field name="model">crm.lead</field>
            <field name="inherit_id" ref="crm.crm_lead_view_form"/>
            <field name="arch" type="xml">
               <xpath expr="//header/button[@name='archive']" position="attributes">
                        <attribute name="invisible">1</attribute>
                    </xpath>
                    <xpath expr="//header/button[@name='unarchive']" position="attributes">
                        <attribute name="invisible">1</attribute>
                    </xpath>
                    <xpath expr="//header/button[@name='export']" position="attributes">
                        <attribute name="invisible">1</attribute>
                    </xpath>
            </field>
        </record>
    </data>
</odoo>

或者:在 Odoo > 设置 > 技术 > 视图中,您可以搜索要修改的视图,它应该类似于:“crm_lead_view_form”,打开它,单击编辑按钮并创建继承视图以删除不需要的上下文操作(存档、取消存档、导出):

<xpath expr="//header" position="inside">
    <button name="archive" position="replace"></button>
    <button name="unarchive" position="replace"></button>
    <button name="export" position="replace"></button>
</xpath>


0
投票

可以通过从视图中删除

active
字段来删除“存档”操作。将其设置为不可见是不够的。

对于“导出”操作看起来要困难得多。在 Odoo Vanilla(无需自定义)中,您可以删除用户的导出访问权限。但这将导致任何地方都无法出口。 如果您想要更精确地配置导出访问权限,您必须找到一个现成的模块或必须自己制作一个。

我看到两种可能的方法,但还有更多:

  1. 扩展/更改 Odoo 添加操作的 JavaScript 部分。提示:在 JS 代码中搜索
    isExportEnable
  2. 覆盖
    export_data()
    上的
    crm.lead
    并在该方法中实现“导出访问逻辑”。该解决方案不是最好的,因为“导出”操作仍然存在,但它将在数据限制方面起作用。

0
投票

继承“活动”字段并添加组并指定您希望哪些组有权访问它。

例如:

from odoo import api, fields, models

class HrAppraisalInherited(models.Model):
   _inherit = "hr.appraisal"

   active = fields.Boolean(groups="hr.group_hr_manager")
© www.soinside.com 2019 - 2024. All rights reserved.