Skip to Content
Menú
This question has been flagged
2 Respostes
1560 Vistes

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
Descartar
Autor Best Answer

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
Descartar

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.

Best Answer

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
Descartar
Related Posts Respostes Vistes Activitat
2
de març 25
5886
0
de jul. 21
2411
2
de febr. 20
3327
2
de gen. 19
3235
1
de nov. 16
5506