Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
1 Vastaa
3762 Näkymät

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
Hylkää
Paras vastaus

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
Hylkää
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
2
syysk. 25
594
1
syysk. 25
801
1
elok. 25
888
2
heinäk. 25
1032
1
heinäk. 25
925