Логическое поле, добавленное в crm, не сохраняется - PullRequest
2 голосов
/ 21 февраля 2020

Я унаследовал модель crm.lead и добавил вычисляемое логическое поле, к сожалению, оно не сохраняется в БД и, следовательно, я не могу работать с представлением. Это поле, если true, добавляет строку к kanban.

    <record id="crm_case_kanban_view_leads_inherit" model="ir.ui.view">
        <field name="name">crm.lead.kanban (in agreements_crm)</field>
        <field name="model">crm.lead</field>
        <field name="inherit_id" ref="crm.crm_case_kanban_view_leads"/>
        <field name="arch" type="xml">
            <field name="activity_ids" position="after">
                <field name="need_agreements"/>
            </field>

            <xpath expr="//div[@class='oe_kanban_content']" position="after">
                <!-- <t t-if="record.need_agreements.value == false">
                    <p>No Needs Agreement Creation</p>
                </t> -->
                <t t-if="record.need_agreements.value">
                    <p>Needs Agreement Creation</p>
                </t>                
            </xpath>
        </field>
    </record>

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

    def _compute_need_agreements(self):
        type_id = ''

        for tag in self.tag_ids:
            if self.env['agreements.type'].search([('agreements_label_ids.name', '=', tag.name)]):
                type_id = self.env['agreements.type'].search([('agreements_label_ids.name', '=', tag.name)])
                break


        if self.stage_id.name == "Won" and type_id and self.agreements_count < 1:
            # for record in self:
                # record.need_agreements = True
            record.write({'need_agreements':True})

        else:
            # for record in self:
            record.write({'need_agreements':False})

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

1 Ответ

0 голосов
/ 24 февраля 2020

Я решил это, изменив свой подход

<p attrs="{'invisible':[('need_agreements', '=', False)]}" style="color:Red;">Needs Agreement Creation</p>

, используя attrs invisible. Мне удалось решить мою проблему, я не понимаю, почему условия Qweb не помогли мне

...