2017-01-13 4 views
0

Ich versuche, die Funktionen/Schaltflächen von stock.picking Modell in fleet.vehicle.log.services eins zu verwenden.Inherit Button-Funktion von einem Modell in ein anderes - Odoo v9-Community

Bisher auf meiner Ansicht:

 <record model='ir.ui.view' id='fleet_vehicle_log_services_form_inherit_1'> 
     <field name='name'>fleet.vehicle.log.services.form0</field> 
     <field name='model'>fleet.vehicle.log.services</field> 
     <field name='inherit_id' ref='fleet.fleet_vehicle_log_services_form'/> 
     <field name="priority">89</field> 
     <field name='arch' type='xml'> 
      <xpath expr="//form//sheet//group[1]" position="before"> 
      <header> 
       <button name="action_confirm" states="draft" string="Mark as Todo" type="object" class="oe_highlight" groups="base.group_user"/> 
       <button name="action_assign" states="confirmed,waiting" string="Reserve" type="object" class="oe_highlight" groups="base.group_user"/> 
       <button name="force_assign" states="confirmed,waiting,partially_available" string="Force Availability" type="object" groups="base.group_user"/> 
       <button name="do_new_transfer" states="draft,partially_available,assigned" string="Validate" groups="stock.group_stock_user" type="object" class="oe_highlight"/> 
       <button name="do_print_picking" string="Print" groups="stock.group_stock_user" type="object" attrs="{'invisible': [('state', 'not in', ('assigned', 'partially_available'))]}"/> 
       <button name="%(stock.act_stock_return_picking)d" string="Reverse" states="done" type="action" groups="base.group_user"/> 
       <button name="action_cancel" states="assigned,confirmed,partially_available,draft,waiting" string="Cancel" groups="base.group_user" type="object"/> 
       <field name="state" widget="statusbar" statusbar_visible="draft,confirmed,partially_available,assigned,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>     
      </header> 
      </xpath> 
     </field> 
    </record> 

Auf dem Modell:

_inherit = "fleet.vehicle.log.services" 
    stock_picking = fields.Many2one("stock.picking", "Picking") 
    state = fields.Selection(string="Estados", store=True, readonly=True, related="stock_picking.state") 

Bisher state Feld zeigt in Ordnung, kein Problem damit, aber ich kann nicht scheinen zu Knöpfe funktionieren, sie erscheinen einfach nicht in der Ansicht.

Ich glaube, ich diese Funktionen stock_picking beziehen muß, wie ich mit state tat, aber diese Funktionsfelder sind ...

Alle Ideen, wie dies zu erreichen?

Antwort

1

Sie haben es fast geschafft. Das Header-Tag muss ein direktes Kind des Form-Tags sein. Es sollte also helfen, die Zeile <xpath expr="//form//sheet//group[1]" position="before"> zu <xpath expr="//form/sheet" position="before"> zu ändern.

In Bezug auf die Funktionen aufrufen, würde ich versuchen, mit:

from openerp import models, api 

class FleetVehicleLogServices(models.Model): 
    _inherit = "fleet.vehicle.log.services" 

    stock_picking = fields.Many2one("stock.picking", "Picking") 
    state = fields.Selection(string="Estados", store=True, readonly=True, related="stock_picking.state") 

    @api.multi 
    def action_confirm(self): 
     for record in self: 
      record.stock_picking.action_confirm() 
     return True 

Und Sie können auf diese Weise mit den anderen Methoden fortzusetzen.

+0

Hallo, super! Vielen Dank, aber ehre ist etwas komisch, ich meine, jetzt zeigen die Knöpfe, aber wenn ich die Platte speichere, verschwinden sie, und die Zustände zeigen sich nur, aber keine Farbänderung oder so, das löst es teilweise, aber Hast du eine Idee, warum das passiert? – NeoVe

+0

Könnte es eine Erlaubnis sein? – NeoVe

+0

Oder vielleicht liegt es daran, dass ich nicht die anderen Methoden anrufe ... Ich werde versuchen, Sie zu schreiben – NeoVe

Verwandte Themen