xml - 如何在树视图中隐藏自定义按钮
问题描述
我的列表视图中有一个自定义按钮“查看全部”,我希望它只对具有特定组访问权限的用户可见,我该如何实现?
我尝试向按钮添加组属性,但没有用,
<template xml:space="preserve">
<t t-extend="ListView.buttons">
<t t-jquery="button.o_list_button_add" t-operation="before">
<button t-if="widget.modelName == 'leave.request.allocation'" type="button" class="btn btn-primary btn-sm oe_filter_button" accesskey="f" groups="hr_holidays.group_hr_holidays_manager">
View All
</button>
</t>
</t>
解决方案
在 ListView 上,它们具有js级别的render_buttons功能。因此,您可以添加条件以检查是否有您的组的用户,并根据该代码显示按钮和隐藏。干得好 :
var ListView = require('web.ListView');
ListView.include({
render_buttons: function($node) {
this._super.apply(this, arguments);
this.session.user_has_group('Your Group').then(function(has_group) {
if (has_group) {
// Do Something
} else {
// Do Something
}
});
},
});
谢谢
推荐阅读
- r - GitHub Copilot 与 vscode 中 R 的扩展之间的冲突
- javascript - 反应公共文件夹图像突然不起作用
- python - Jupyter notebook Docker 镜像在 Docker 中运行,但不在 Kubernetes 中
- javascript - 我无法启动我的本地主机 websocket 服务器
- string - 请帮忙,我不确定这两行代码有什么问题
- javascript - 根据 php 条件禁用 html 链接或按钮的安全方法或最佳实践是什么?
- kubernetes - 当 kubernetes pod 在协调过程中崩溃并且协调失败时,有没有办法让它完成协调?
- javascript - 函数意外更改参数值
- python - 检查列表元素是 < 一个值,做一些事情 - 似乎无法解决
- node.js - 一个名为“-”的节点包被无意中添加到我的 package.json 中?