Как вызвать функцию onchange в представлении канбан в openerp?

Я хочу вызвать функцию изменения в представлении Канбан. Но я не знаю, как я могу назвать это? Я пробовал много способов, но все равно ошибка. Но выхода нет. И у меня есть еще один вопрос в представлении Канбан: когда я перетаскиваю от одного к другому, некоторые значения будут меняться. Как я могу реализовать это?

<record model="ir.ui.view" id="hr_kanban_view_transfer">
    <field name="name">Employee Transfer Kanban</field>
    <field name="model">employee.transfer</field>
    <field name="arch" type="xml">
        <kanban default_group_by="site1">
            <field name="site1"/>
            <field name="color"/>
            <field name="location1"/>
            <field name="location2" /> 
            <field name="site2"/>

            <templates>
                <t t-name="kanban-tooltip">
                    <ul class="oe_kanban_tooltip">
                        <li t-if="record.employee_id.raw_value"><b>Employee:</b> <field name="employee_id"/></li>
                        <li t-if="record.site1.raw_value"><b>Current Project:</b> <field name="site1"/></li>
                        <li t-if="record.location1.raw_value"><b>Source Location:</b> <field name="location1"/></li>
                        <li t-if="record.date.raw_value"><b>Date:</b> <field name="date"/></li>
                    </ul>
                </t>

                <t t-name="kanban-box">
                    <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click oe_semantic_html_override">
                        <div class="oe_dropdown_toggle oe_dropdown_kanban">
                            <span class="oe_e">i</span>
                            <ul class="oe_dropdown_menu">
                                <t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
                                <!--  <li><a name="action_makeMeeting" type="object">Schedule Interview</a></li> -->
                                <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
                            </ul>
                        </div>
                        <div class="oe_kanban_content" tooltip="kanban-tooltip">
                            <div>
                                <t t-if="record.employee_id.raw_value"><b><field name="employee_id"/></b><br/></t>
                                <i><field name="employee_id"/></i><br/>
                                <field name="site1"/><br/>
                                <field name="site2"/><br/>
                                <t t-if="record.source_location.raw_value">Source Location: <field name="location1"/><br/></t>
                               <!-- <t t-if="record.title_action.raw_value"><field name="title_action"/><br/></t> -->
                                <field name="date"/>
                            </div>
                            <div class="oe_kanban_right">

                                <img t-att-src="kanban_image('hr.employee', 'image_small', record.employee_id.raw_value)" t-att-title="record.employee_id.value" width="24" height="24" class="oe_kanban_avatar"/>

                            </div> 
                        <!--    <div class="oe_kanban_footer_left" style="margin-top:5px;">
                                <t t-raw="record.message_summary.raw_value"/>
                                <field name="categ_ids"/>
                            </div>-->
                        </div>
                        <div class="oe_clear"></div>
                    </div>
                </t>
            </templates>
        </kanban>
    </field>
</record>

Когда я перевожу сотрудника с одного сайта на другой, т. е. с сайта 1 на сайт 2, как я могу изменить свой код? Возможно ли это в представлении Канбан?


person Remya    schedule 10.10.2014    source источник


Ответы (1)


Вы можете переопределить метод записи в своей модели. и проверьте поле site1 в значениях. Если он существовал и изменился, делайте все, что хотите.

def write(self, cr, user, ids, vals, context=None):
    if 'site1' in vals:
        # your code
    return super(your_model, self).write(cr, user, ids, vals, context)
person NrNazifi    schedule 11.11.2014