2016-01-04 22 views
6

Sto cercando di creare un modulo di ereditarietà semplice in modo da poter aggiungere più campi nel nuovo modulo opportunità ma a odoo non piace il mio codice. Sono abbastanza nuovo nel vudù e Python quindi non prendetevela con me :(Odoo - Errore interno del server sulla disinstallazione del modulo personalizzato

mymodule.py:

from openerp.osv import fields, osv 

class crm_lead_mymodule(osv.osv): 
    _inherit = 'crm.lead' 

    _columns = { 
     'product_type' : fields.selection([('basic', 'Basic'),('pro', 'Pro'),],), 
    } 

mymodule.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<openerp> 
<data> 
    <record id="view_crm_opportunity_mymodule_form" model="ir.ui.view"> 
     <field name="name">crm.lead.mymodule.inherit</field> 
     <field name="model">crm.lead</field> 
     <field name="inherit_id" ref="crm.crm_case_form_view_oppor"/> 
     <field name="arch" type="xml"> 
      <xpath expr="//notebook/page[@name='lead']" position="after"> 
       <page string="Product Information"> 
        <group col="3"> 
          <field name="product_type"/> 
        </group> 
       </page> 
      </xpath> 
     </field> 
    </record> 
</data> 
</openerp> 

Ho provato un sacco di installazioni, dopo cambiamenti nel mio codice finché disinstalla e si è schiantato vudù sto ottenendo "Internal Server error" con il seguente registro:.

Traceback (most recent call last): 
    File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi 
    execute(self.server.app) 
    ... 
    ... 
    ... 
    File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 168, in load 
    model = cls._build_model(self, cr) 
    File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 593, in _build_model 
    original_module = pool[name]._original_module if name in parents else cls._module 
    File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 84, in __getitem__ 
    return self.models[model_name] 
KeyError: 'crm.lead' 
+0

Provare a commentare ' ....' nel modulo di visualizzazione e aggiornamento. –

+0

@DanilaGanchar Come posso aggiornarlo? Non riesco ad accedere :( – Alexandros

+0

Ok. Prova a commentare 'record' in vista e riavvia server. Il server deve vedere che gli errori sono scomparsi –

risposta

5

Firs ciò che ti serve è la sezione depends del tuo openerp .py. Questo deve essere qualcosa del genere: 'depends': ['base', 'crm'],. Dopo questo tentativo, rilascia il db locale e creane uno nuovo dalla GUI.

Chi problema in videochat (pulsante di opportunità in clienti) ... In Vendite -> Clienti opere formano da base di modulo. È possibile utilizzare la modalità sviluppatore per controllare l'opzione. In questo modulo utilizzare l'oggetto res.partner e base.view_partner_form.

Come aggiungere i campi a questo modulo? Basta creare test_view.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<openerp> 
<data> 
    <record id="view_partner_form_mymodule_form" model="ir.ui.view"> 
     <field name="name">res.partner.mymodule.inherit</field> 
     <field name="model">res.partner</field> 
     <field name="inherit_id" ref="base.view_partner_form"/> 
     <field name="arch" type="xml"> 
      <xpath expr="//notebook/page" position="after"> 
       <page string="Product Information"> 
        <!-- your fields here --> 
       </page> 
      </xpath> 
     </field> 
    </record> 
</data> 
</openerp> 

E aggiungere l'immagine per OpenERP .py così:

'data': [ 
    'test_view.xml', 
], 

Fate attenzione! In questa vista utilizzare il modello res.partner, ma non crm.lead. Spero che questo ti aiuti!