Блог

Как создать представление активности в Odoo 19

post-title

Odoo 19 предлагает различные типы представлений для улучшения пользовательского опыта. Эти представления определяют, как отображаются и организуются записи данных, позволяя пользователям эффективно фильтровать и упорядочивать информацию. Среди них представление «Активность» служит мощным инструментом для контроля всех бизнес-процессов.

В этой статье рассматриваются представления действий в Odoo 19 и приводится пошаговое руководство по созданию пользовательского представления действий.

В представлении «Действия» в Odoo отображаются все задачи и действия, связанные с вашими записями, в виде сетки. Записи отображаются в виде горизонтальных строк, а типы действий располагаются в вертикальных столбцах, создавая удобную для чтения матричную структуру. Чтобы создать пользовательское представление «Действия», выполните следующие шаги:

Структура модуля

activity_test/
+-- __init__.py
+-- __manifest__.py
+-- models/
¦   +-- __init__.py
¦   +-- activity_test.py
+-- views/
¦   +-- activity_test_views.xml
+-- security/
    +-- ir.model.access.csv

Шаг 1: Настройка зависимостей модуля

Для начала создайте новый модуль и настройте его файл манифеста. Добавьте модуль « mail » в качестве зависимости, поскольку он содержит необходимые компоненты для работы функций активности.

'depends': ['base', 'mail']

Шаг 2: Определение модели

Создайте новую модель с именем activity.test, унаследовав её от mail.thread и mail.activity.mixin . Поскольку эти примеси являются частью модуля mail , мы включили их в наши зависимости, как показано выше:

class ActivityTest(models.Model):
    _name = 'activity.test'
    _inherit = ['mail.thread', 'mail.activity.mixin']
    _description = 'Activity Test Model'
    
    name = fields.Char(string='Title', required=True, tracking=True)
    description = fields.Text(string='Description', tracking=True)
    priority = fields.Selection([
        ('0', 'Low'),
        ('1', 'Normal'),
        ('2', 'High'),
        ('3', 'Very High')
    ], string='Priority', default='1', tracking=True)
    state = fields.Selection([
        ('draft', 'Draft'),
        ('in_progress', 'In Progress'),
        ('done', 'Done'),
        ('cancelled', 'Cancelled')
    ], string='Status', default='draft', required=True, tracking=True)

Шаг 3: Создайте представление действий.

Теперь давайте настроим представление активности для модели activity.test . Тег  служит корневым элементом, а в разделе шаблонов вы можете указать, какие поля должны отображаться:


    activity.test.activity
    activity.test
 

            
        
    

Шаг 4: Определение представлений списка и формы.

Давайте создадим списки и формы, которые позволят создавать и изменять записи.

Для начала, вот как структурировать список:


    activity.test.list
    activity.test
    
        
            
            
            
            
        
    

Далее настроим отображение формы:


    activity.test.form
    activity.test

    

Шаг 5: Настройка действий окна

Для активации элементов меню при его доступе необходимо выполнить определённое действие. Вот как это настроить:


    Activity Tests
    ir.actions.act_window
    activity.test
    list,form,activity

Шаг 6: Добавление пунктов меню

Создайте пункты меню , которые будут отображаться в главном меню навигации. Используйте следующую структуру:


Шаг 7: Настройка прав доступа

Наконец, настройте правила доступа в CSV-файле , чтобы контролировать права пользователей на чтение, запись, создание и удаление записей:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_activity_test_user,activity.test.user,model_activity_test,base.group_user,1,1,1,1

Использование

После установки модуля представление активности станет доступно в вашем экземпляре Odoo 19.

Заключение

 

В Odoo 19 представление «Действия» предоставляет эффективный способ управления бизнес-процессами, организуя данные в структурированном табличном формате, что упрощает пользователям отслеживание и управление действиями, связанными с их записями.