Откройте новое окно

1

Я хочу создать кнопку в возможностях CRM в Odoo 11. Я хочу открыть окно со всеми сообщениями этой возможности (Model mail.message)

Я попытался создать свой первый аддон.

Вот моя структура:

  • /Odoo/аддонов/тест
    • __init__.py
    • __manifest__.py
    • модели
      • __init__.py
      • test.py

Вот мой код:

/odoo/addons/test/__manifest__.py

{
'name': 'test',
'version': '2.0',
'category': 'Sales',
'sequence': 5,
'summary': 'test',
'description': "",
'website': 'https://test.net',
'depends': [
    'crm'
],
'data': [
],
'demo': [
],
'css': [],
'installable': True,
'application': True,
'auto_install': False,
}

/odoo/addons/test/__init__.py

from . import models

/odoo/addons/test/models/__init__.py

from . import test

/odoo/addons/test/models/test.py

from odoo import models, fields


class test_test(models.Model):
    _inherit = 'crm.lead'

    @api.multi
    def test_test(self):
        return {
            'name': 'test_test',
            'res_model': 'mail.message',
            'view_type': 'list',
            'view_mode': 'tree,list',
            'type': 'ir.actions.act_window',
            'target': 'inline'
        }

crm.lead.form.opportunity

 <button name='%(test_test)d' string="test" type="action" />

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

Теги:
odoo
odoo-11

1 ответ

2
Лучший ответ

для вызова функции из представления вам нужно определить кнопку типа объекта, как показано ниже.

<button name='test_test' string="test" type="object" />

он вызовет функцию test_test в вашей модели crm.lead (убедитесь, что ваша кнопка находится в crm.lead модели crm.lead.)

и вам нужно изменить свою функцию, как показано ниже.

@api.multi
def test_test(self):
    return {
        'name': 'test_test',
        'res_model': 'mail.message',
        'view_type': 'list',
        'view_mode': 'tree,list',
        'type': 'ir.actions.act_window',
        'target': 'new' # will open a popup with mail.message list
    }

надеюсь это поможет!

  • 0
    Спасибо за ответ. Я пытаюсь сделать это в другой модели, в моем пользовательском модуле. Как я могу это сделать?
  • 0
    Здравствуй. Наконец-то я решил это с моим кодом и вашей кнопкой. У меня были смешанные табуляции и пробелы.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню