Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
5590 Widoki

I want to create a new method to create a CSV with all picking items within a picking list.

I am specifically looking to understand how to extend a view by adding a button and associating that new method to it.

I am familiar with inheritance and module extension, I just never had to create a new button over an existing view.

Awatar
Odrzuć
Najlepsza odpowiedź

Here is an example:

I had to add a button in the orders view next to Reprint button.


View:

<openerp>
     <data>
         <record model="ir.ui.view" id="tpv_order_mail">
             <field name="name">pos.order.mail</field>
             <field name="model">pos.order</field>
             <field name="inherit_id" ref="point_of_sale.view_pos_pos_form"/>
             <field name="arch" type="xml">
                  <xpath expr="//field[@name='state']" position="before">
                         <button name="send_invoice" string="Send to..." type="object"/>
                  </xpath>

            </field>
        </record>
     </data>
</openerp>


The xpath is to select where the new element will be placed, so we tell the view to place the new button before the field named 'state'.


python:

We used an example to call the function of the new button:
@api.model
def send_invoice(self, context=None):
     return {
         'warning': {
            'title': "Toy op",

            'message': "Sepin el mandarin",
        }
    }


Hope this is useful.

Awatar
Odrzuć
Autor

Thanks this is really useful. However, I am trying to fully understand this part: pos.order.mail pos.order Could you please clarify what is used in each "id=" / name="name" and name="model" respectively? I feel like I do not fully understand what represents each field.

Powiązane posty Odpowiedzi Widoki Czynność
2
gru 23
17571
1
lip 17
3734
1
wrz 16
11495
1
mar 15
7645
3
gru 22
5176