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: _inherit ... _inherits ... inheritance

_inherit ... _inherits ... inheritance 3 Anni 11 Mesi fa #19629

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
La notte è fatta per dormire ... per ... ma anche per qualche rompicapo :)

Quello di questa notte riguarda l'inheritence in Odoo.

Prima spiego dove voglio andare a parare

Ho creato un modulo (a) che estende altro modulo (s) e fin qui tutto normale.

Ora vorrei creare altro modulo (d) che estenda (a) e qui mi son fermato. Come dovrei estendere (a)?

Con il Decorator non risolvo i problemi mi servirebbe eriditarità diretta di oggetti (s)->(a)->(d), analogamente (a) e (d) come fratelli non risolvono il mio problema.

Qualche idea al riguardo?

Potrei usare il Decorator su (s) e poi nel metodo incrimitato di (s) recuperare (a) ma ho come l'impressione di uso eccessivo di risorse.

Oppure creare il modello (a) separato ed usarlo come proxy ..

O ...
@KTec
www.ktec.it
Ultima modifica: 3 Anni 11 Mesi fa da gigidn.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

_inherit ... _inherits ... inheritance 3 Anni 11 Mesi fa #19630

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
di quale decorator parli?
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

_inherit ... _inherits ... inheritance 3 Anni 11 Mesi fa #19633

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Dell'oggetto che si ottiene specificando _name e _inherits
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

_inherit ... _inherits ... inheritance 3 Anni 11 Mesi fa #19640

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
si ma non ho capito dove metteresti il decoratore e quale decoratore?

@checosa?
class xyz
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

_inherit ... _inherits ... inheritance 3 Anni 11 Mesi fa #19642

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Allora devo far questo:

estendere l'oggetto account.invoice ...

qui il codice

github.com/ktecsrl/ItalyPA/blob/master/l...tturapa/fatturapa.py

come puoi notare alcuni metodi non sono volutamente implementati cosi' come i vari metodi che andranno a gestire il workflow.

Quello che voglio fare e' creare un secondo modulo, che so fatturapa_ddt o lo stesso modulo ddt ad esempio, che estenda il modulo fatturapa e completi per le informazioni in suo possesso le righe legate al DDT in questo caso.

Analogamente per gli ordini etc etc.

Altra cosa creare dei moduli specializzati ... invio_provider_xyz che implementino i metodi del workflow per specializzarli.

In sostanza quello che normalmente si fa con Odoo ma con un secondo livello di astrazione.

Se questo non fosse possibile l'alternativa sarebbe quella di creare un decoratore sul modulo fatturapa o un nuovo modello con la sola logica, in questo caso il modulo sarebbe di primo livello e potrebbe essere esteso da altri moduli ottenendo in un certo qual modo il comportamento che voglio modellare.

Il decoratore mi permetterebbe di lavorare sugli id ed avere accesso all'oggetto invoice direttamente.

il proxy avrebbe solo la logica .... una sorta di libreria ma che utilizza i metodi di ereditarietà e le capacità dell'ORM di Odoo.

Ovvio che trattasi di puro esercizio di stile, il tutto potrebbe essere realizzato in mille altri modi.

EDIT

Noto ora il misunderstanding ... quando parlo di decoratore non mi riferisco ai dicoratori python ma alla capacità di Odoo di "decorare" un oggetto specificando _name ed _inheritS.

Ovvero crea un oggetto che al suo interno contiene l'oggetto che estendi ... decorandolo l'oggetto appunto. il problema è che l'oggetto cosi' decorato non viene visto dalle viste "standard" perchè altro modello.
@KTec
www.ktec.it
Ultima modifica: 3 Anni 11 Mesi fa da gigidn.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

_inherit ... _inherits ... inheritance 3 Anni 11 Mesi fa #19659

  • LeartS
  • Avatar di LeartS
  • Offline
  • Expert Boarder
  • Messaggi: 95
  • Ringraziamenti ricevuti 24
  • Karma: 3
Non ho capito, non puoi semplicemente ereditare account.invoice in un modulo A e poi ereditare sempre account.invoice in un modulo B che specifica A come dipendenza?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.148 secondi

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

Protected by R Antispam