This question has been flagged

Hello, I want to make an if that checks if the user has manager or user rights like this:

if order.user_has_groups('purchase.group_purchase_user') and order.amount_total > 5000:
raise UserError(_("You can\'t confirm the purchase order, please contact the current purchase manager."))
return False
if order.user_has_groups('purchase.group_purchase_manager'):

My problem now is that the purchase manager has the user rules too. So It goes everytime to the UserError if. 


How can I fix that, that the user with "purchase: user" rights go to the usererror and the "manager" to the other?


Thank you very much




Avatar
Discard
Best Answer

Hi, Try like this,

Add an extra condition in the if statement,

not order.user_has_group('purchase.group_purchase_manager')

if order.user_has_groups('purchase.group_purchase_user') and not order.user_has_groups('purchase.group_purchase_manager') and order.amount_total > 5000:
raise UserError(_("You can\'t confirm the purchase order, please contact the current purchase manager."))
return False

Avatar
Discard
Author

thank you!