Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
1 Răspunde
2939 Vizualizări

i have this function to make 'holiday_status_id' field dynamic domain
it works fine but only with CREATE button
how can i make it available all time


@api.model
@api.onchange('employee_id', 'type', 'state','holiday_status_id')
def change_leave_type(self):
for holiday_type in self:
if holiday_type.type == 'add':
if holiday_type.state in ['draft', 'confirm', 'validate', 'validate1']:
if holiday_type.type == 'add' and holiday_type.env.uid == holiday_type.user_id.id and not holiday_type.env.user.has_group(
'hr_holidays.group_hr_holidays_user'):
allocate_type = holiday_type.env['hr.holidays.status'].search(
[('name', '=', 'Compensatory Days')]).id
return {'domain': {'holiday_status_id': [('id', '=', allocate_type)]}}
elif holiday_type.type == 'add' and holiday_type.env.user.has_group(
'hr_holidays.group_hr_holidays_user') and not holiday_type.env.user.has_group(
'hr_holidays.group_hr_holidays_manager'):
ids = []
allocation_types = holiday_type.env['hr.holidays.status'].search([])
for allocate in allocation_types:
if allocate.name != 'Unpaid':
ids.append(allocate.id)
return {'domain': {'holiday_status_id': [('id', '=', ids)]}}
Imagine profil
Abandonează
Cel mai bun răspuns

Hello,

Try to remove @api.model

Imagine profil
Abandonează
Autor

OK Sam ... i removed it ... but still work only with 'CREATE' Button if i click on edit it doesn't work

thanks

Why don't you just add the domain in XML? Something like:

<field holiday_status_id domain="[('name', '!=', 'Unpaid')]"/>

Autor

it doesn't work because it will affect two actions not only one 'open_allocation_holidays' action for 'Allocation' and 'ask_new_holidays action' action for 'Leave Request'

i need to add this function to only allocation action

thanks sam

Related Posts Răspunsuri Vizualizări Activitate
0
ian. 20
3162
1
dec. 19
4154
1
mai 24
3016
3
iun. 23
15914
1
mar. 22
13361