OI
Odoo ItaliaClaudio Stevanato

Wizard m2m context btn

Ok, in realtà context funziona ma non la prima volta, il wizard non viene ancora creato quando lo chiamo dall'azione (strano) ma viene creato quando premo un altro pulsante nel form
FB
Francesco Ballerini464d ago
Ho aperto un thread (forse 1 pò tardi) non ho molte idee ma ti volevo dire di provare a inserire il context a livello del campo many2many, però se ho capito bene alla fine riesci a farlo funzionare?
CS
Claudio Stevanato464d ago
Ni, il wizard viene creato a db solamente dopo che ho eseguito qualche azione con esso, non quando clicco sulla voce di menù che lo chiama
FB
Francesco Ballerini464d ago
quidni riesci a reperire l'id del wizard solo dopo aver premuto il bottone? Me lo potrei spiegare nel senso che ad es. nei form normali se ci fai caso, quando carichi degli pseudo-records su una tree view puoi fare "abbandona" e scartarli, ma se premi un pulsante è come se premessi "salva". Anzitutto proverei ad accedere all'id del wizard con _origin.id, dovrebbe restituire l'id che verrebbe salvato sul DB , se non funziona come workaround sulla base di ciò che hai detto farei una prova sul fare un bottone invisibile solo per il meccanismo di "save" e lo chiamerei solo x vedere se l'id poi viene salvato, e a quel punto te lo ritrovi... non so se puòl esserti d'aiuto --- nb forse se chiami un write ottieni lo stesso risultato che a simulare la call di un bottone.. non ho mai capito bene come mai, premendo i pulsanti sulla UI si salvano gli pseudo-records, ma forse puoi usarlo a tuo vantaggio in quest ocaso Però proverei con _origin prima, se il wizard è salvato come pseudorecord potresti già riuscire a beccare l'id in questo modo
CS
Claudio Stevanato464d ago
Secondo me ha più senso salvarlo appena viene creato il wizard, forse ha più senso, non so cosa sia questo _origin
FB
Francesco Ballerini464d ago
cerca _origin.id sul codice sorgente, lo usano un botto di volte mi sembra sia riportato anche sulla doc. ufficiale serve per accedere agli id degli pseudorecords
CS
Claudio Stevanato464d ago
Si ma dove dovrei inserirlo? Su python?
FB
Francesco Ballerini464d ago
Premetto che dopo gli ultimi msg in particolare
in realtà context funziona ma non la prima volta, il wizard non viene ancora creato quando lo chiamo dall'azione (strano) ma viene creato quando premo un altro pulsante nel form
Mi sono un pò perso, premi il bottone 'custom_btn()' con context {'test': 123} e poi nel metodo custom_btn fai un print di self.env.context ma vedi la key 'test' con value 123 solo dopo aver fatto qualcosa nel wizard?
CS
Claudio Stevanato464d ago
Esatto, se premo la prima volta il pulsante non vedo la chiave, mentre se prima ne clicco un altro pulsante che va a creare il wizard (visto che il metodo è all'interno del modello del wizard) vedo tutto correttamente
FB
Francesco Ballerini464d ago
in effetti non vedo come puoi sfruttare _origin ma forse come hai detto tu puoi provare a simulare la call ad un bottone sull'apertura del wizard, e quindi a forzare il salvataggio del wizard stesso? Potrebbe funzionare, ma non so dirti come simulare il click su apertura wizard. Forse proverei a chiamare il bottone nel metodo default_get() ma non so se i transient model usano default_get Sempre ammesso che è un workaround e non sono sicuro dell'effettivo funzionamento, ma potrebbe , ammesso che la call da python triggeri lo stesso meccanismo che da UI permette il salvataggio del wizard
CS
Claudio Stevanato464d ago
Non sembra funzionare default_get