Разрешить удаление разрешения в order_lines в заказе на продажу

Я хочу предоставить группе доступ на удаление в строке заказа, пока они не нажмут Сохранить в заказе на продажу. После того, как они нажмут «Сохранить», они не смогут редактировать этот файл . Я делаю это, потому что иногда, когда пользователь из этой группы работает, если он случайно добавляет записи в order_line. Он должен иметь возможность удалить это, пока не сохранит заказ. Это возможно ?


person Ancient    schedule 01.08.2017    source источник


Ответы (2)


Saving записи означает две вещи:

1) Создание новой записи. Вызывается метод create

2) Обновление уже существующей записи. Вызывается метод write

В обоих случаях вы можете отозвать права, которые вы предоставили определенной группе пользователей, переопределив create или write (или оба), и внутри этого метода вы создадите или измените правило в ir.rule.

Пример: Пользователь с UID = 4 нажал кнопку «Сохранить»:

def write(self, vars):
    # either create a rule
    self.env['ir.rule'].create({//TODO})
    # or modify an already existing one
    self.env['ir.rule'].write({'domain'://TODO})
    return super(self, classname).write(vars)
person George Daramouskas    schedule 02.08.2017

Это не должно быть проблемой. Запись строки заказа фактически не создается в базе данных до тех пор, пока не будет нажата кнопка «Сохранить», поэтому пользователю нужно только создать доступ к sale.order.line.

Пример строк заказа на продажу

person Holden Rehg    schedule 17.08.2017