Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
1 Відповісти
2992 Переглядів

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)]}}
Аватар
Відмінити
Найкраща відповідь

Hello,

Try to remove @api.model

Аватар
Відмінити
Автор

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')]"/>

Автор

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 Відповіді Переглядів Дія
0
січ. 20
3197
1
груд. 19
4186
1
трав. 24
3052
3
черв. 23
15995
1
бер. 22
13429