- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为门户表单
的菜单。我希望具有门户组的用户可以看到该菜单。
到目前为止,我已经创建了用户并为其分配了门户门户组。我还为门户组添加了我的模型的访问权限。正如上一个问题中所建议的,与我的类似,我已经遵循了所有解决方案。然而,门户用户看不到我的自定义菜单。
谁能告诉我它是如何在 Odoo 11
中实现的?
最佳答案
让我们从头开始创建一个名为 my_module
的玩具模块。
首先,我们需要创建一个模型。文件 addons/my_module/models/models.py
包含:
from odoo import api, fields, models, tools, _
class Books(models.Model):
_name = 'my_module.books'
title = fields.Char(string='Title')
author = fields.Char(string='Author')
现在,我们可以创建菜单、操作和 View 。文件 addons/my_module/views/views.xml
包含:
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Top menu item -->
<menuitem name="My top menu" id="my_module.menu_root"/>
<!-- menu categories -->
<menuitem name="My left-side menu" id="my_module.menu_left" parent="my_module.menu_root"/>
<!-- Model Books: views, actions and menus -->
<!-- explicit tree view definition -->
<record model="ir.ui.view" id="my_module.books_view_tree">
<field name="name">My books - List view</field>
<field name="model">my_module.books</field>
<field name="arch" type="xml">
<tree>
<field name="title"/>
<field name="author"/>
</tree>
</field>
</record>
<!-- explicit form view definition -->
<record model="ir.ui.view" id="my_module.books_view_form">
<field name="name">My books - Form view</field>
<field name="model">my_module.books</field>
<field name="arch" type="xml">
<form string="My books">
<sheet>
<group>
<field name="title"/>
<field name="author"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- action opening views for this model -->
<record model="ir.actions.act_window" id="my_module.books_action_window">
<field name="name">My Books - Window action</field>
<field name="res_model">my_module.books</field>
<field name="view_mode">tree,form</field>
</record>
<!-- menu for the above action -->
<menuitem name="Books" id="my_module.menu_books" parent="my_module.menu_left" action="my_module.books_action_window" sequence="6" />
</data>
</openerp>
然后,我们需要一份声明。文件 addons/my_module/__manifest__.py
包含:
{
'name': "my_module",
'summary': "Answer to Stack Overflow Question 52733625",
'description': "Answer to Stack Overflow Question 52733625",
'author': "Adán Cortés Medina",
'website': "http://www.linkedin.com/in/1acme",
# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/9.0/openerp/addons/base/module/module_data.xml
# for the full list
'category': 'Uncategorized',
'version': '0.1',
# any module necessary for this one to work correctly
'depends': ['website'],
# always loaded
'data': [
'views/views.xml',
#'security/ir.model.access.csv',
],
# only loaded in demonstration mode
'demo': [
#'demo/demo.xml',
],
}
此时,您很可能想要创建一个新数据库并加载模块。顶部会有一个名为我的顶部菜单
的菜单,然后左侧会有一个标签,上面写着我的左侧菜单
,下面会有一个菜单,上面写着Books
,当您单击它时,将显示书籍模型的 ListView 。此外,当您单击创建
按钮时,您将看到该模型的表单 View 。
一旦经过测试,我们就可以添加安全性。首先,转到 __manifest__.py
文件并通过删除前导 #
取消注释 #'security/ir.model.access.csv',
。然后使用以下内容创建 addons/my_module/security/ir.model.access.csv
:
"id","name","model_id/id","group_id/id","perm_read","perm_write","perm_create","perm_unlink"
"access_my_module_books","my_module.books","my_module.model_my_module_books","base.group_portal","True","True","True","True"
为了安全起见,请重新启动 Odoo,然后转到 Apps
菜单并通过先单击其卡然后单击 Upgrade
按钮来重新加载模块.
现在,通过在 #
之前添加 debug
进入 Debug模式(URL 应类似于 http://example.com:8096/web?debug#.. 。)并创建一个用户,同时确保其所属到门户组(必须勾选其他额外权利/门户
)。单击保存
按钮。查找表单顶部的操作
下拉菜单,然后选择更改密码
。输入密码,点击保存
。
然后打开一个新的隐身窗口(以便能够同时打开两个 Odoo 帐户)并使用您刚刚创建的用户登录。图书菜单应该显示在那里。
最后,创建一个不属于 Portal 组的新用户,使用该用户登录并检查“图书”菜单是否不会显示。
您可以从 https://github.com/AdanCortes/stackoverflow/tree/q52733625 下载上述玩具模块
关于python - 如何将我的自定义菜单添加到门户用户菜单列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52733625/
根据此 Microsoft 指南: https://learn.microsoft.com/en-us/azure/app-service/webjobs-create右键单击 Web 作业时,应该会
我正在尝试在新的 Azure 门户中将网站的开发人员组添加到读者角色,并将用户分配到该组。 当我将特定用户添加到网站的读者角色时,用户可以正常看到所有内容,但是当我删除该用户并将其添加到开发人员组时,
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我无法验证 Azure Portal在我的家庭桌面(Windows 10 家庭版)上。它只是挂着以下图标,直到我最终被重定向到 error timeout page . 有趣的是,我仍然可以登录 Of
我知道我的问题并不具体,也没有明确的答案,但我需要帮助来弄清楚从哪里开始寻找。 因此,我们在 Azure 门户上工作,并有一个 Web 作业从队列中获取消息并处理它们;由于一些奇怪的原因,当我使用 S
昨天共享我的 Azure 门户仪表板后,我想我不小心删除了我的默认仪表板,因为它与共享仪表板同名。现在,当我登录门户时,我收到以下消息: Dashboard not found We could no
过去几天我收到一个非常奇怪的错误。当我尝试在 Azure 门户中打开任何 SQL Azure 数据库时,我只是在通知中心收到一条错误消息: Refresh the browser to try aga
我在 BizTalk 方面有相当丰富的经验,但对 ESB 工具包还很陌生。我们实际上并不需要这样的 ESB 解决方案,但我想使用 ESB Portal 来显示错误、修改消息并重新提交。 据我所知,我已
昨天共享我的 Azure 门户仪表板后,我想我不小心删除了我的默认仪表板,因为它与共享仪表板同名。现在,当我登录门户时,我收到以下消息: Dashboard not found We could no
过去几天我收到一个非常奇怪的错误。当我尝试在 Azure 门户中打开任何 SQL Azure 数据库时,我只是在通知中心收到一条错误消息: Refresh the browser to try aga
错误 500:java.util.MissingResourceException:找不到 bundle com.ibm.abc.nl.abcdf、 key en_US 的资源。 我收到此异常。我在
我正在尝试编写一个程序,以编程方式将用户登录到 ArcGIS 门户。 这是我的场景: 用户登录到应用程序 A,用户单击指向 ArcGIS 门户的链接 - 我不希望他们在单击该链接时必须登录门户,因为他
React portals让您将 React 子元素渲染到不同的 DOM 元素中,在页面上完全独立的某个位置。 我想做相反的事情:我想在页面的其他地方渲染一次 DOM 元素,然后根据我的 React
我一直在使用 Azure 搜索通过 Azure 门户远程创建的索引 (Umbraco) 中进行搜索。 今天早上,我收到错误消息,告诉我在索引中允许门户来源。 我不明白为什么我昨天能够搜索,而今天它告诉
我曾使用 Websphere Portal 6.0、6.1 并使用 JSR 168、JSR 286 Portlets 开发了门户应用程序。 现在我正在转移到我将使用 Liferay 门户服务器和 JS
如何使用 portal.properties 配置或覆盖 Liferay 门户属性? 最佳答案 Liferay 属性是一种强大的工具,它允许我们配置 Portal 行为而无需编写 hooks-、ext
我已经安装了 FIM Portal 并且安装成功。但是,我无法在 FI 上查看导航栏和管理控件 最佳答案 在集合 --> 搜索管理员 --> 将您的用户 ID 添加到该集合。 关于sharepoint
我的 Web 应用程序部署在 Azure 门户中。我想从我的解决方案中删除整个 web.config 文件,并想在 Azure 中配置它。是否可以做到这一点,如果可能的话,我需要在哪里提供azure中
我认为这是不可能的,但我想知道是否有任何网址可以将我重定向到标准逻辑应用程序(单租户)中的特定工作流程。 我为什么要问这个问题,因为在消费逻辑应用程序中,如果我向某人提供 URL,他们会直接进入概述页
我是一名优秀的程序员,十分优秀!