This question has been flagged
1 Reply
3092 Views

how to refer to actual user in a transition condition.

For example:

In the flow hr.wkf.holidays we have a transition from the confirm state to the first_validate where the condition is double_validation and the required group is HHRR/Director, which is fine.

But we need to state that the approver should actually be the director of the requesting employee and not a general director.

So we wanted to change the condition this way: double validation and (employee_id.parent_id.user_id == user.id) i.e. that the one who will liberate is the director of the requesting employee, but I got the error that the "user" object is not known.

So the question is how to refer to the actual user in a condition?

Avatar
Discard
Best Answer

Hello,

the only way to do it is to add a function to validate your transition in the workflow.

In your case, the function should be something like :

def is_officer_director(self, cr, uid, ids, *args):
        for leave in self.browse(cr, uid, ids):
            if uid==leave.employee_id.parent_id.user_id.id:
                return True
            else:
                return False

You can find a step-by-step procedure in the question #27239 "Prevent HR Managers from approving their own leave requests".

Marc.

PS: please vote if you find it helpful.

Avatar
Discard