Как скрыть пользовательскую кнопку в виде дерева - PullRequest
0 голосов
/ 23 марта 2020

]([![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>

1 Ответ

1 голос
/ 23 марта 2020

В ListView есть функция render_buttons , которая имеет уровень js. Таким образом, вы можете добавить условие, чтобы проверить, есть ли у пользователя ваша группа или нет, и на основе этого кода отобразить кнопку и скрыть. Вот вам go:

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

Спасибо

...