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

ARGOMENTO: Impostare domain dinamicamente in view

Impostare domain dinamicamente in view 4 Anni 4 Mesi fa #17898

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
forse devi aggiunere anche il test di esistenza di seller_ids che di fatto utilizzi nelle condizioni...
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Impostare domain dinamicamente in view 4 Anni 4 Mesi fa #17904

  • appendif
  • Avatar di appendif
  • Offline
  • Fresh Boarder
  • Messaggi: 19
  • Ringraziamenti ricevuti 3
  • Karma: 0
Ho aggiunto il test su seller_ids in questo modo:
<attribute name="domain">[('sale_ok', '=', True), ('seller_ids', '!=', False), '|', (parent.supplier_id, '=', False), ('seller_ids.name', '=', parent.supplier_id)]</attribute>

Stesso errore causato dalla condizione: (parent.supplier_id, '=', False):
Se supplier_id non è valorizzato: ValueError: Invalid leaf [False, '=', False]
Se supplier_id è valorizzato: ValueError: Invalid leaf [6, '=', False]

Anche senza il test su seller_ids comunque quella parte si comportava bene senza generare errori anche nei casi in cui seller_ids = False.

Ciao.
Fabrizio Appendino
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Impostare domain dinamicamente in view 4 Anni 4 Mesi fa #17905

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
a occhio mi smbra manchi un OR... (invertendo la condizione)

qualcosa del genere:



però... sono le 18.30, mi riservo il diritto di riguardarlo con l'occhio più fresco :)
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Impostare domain dinamicamente in view 4 Anni 4 Mesi fa #17906

  • appendif
  • Avatar di appendif
  • Offline
  • Fresh Boarder
  • Messaggi: 19
  • Ringraziamenti ricevuti 3
  • Karma: 0
La condizione che vorrei scrivere dovrebbe essere l'ecquivalente di questa:

('sale_ok', '=', True) AND ('seller_ids', '!=', False) AND ((parent.supplier_id, '=', False) OR ('seller_ids.name', '=', parent.supplier_id))

Che tradotto diventerebbe:

'&', '&', ('sale_ok', '=', True), ('seller_ids', '!=', False), '|', (parent.supplier_id, '=', False), ('seller_ids.name', '=', parent.supplier_id)

Siccome '&' è l'operatore di default diventa:

('sale_ok', '=', True), ('seller_ids', '!=', False), '|', (parent.supplier_id, '=', False), ('seller_ids.name', '=', parent.supplier_id)

che è come l'ho scritta... ma forse ho scritto una fesseria :unsure:

Secondo me il problema è solo parent.supplier_id a sinistra dell'uguale.

Ciao.
Fabrizio Appendino
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Impostare domain dinamicamente in view 4 Anni 4 Mesi fa #17908

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
... non mi ha copiato il codice... volevo mettere questa condizione:

'&', ('sale_ok', '=', True), '|', ('seller_ids', '=', False), '|', (parent.supplier_id, '=', False), ('seller_ids.name', '=', parent.supplier_id)

cosi diventa tipo:
     &
A         |
        B    |
           C   D

quindi se la condizione B è vera (seller_ids non esiste) non analizza D andando in errore sulla valudazione di seller_ids.name
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: appendif

Impostare domain dinamicamente in view 4 Anni 4 Mesi fa #17909

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
In questo caso l'operatore "&" ci va altrimenti viene valutata in OR la condizione A con la B, di solito si esclude quando sono tutti AND
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.147 secondi

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

Protected by R Antispam