Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
2 Antworten
1600 Ansichten

The problem:


In a configuration file there is a connection to Odoo using the OdooRPC library



The credentials used in this connection are administrator credentials, but when making a query like this for a client:


payment_ids = odoo.env['account.payment'].search([('partner_id', 'in', all_company_ids), ('journal_id', '=', bank_journal_id[0]), ('state', '= ', 'posted')])


Searches the database using client permissions instead of administrator permissions.


At the moment it has been solved by giving permissions to the clients (in this case to the account.payment model), but the ideal would be for odoo.env to always be able to search with administrator permissions so as not to have to give permissions to the clients.


Can you give me an idea how to solve this problem?

Avatar
Verwerfen
Autor Beste Antwort

His solution doesnt work for now. I use the  he sudo() method when  execute the search() method but the console show me the following error Odoorpc.error.RPCerror: Tuple index out of range. 

How I can solve this. I am trying with Sudo true now.

Avatar
Verwerfen

Tuple index out of range is not because of using the sudo(), it is from the condition you passed for journal_id. maybe there is no value in bank_journal_id[0]. so try removing that condition and check if it works.

Beste Antwort

Hi,

The sudo() method will execute the search() method with the permissions of the administrator user,

Update your code like this and try,

​ payment_ids = odoo.env['account.payment'].sudo().search([('partner_id', 'in', all_company_ids), ​('journal_id', '=', bank_journal_id[0]), ('state', '= ', 'posted')])  

Thanks

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
2
März 25
5892
0
Juli 21
2427
2
Feb. 20
3327
2
Jan. 19
3251
1
Nov. 16
5532