Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Visto #2965 (comment)
self.company_id
non punta alla company corrente ma a quella usate per creare l'attachment.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si hai ragione, mi son confuso.
L'errore però sussiste perchè (quando multi-company) self.env.company estrae la company impostata di default nel profilo dell'utente ma la stampa deve avvenire con il template relativo all'azienda in uso.
Sbaglio?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quello è
self.env.user.company_id
.self.env.company
è la company correntemente selezionata. In teoria.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inizialmente lo pensavo anche io ma entrando in debug mi porta quella di default, confermato anche cambiando il default e vedendo i risultati diversi
Però non ho trovato documentazione ufficiale a riguardo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I sorgenti sono qui.
https://github.com/odoo/odoo/blob/062fb69f346873fe05ebb5d429ab3535fd1df5cc/odoo/api.py#L537-L565
prende la prima tra le allowed_company_ids
se non ci sono, il default dell'utente.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@michelerusti
Sono d'accordo con questo pensiero, anche perché se l'attachment è stato importato per una company X è giusto avere la preview con lo stile settato nella company X.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@michelerusti
La miglior soluzione è capire perché in quel caso non funziona
self.env.user.company_id
. Nella issue non ci sono istruzioni per riprodurre il problema, anche perché c'è scritto "ogni tanto". Bisogna capire quando succede esattamente, in modo da riuscire a riprodurre il problema, e poi capire perché succede.@TonyMasciI
Questo non è quello segnalato nella issue. Nella issue ho chiesto esplicitamente quale fosse il comportamento desiderato, ci sono due possibilità:
self.env.user.company_id
);self.company_id
).Sono due comportamenti diversi. È stato scelto il primo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@TheMule71
Si, effettivamente c'è stata un po' di confusione durante tutta questa PR e proverò a fare un sunto della situazione e del perchè penso che la proposta sia valida.
L'errore segnalato nella issue deriva proprio dalla confuzione che si crea utilizzando il
self.env.user.company_id
L'utilizzo (non mio) di "ogni tanto" è motivato dal fatto che la gestione attuale del template crea confusione in quanto, come dicevo prima, il template di risposta è sempre quello di default utente. La descrizione di come replicare il problema mi sembra ci sia
Il problema deriva dall'assenza di un self.env.context all'interno del controller segnato nel mio commento sopra
Quindi, a meno che esista un modo che non sono riuscito a trovare di accedere al context con le allowed_company cercare di recuperare quello è sbagliato dal principio.
Quindi, andando avanti in questa PR, alla luce di queste scoperte, propongo di utilizzare
self.company_id
diversamente da come è stato fatto attualmente per effettivamente utilizzare dei valori ai quali possiamio accedere e, come condiviso con @TonyMasciI , migliorare l'esperienza utente in quanto a coerenza d'uso.Potrei ricredermi e cambiare idea se ci fosse un modo di accedere alle
allowed_company_ids
dal controller in questione ma non sono riuscito a trovarlo.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ll modo corretto è tramite
self.env.user.company_id
. Quello accede agliallowed_company_ids
, e fa la cosa giusta.Su carta almeno.
Se in pratica non funziona, bisogna fixare il bug. In sostanza non va cambiato
self.env.user.company_id
, va fatto funzionare.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok, allora eventualmente ci sarà da sistemare quella parte di codice!
Ad ogni modo, anche una volta fixato, mi sento di portare avanti l'idea che sia meglio usare il
self.company_id
invece di quello delle allowed_companies anche per gli altri motivi portati sopra.Pensi sia accettabile?