Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
2 Antwoorden
1564 Weergaven

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
Annuleer
Auteur Beste antwoord

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
Annuleer

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 antwoord

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
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
2
mrt. 25
5887
0
jul. 21
2413
2
feb. 20
3327
2
jan. 19
3238
1
nov. 16
5509