首页 > 解决方案 > 如何在树视图中隐藏自定义按钮

问题描述

]([![https://imgur.com/a/CzXG7YL

我的列表视图中有一个自定义按钮“查看全部”,我希望它只对具有特定组访问权限的用户可见,我该如何实现?

我尝试向按钮添加组属性,但没有用,

<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>

标签: xmlbuttonodooodoo-10

解决方案


在 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
            }
        });
    },
});

谢谢


推荐阅读