Поле только для чтения и атрибут групп

Я хочу сделать поле доступным только для чтения в представлениях Openerp 6.1.

Я хочу, чтобы поле было доступно только для чтения для всех групп, но для определенных групп, скажем, менеджер должен иметь возможность редактировать его, а другие должны иметь возможность только просматривать.

Я не понимаю, как это сделать в представлении? Пожалуйста, предложите. Спасибо.


person helloworld    schedule 20.07.2012    source источник


Ответы (3)


вам нужно поделиться дополнительной информацией о модели (модуле) и о каком представлении мы говорим.

Это базовый модуль, тогда единственный способ - наследовать его, а затем вносить изменения.

Вы можете попробовать приведенный ниже короткий путь, но я не уверен, что он сработает для вас.

перейдите в Настройки >> Настройка >> Структура базы данных >> Поля >>

Там найдите поле и модель, которую вы хотите изменить, а затем измените ее в настройках безопасности.

введите здесь описание изображения

person Vishal Khialani    schedule 20.07.2012
comment
Я пробовал это, но получаю сообщение об ошибке. Свойства базовых полей не могут быть изменены таким образом! Пожалуйста, измените их с помощью кода Python, желательно с помощью пользовательского дополнения! . Поле x_mktg_id я добавил, унаследовав модель crm.lead. - person helloworld; 21.07.2012
comment
@helloworld извините, у меня закончились идеи. Вам нужно будет закодировать это. - person Vishal Khialani; 21.07.2012
comment
спасибо, я нашел несколько соответствующих ссылок: на форуме openerp: openerp.com/forum/ и панель запуска answers.launchpad.net/openobject-server/+question/ 178779 - person helloworld; 25.07.2012

Вы просто создаете в своей модели функциональное поле, которое будет быть true, если пользователь принадлежит к группе менеджеров, иначе false, затем добавить attrs для вашего поля, чтобы его можно было редактировать, если пользователь принадлежит к группе менеджеров или только для чтения.

или вы можете попробовать этот метод:

'your_field_name': fields.char(
    'Customer Reference',
    size=64,
    write=['base.group_partner_manager'],
    read=['base.group_user'],
    ),

Вы можете найти это в https://answers.launchpad.net/openobject-server/+question/178779

person OmaL    schedule 20.07.2012

OpenERP предоставляет возможность применить ограничение к определенной группе по праву доступа. давайте возьмем простой пример, если у вас есть два групповых пользователя и менеджера для модели project.project, и вы разрешаете этому пользователю только читать проект, а менеджер может читать, писать, обновлять, удалять проект. создайте двух групповых пользователя и менеджера и дайте права, которые вы хотите давать. теперь примените эту группу к своему полю в xml для eg.groups="project.group_project_user"

person Heroic    schedule 24.10.2012
comment
Он не говорит о целом объекте! само поле может быть ссылкой на объект или просто на некоторые родные поля, такие как «float», «char» и т. д. Я согласен с @vishal. - person vivek; 21.05.2013