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: [8.0] Impostare un field in readonly in view

[8.0] Impostare un field in readonly in view 3 Anni 10 Mesi fa #20115

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
Error: QWeb2 - template['ListView.rows']: Runtime Error: Error: QWeb2 - template['ListView.row']: Runtime Error: Error: Unknown field task_id in domain [["task_id","=",1]]

il tuo oggetto ha un campo che si chiama task_id? pare si lamenti di questo
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.

[8.0] Impostare un field in readonly in view 3 Anni 10 Mesi fa #20116

  • cmarinozzi
  • Avatar di cmarinozzi
  • Offline
  • Junior Boarder
  • Messaggi: 20
  • Karma: 0
Perdonami, ma non capisco il mio errore. Formalmente come scrivo il domain è corretto. Perchè se banalmente vado a mettere questo domain
<field name="planned_hours" attrs="{'readonly': [('planned_hours','=',1)]}"/>

funziona ed effettivamente è readonly se il valore di planned_hours è 1, altrimenti no.

Il problema in qualche modo subentra perchè:

1) sto testando qualcosa basato su un campo relazionato
2) sembra che le cose possono fuzionare se e solo se il campo utilizzando nel domain è comunque "dichiarato"/"utilizzato" nella form view e appartiene al modello stesso.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8.0] Impostare un field in readonly in view 3 Anni 10 Mesi fa #20117

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
quel "Unknown field task_id" mi fa pensare che stai lavorando sul modello sbagliato, perchè project.task.work ha task_id.
Non è che per sbaglio hai messo il campo su project.task ad esempio?
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.

[8.0] Impostare un field in readonly in view 3 Anni 10 Mesi fa #20118

  • cmarinozzi
  • Avatar di cmarinozzi
  • Offline
  • Junior Boarder
  • Messaggi: 20
  • Karma: 0
Nel primo post del topic puoi vedere come ho esteso project.task.work e come ho ereditato la view pre esistente. Ho rieditato il post per metterlo sotto tag "code" (sto imparando a usare anche il forum :laugh: )

Credo di aver fatto tutto correttament e di fatto se vado a vedere proprio il database posso confermare che il campo planned_hours è stato aggiunto alla tabella project_task_work, la quale nativamente dispone già di un campo task_id, che dovrei usare per andare andare su task e da qui prendere stage_id per andare su project_task_type e verificarne il valore.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8.0] Impostare un field in readonly in view 3 Anni 10 Mesi fa #20119

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
dal tuo codice sembra tutto ok infatti
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.

[8.0] Impostare un field in readonly in view 3 Anni 10 Mesi fa #20127

  • cmarinozzi
  • Avatar di cmarinozzi
  • Offline
  • Junior Boarder
  • Messaggi: 20
  • Karma: 0
Il mio grande workaround per far funzionare il tutto è stato aggiungere al modello già precedentemente esteso di project.task.work il seguente campo calcolato e relativa funzione di calcolo
state = fields.Selection([('draft', 'Draft'),
                              ('quoted', 'Quoted'),
                              ('done', 'Done')],
                             compute="_compute_state", store=True, required=True, copy=False, default="draft")

@api.one
@api.depends('task_id.date_last_stage_update', 'task_id.stage_id')
def _compute_state(self):
    #do my business

E infine nella view form aggiungere in modalità nascosta e di sola lettura il nuovo campo "state" e invece sul campo "planned_hours" settare il test del domain su "state" senza più bisogno di "inseguire relazioni"
<xpath expr=".//field[@name='work_ids']/tree/field[@name='hours']" position="before">
    <field name="state" readonly="1" invisible="1"/>
    <field name="planned_hours" attrs="{'readonly':[('state','!=','draft')]}"/>
</xpath>

Ora che ci penso forse avrei potuto proseguire con la strada di prima dove visualizzavo il campo "task_id", ma avrei poi dovuto ridefinire anche il "tree" con i vari "field" del modello project.task.work affinchè fossero visibili al domain visto che l'errore alla fine è che non li riconosceva in quanto in un certo senso non dichiarati.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.135 secondi

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

Protected by R Antispam