diff options
| author | Victor Feyens <vfe@odoo.com> | 2020-07-14 14:29:10 +0000 |
|---|---|---|
| committer | Victor Feyens <vfe@odoo.com> | 2020-07-23 16:38:17 +0000 |
| commit | 71ab12840bc787ca486202255cd6faa21281b9e1 (patch) | |
| tree | dc8b093e25f9215f2f2c53ff0a084500c88ef560 /addons/hr_holidays/models | |
| parent | c69a092b98ad7a7f8e03024d170efa30038c89a0 (diff) | |
[IMP] *: do not specify unwanted defaults in default_get
When default_get is called, the wanted fields are specified through the
fields_list arg. It is useless to fill the values for unwanted fields.
As default_get is called for nearly all records creation, simplifying
the default_get overrides:
* remove potential wrong side-effects of the values
* remove some useless or wrong defaults computations (searches, refs,
...)
Diffstat (limited to 'addons/hr_holidays/models')
| -rw-r--r-- | addons/hr_holidays/models/hr_leave.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py index 9456c3ac33e..c16206aef79 100644 --- a/addons/hr_holidays/models/hr_leave.py +++ b/addons/hr_holidays/models/hr_leave.py @@ -73,11 +73,15 @@ class HolidaysRequest(models.Model): defaults = super(HolidaysRequest, self).default_get(fields_list) defaults = self._default_get_request_parameters(defaults) - LeaveType = self.env['hr.leave.type'].with_context(employee_id=defaults.get('employee_id'), default_date_from=defaults.get('date_from', fields.Datetime.now())) - lt = LeaveType.search([('valid', '=', True)], limit=1) + if 'holiday_status_id' in fields_list and not defaults.get('holiday_status_id'): + lt = self.env['hr.leave.type'].search([('valid', '=', True)], limit=1) - defaults['holiday_status_id'] = lt.id if lt else defaults.get('holiday_status_id') - defaults['state'] = 'confirm' if lt and lt.leave_validation_type != 'no_validation' else 'draft' + if lt: + defaults['holiday_status_id'] = lt.id + + if 'state' in fields_list and not defaults.get('state'): + lt = self.env['hr.leave.type'].browse(defaults.get('holiday_status_id')) + defaults['state'] = 'confirm' if lt and lt.leave_validation_type != 'no_validation' else 'draft' return defaults def _default_get_request_parameters(self, values): |
