Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
2 Besvarelser
1562 Visninger

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
Kassér
Forfatter Bedste svar

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
Kassér

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.

Bedste svar

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
Kassér
Related Posts Besvarelser Visninger Aktivitet
2
mar. 25
5886
0
jul. 21
2411
2
feb. 20
3327
2
jan. 19
3235
1
nov. 16
5507