как заменить тег <t>на шаблоне канбан?Odoo 10 предприимчивость - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь использовать xpath для замены тега.Но это не сработало, я не знаю, что не так?Я просто хочу удалить условие t-if = "record.planned_revenue.raw_value".Я пытался с этим постом: https://odedrabhavesh.blogspot.com/2015/01/how-to-replace-kanban-image-in-odoo.htmlenter код здесь и https://www.odoo.com/forum/help-1/question/how-to-inherit-from-a-kanban-view-in-odoo9-102568 Но они не сработали, как я ожидал.

Это оригинальный шаблон:

<record id="crm_case_kanban_view_leads" model="ir.ui.view">
        <field name="name">crm.lead.kanban.lead</field>
        <field name="model">crm.lead</field>
        <field name="arch" type="xml">
            <kanban default_group_by="stage_id" class="o_kanban_small_column o_opportunity_kanban"
                    on_create="crm.create_opportunity_simplified">
                <field name="stage_id"
                       options='{"group_by_tooltip": {"requirements": "Description", "legend_priority": "Use of stars"}}'/>
                <field name="color"/>
                <field name="priority"/>
                <field name="planned_revenue"/>
                <field name="kanban_state"/>
                <field name="date_action"/>
                <field name="user_email"/>
                <field name="user_id"/>
                <field name="partner_address_email"/>
                <field name="message_needaction_counter"/>
                <field name="tag_ids"/>
                <field name="partner_id"/>
                <field name="title_action"/>
                <field name="active"/>
                <field name="company_currency"/>
                <templates>
                    <field name="date_deadline"/>
                    <t t-name="kanban-box">
                        <div t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click">
                            <div class="o_dropdown_kanban dropdown">

                                <a class="dropdown-toggle btn" data-toggle="dropdown" href="#">
                                    <span class="fa fa-bars fa-lg"/>
                                </a>
                                <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
                                    <t t-if="widget.editable">
                                        <li>
                                            <a type="edit">Edit</a>
                                        </li>
                                    </t>
                                    <t t-if="widget.deletable">
                                        <li>
                                            <a type="delete">Delete</a>
                                        </li>
                                    </t>
                                    <li t-if="! record.active.value">
                                        <a name="action_set_active" type="object">Unarchive</a>
                                    </li>
                                    <li t-if="record.active.value">
                                        <a name="action_set_unactive" type="object">Archive</a>
                                    </li>
                                    <li>
                                        <ul class="oe_kanban_colorpicker" data-field="color"/>
                                    </li>
                                </ul>
                            </div>
                            <div class="oe_kanban_content">
                                <div>
                                    <field name="tag_ids"/>
                                </div>
                                <div>
                                    <strong>
                                        <field name="name"/>
                                    </strong>
                                </div>
                                <div class="text-muted">
                                    <t t-if="record.planned_revenue.raw_value">
                                        <field name="planned_revenue" widget="monetary"
                                               options="{'currency_field': 'company_currency'}"/>
                                        <span t-if="record.partner_id.value">,</span>
                                    </t>
                                    <span t-if="record.partner_id.value">
                                        <t t-esc="record.partner_id.value"/>
                                    </span>
                                </div>

                                <div class="o_kanban_footer">
                                    <field name="priority" widget="priority" groups="base.group_user"/>
                                    <t t-if="record.message_needaction_counter.raw_value">
                                        <span class='oe_kanban_mail_new' title='Unread Messages'>
                                            <i class='fa fa-comments'/>
                                            <t t-raw="record.message_needaction_counter.raw_value"/>
                                        </span>
                                    </t>
                                    <div>
                                        <a name="%(crm.crm_activity_log_action)d" type="action"
                                           t-if="record.kanban_state.raw_value!='grey'">
                                            <span
                                                    t-att-title="record.date_action.value + ': '+ record.title_action.value"
                                                    t-attf-class="oe_kanban_status oe_kanban_status_#{record.kanban_state.raw_value}"/>
                                        </a>
                                        <a name="%(crm.crm_activity_schedule_action)d" type="action"
                                           t-if="record.kanban_state.raw_value=='grey'">
                                            <span
                                                    class="oe_kanban_status oe_kanban_status_grey"/>
                                        </a>
                                        <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)"
                                             t-att-title="record.user_id.value" width="24" height="24"
                                             class="oe_kanban_avatar pull-right"/>
                                    </div>
                                </div>
                            </div>
                            <div class="oe_clear"></div>
                        </div>
                    </t>
                </templates>
            </kanban>
        </field>
    </record>

Я хотел бы заменить это:

<t t-if="record.planned_revenue.raw_value">

на:

<t>

И это мой обычай:

<record id="crm_case_kanban_view_leads_custom" model="ir.ui.view">
        <field name="name">crm.lead.kanban.lead.extends</field>
        <field name="model">crm.lead</field>
        <field name="inherit_id" ref="crm.crm_case_kanban_view_leads"/>
        <field name="arch" type="xml">
            <xpath expr='//kanban/templates/t/div/div/div/t[0]' position="replace">
                <t>
                    <field name="planned_revenue" widget="monetary"
                           options="{'currency_field': 'company_currency'}"/>
                    <span t-if="record.partner_id.value">,</span>
                </t>
            </xpath>
        </field>
    </record>

Это не такработа, что не так?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Ваш код не будет работать, поскольку вы в основном заменяете весь контент <t>, а не только атрибут.Если вы не планируете использовать replace с копией исходного содержимого, что является плохой практикой.

Вам нужно выделить только атрибут, который вы хотите изменить:

<t t-if="record.planned_revenue.raw_value" position="attributes">
    <attribute name="t-if">True</attribute>
</t>

Илив классическом xpath синтаксисе:

<xpath expr="//t[@t-if='record.planned_revenue.raw_value']" position="attributes">
    <attribute name="t-if">True</attribute>
</xpath>
0 голосов
/ 23 февраля 2019

Я решил эту проблему с помощью xpath:

<xpath expr="//t/div/div[@class='oe_kanban_content']/div[@class='text-muted']/t" position="replace">
...