Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami
  • Pagina:
  • 1
  • 2

ARGOMENTO: estensione modulo product - openerp 6.1

estensione modulo product - openerp 6.1 6 Anni 6 Mesi fa #7968

  • difra
  • Avatar di difra
  • Offline
  • Expert Boarder
  • Messaggi: 102
  • Ringraziamenti ricevuti 4
  • Karma: 0
Buongiorno a tutti.

Ho un problema!

Sto cercando di estendere il modulo product per nascondere il group "Weights" contenuta nel tab "Information" del modulo stesso (richiesta dell'utente)

per intenderci, questo (estratto dal product/product_view.xml):
<group colspan="2" col="2" groups="base.group_extended">
<separator string="Weights" colspan="2"/>
<field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
<field name="weight" attrs="{'readonly':[('type','=','service')]}"/>
<field name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
</group>

Voi come precedereste?

Lasciando perdere l'opzione di attivare l'interfaccia semplificata perché non percorribile nel mio caso, avrei voluto usare il "replace" sul "group", ma non avendo un "name" non ho idea di come estenderlo nel mio modulo. Forse con l'xpath?

Ho fatto anche il tentativo di ridefinire l'intera <page string="Information"> con un <field eval="10" name="priority"/> appena sopra il livello base, ma ottengo questo errore:
"AttributeError: View definition error for inherited view 'procurement.product_normal_form_view' on model 'product.product': Element '<group name="misc">' not found in parent view '%(parent_xml_id)s'"

questo è la manage_view della product.product (l'ultimo con priority 46 è il mio modulo)
7	 product.normal.form	 Form	 product.product	 product.product_normal_form_view	
7	 product.product.tree	 Tree	 product.product	 product.product_product_tree_view	
16	 product.form.inherit	 Form	 product.product	 purchase_requisition.product_normal_form_view_inherit	 product.normal.form
16	 Product Kanban	 Kanban	 product.product	 product.product_kanban_view	
16	 product.normal.form.inherit	 Form	 product.product	 account.product_normal_form_view	 product.normal.form
16	 product.normal.form.orderpoint.inherit	 Form	 product.product	 procurement.product_normal_form_view	 product.normal.form
16	 product.normal.stock.form.inherit	 Form	 product.product	 stock.view_normal_stock_property_form	 product.normal.form
16	 product.normal.stock.property.form.inherit	 Form	 product.product	 stock.view_normal_property_form	 product.normal.form
16	 product.product.standard.price.form.inherit	 Form	 product.product	 stock.view_product_standard_price_form	 product.normal.form
16	 product.search.form	 Search	 product.product	 product.product_search_form_view	
16	 product.search.stock.form	 Search	 product.product	 stock.product_search_form_view_stock	 product.search.form
16	 product.variant.form	 Form	 product.product	 product.product_variant_form_view	
16	 product.variant.tree	 Tree	 product.product	 product.product_variant_tree_view	
26	 product.normal.stock.acc.property.form.inherit	 Form	 product.product	 stock.view_normal_property_acc_form	 product.normal.form
46	 product.normal.form	 Form	 product.product	 spi.view_product_form_inherit1	 product.normal.form

Spero di essere stato chiaro e vi ringrazio fin d'ora per le vostre risposte.

ciao
marco
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:estensione modulo product - openerp 6.1 6 Anni 6 Mesi fa #7969

  • angedras
  • Avatar di angedras
  • Offline
  • Platinum Boarder
  • Messaggi: 330
  • Ringraziamenti ricevuti 4
  • Karma: 10
Prova a rintracciare il group nella view ereditata con xpath
<xpath expr="/form/notebook/page/group[@name='{nome gruppo}']" position="replace">

c'è un esempio nel modulo stock in product_view.xml

R.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:estensione modulo product - openerp 6.1 6 Anni 6 Mesi fa #7971

  • difra
  • Avatar di difra
  • Offline
  • Expert Boarder
  • Messaggi: 102
  • Ringraziamenti ricevuti 4
  • Karma: 0
angedras,
grazie per il consiglio, ma come dicevo nel post originale nel modulo product/product_view.xml il group che devo nascondere con un replace non ha l'attributo "name" valorizzato.
<group colspan="2" col="2" groups="base.group_extended">
<separator string="Weights" colspan="2"/>
<field digits="(14, 3)" name="volume" attrs="{'readonly':[('type','=','service')]}"/>
<field name="weight" attrs="{'readonly':[('type','=','service')]}"/>
<field name="weight_net" attrs="{'readonly':[('type','=','service')]}"/>
</group>

la domanda quindi è:
come può funzionare questo xpath senza poter referenziare il gruppo tramite il suo "name"?
<xpath expr="/form/notebook/page/group[@name='{nome gruppo}']" position="replace">

mi sto perdendo qualche passaggio? :side:
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:estensione modulo product - openerp 6.1 6 Anni 6 Mesi fa #7972

  • angedras
  • Avatar di angedras
  • Offline
  • Platinum Boarder
  • Messaggi: 330
  • Ringraziamenti ricevuti 4
  • Karma: 10
In effetti la cosa è più complicata ..

prova ad inserire il numero del gruppo partendo dal notebook e dalla pagina
<xpath expr="/form/notebook/page[@string='Information']/group[2]" position="replace">
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:estensione modulo product - openerp 6.1 6 Anni 6 Mesi fa #7978

  • difra
  • Avatar di difra
  • Offline
  • Expert Boarder
  • Messaggi: 102
  • Ringraziamenti ricevuti 4
  • Karma: 0
perfetto, funziona, grazie tante per il celere aiuto!
per nascondere quattro group conseguenti ho dovuto utilizzare questo codice nel mio modulo che estende product.product.
<xpath expr="/form/notebook/page[@string='Information']/group[3]" position="replace"/>
<xpath expr="/form/notebook/page[@string='Information']/group[3]" position="replace"/>
<xpath expr="/form/notebook/page[@string='Information']/group[3]" position="replace"/>
<xpath expr="/form/notebook/page[@string='Information']/group[3]" position="replace"/>
<xpath expr="/form/notebook/page[@string='Information']/group[3]" position="replace"/>

L'indice è rimasto uguale perché a questo punto presumo che ad ogni replace venga in qualche modo ricalcolato il numero dei gruppi visibili con relativo indice.

La cosa che non mi torna è l'approccio... cerco di spiegarmi meglio.
L'inherit dovrebbe servire per lasciare illibati i moduli base/originali di openerp demandando a moduli sviluppati ad-hoc l'estensione/modifica degli stessi.
E fin qui ci siamo.
Ma se dovesse cambiare l'ordine dei gruppi o per una patch dei moduli originali o per un'installazionione di un modulo che ad esempio estende il modulo product, il codice che ho riportato sopra non funzionerebbe più. o sbaglio?

Il dubbio è che il gioco dell'inherit per modifiche che possono essere anche più complesse e che riguardano i moduli originali di openerp non valga la candela e che probabilmente gli interventi al codice sarebbero più veloci e più chiari se effettuati appunto sui moduli originali.

Pro e contro?
Voi come procedete in tal senso? Estendete sempre oppure valutate a seconda dei casi?

grazie ancora
ciao
marco
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:estensione modulo product - openerp 6.1 6 Anni 6 Mesi fa #7987

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
raggiungere il modulo con la posizione come in un array non è infatti il massimo, nel tuo caso potevi fare anche il conto alla rovescia nascondendo: 5, 4, 3, 2, 1 al posto di "sempre il 3"
per buona norma spesso metto una string="nome_gruppo" nei gruppi che potrebbero essere ritoccati con inherit, così puoi utilizzarla per identificarli, ovviamente lavorando su moduli di altri... prendi quello che trovi :)

P.S. se fai l'inherit dal modulo principale c'è il rischio che qualche altra inherit si infili prima del tuo, a volte ho fatto anche l'inherit sul modulo con l'inherit, mai provato con xpath però
Ultima modifica: 6 Anni 6 Mesi fa da NicoTheBrush.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.160 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam