Odoo 10: Использование виджетов для отображения номера опроса - PullRequest
0 голосов
/ 17 октября 2018

Я создал кнопку Survey в представлении формы клиента, которое открывает представление, содержащее все опросы, назначенные этому клиенту.Ниже приведен скриншот:

enter image description here

Теперь я хочу показать количество опросов, назначенных этому клиенту, в этом виде.Также как есть количество встреч, возможностей, продаж, проблем, задач.Я знаю, что они используют виджет, чтобы получить эти цифры как-то.Но я не мог понять, как эти виджеты приводят эти числа в виде формы.Может кто-нибудь подсказать мне?

Ниже приведен код моей кнопки опроса:

<xpath expr='//div[@class="oe_button_box"]//button[@name="toggle_active"]' position='after'>   
    <button type="object" name="callSurvey" string="Survey" icon="survey.png" class="oe_stat_button"/>                   
</xpath>

1 Ответ

0 голосов
/ 17 октября 2018

Достигается путем определения нового поля в модели и вычисления этого поля с помощью функции:

survey_count = fields.Integer(string="Survey", compute='compute_survey_count')

Функция:

@api.multi
def compute_survey_count(self):
    for partner in self:
            partner.survey_count = self.env['survey.user_input'].search_count([('email', '=', partner.email)])

Кнопка в views.xml:

<xpath expr='//div[@class="oe_button_box"]//button[@name="toggle_active"]' position='after'>   
                <button type="object" name="callSurvey" icon="contacts_custom/static/description/survey.png" class="oe_stat_button">
                <field string="Surveys"  name="survey_count" widget="statinfo" modifiers="{'readonly': true}"/>
                </button>                   
            </xpath>
...