Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

[10] Accesso dopo aggiornamento

Avatar
Alberto Carollo

Buonasera a tutti,

 ho aggiornato il mio odoo10 con la versione di oggi di nighty build. Non ho più accesso al sistema:

QWebException: (u'Sorry, you are not allowed to access this document. Please contact your system administrator if you think this is an error.\n\n(Document model: product.pricelist)', None)
Traceback (most recent call last):
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/addons/base/ir/ir_qweb/qweb.py", line 318, in _compiled_fn
    return compiled(self, append, values, options, log)
  File "<template>", line 1, in template_website_layout_31
  File "<template>", line 3, in body_call_content_30
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/addons/website_sale/models/sale_order.py", line 371, in sale_get_order
    available_pricelists = self.get_pricelist_available()
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/addons/website_sale/models/sale_order.py", line 273, in get_pricelist_available
    website.pricelist_ids,
  File "/opt/odoo/odoo_10n/lib/python2.7/site-packages/odoo/fields.py", line 927, in __get__
    value = record._cache[self]
  File "/opt/odoo/odoo_10n/lib/python2.7/site-packages/odoo/models.py", line 5621, in __getitem__
    return value.get() if isinstance(value, SpecialValue) else value
  File "/opt/odoo/odoo_10n/lib/python2.7/site-packages/odoo/fields.py", line 48, in get
    raise self.exception
AccessError: (u'Sorry, you are not allowed to access this document. Please contact your system administrator if you think this is an error.\n\n(Document model: product.pricelist)', None)

Error to render compiling AST
AccessError: (u'Sorry, you are not allowed to access this document. Please contact your system administrator if you think this is an error.\n\n(Document model: product.pricelist)', None)
Template: website.layout
Path: /templates/t/t/div[1]/header/div/div/div[2]/ul/t[2]
Node: <t t-set="website_sale_order" t-value="website.sale_get_order()"/>

Ho aggiornato tutti moduli del database più volte, ma non ne vuole sapere di andare.

L'unica differenza che ritengo rilevante fra la vecchia versione e l'aggiornamento è questa:


diff -r lib/python2.7/site-packages/odoo/addons/website_sale/models/sale_order.py ../odoo10/lib/python2.7/site-packages/odoo/addons/website_sale/models/sale_order.py
459c459
            elif code is not None and sale_order.pricelist_id.code and code != sale_order.pricelist_id.code:
---

            elif code is not None and sale_order.pricelist_id.code:

Può essere questo il mio problema? Grazie mille per il supporto.

Avatar
Abbandona
5 Risposte
0
Avatar
Alberto Carollo
Migliore risposta

Ho risolto, in due modi diversi. 

Il primo modo è stato utilizzando erppeek per accedere all'istanza:

client = erppeek.Client('http://localhost:10069', db='mydbname', user='admin', password='xxxxxxx')
client.upgrade('base')

stranamente questo modo di fare l'upgrade ha funzionato, mentre da riga di comando non ottenevo risultati

Il secondo modo è stato ricostruire il db dal backup. In questo caso pg_restore mi ha segnalato:

DETAIL:  Key (model)=(product.price_list) is duplicated.

Non ho la più pallida idea di come questo sia potuto avvenire, ma fa niente: sembra risolto.

Avatar
Abbandona
0
Avatar
Alex Comba
Migliore risposta

Buongiorno Alberto,

l'errore che ti viene restituito indica che l'utente con cui stai operando lato webiste (e-commerce) non ha i permessi sufficienti per poter leggere il model 'product.pricelist'. Qual è l'utente che stai utilizzando?

Avatar
Abbandona
0
Avatar
Alberto Carollo
Migliore risposta

Non sono ancora loggato, questo è il problema

Avatar
Abbandona
0
Avatar
Alex Comba
Migliore risposta

Molto strano dal momento che l'ACL per l'utente Public user è:

access_product_pricelist_public,product.pricelist.public,product.model_product_pricelist,,1,0,0,0
Avatar
Abbandona
0
Avatar
Alberto Carollo
Migliore risposta

Ho controllato sul db i permessi su ir_model_access, e confrontati con un db gemello sulla stessa installazione (db che funziona: i permessi sono sostanzialmente identici). Non riesco a capire dove andare a guardare.

ecobeton_uk=# select id, name, model_id, group_id, perm_read from ir_model_access where name like '%pricelist%';
  id                  name                 | model_id | group_id | perm_read 
------+--------------------------------------+----------+----------+-----------
  182 | product.pricelist.item.user          |      156 |        1 | t
  311 | product.pricelist.sale.user          |      155 |       24 | t
  181 | product.pricelist.user               |      155 |        1 | t
  419 | product.pricelist                    |      155 |        9 | t
  433 | product.pricelist.public             |      155 |          | t
  434 | product.pricelist.item.public        |      156 |          | t
  183 | product.pricelist partner manager    |      155 |        8 | t
 1843 | product.pricelist stock_manager      |      155 |      197 | t
  328 | product.pricelist.item salemanager   |      156 |       26 | t
  318 | product.pricelist salemanager        |      155 |       26 | t
 1846 | product.pricelist.item stock_manager |      156 |      197 | t
(11 rows)

Avatar
Abbandona