text: Odoo Help
  Odoo is the world's easiest all-in-one management software. It includes hundreds of business apps:
  CRM | e-Commerce | Accounting | Inventory | PoS | Project management | MRP | etc.
  How do I extend a view (specifically the warehouse/picking list) to add a button which launches a method?
  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.
  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.
  Hope this is useful.
  About This Community
  Odoo Training Center
  Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.Test it now