diff --git a/addons/hr/models/res_users.py b/addons/hr/models/res_users.py index e966a491894..65561a52480 100644 --- a/addons/hr/models/res_users.py +++ b/addons/hr/models/res_users.py @@ -51,16 +51,12 @@ class User(models.Model): certificate = fields.Selection(related='employee_id.certificate', readonly=False, related_sudo=False) study_field = fields.Char(related='employee_id.study_field', readonly=False, related_sudo=False) study_school = fields.Char(related='employee_id.study_school', readonly=False, related_sudo=False) - employee_warning = fields.Char("Missing employee warning", compute='_compute_employee_warning') + employee_count = fields.Integer(compute='_compute_employee_count') - @api.depends('groups_id', 'employee_ids', 'active') - def _compute_employee_warning(self): - """ Fill warning only for active internal user (employee) not linked to hr.employee """ + @api.depends('employee_ids') + def _compute_employee_count(self): for user in self: - if not user.employee_ids and not user.share and user.active: - user.employee_warning = _("Don't forget to create the linked employee.") - else: - user.employee_warning = False + user.employee_count = len(user.employee_ids) def __init__(self, pool, cr): """ Override of __init__ to add access rights. @@ -183,12 +179,7 @@ class User(models.Model): @api.multi def action_create_employee(self): self.ensure_one() - form_view = self.env.ref('hr.view_employee_form') - return { - 'name': _('Create Employee'), - 'type': 'ir.actions.act_window', - 'res_model': 'hr.employee', - 'views': [(form_view.id, 'form')], - 'target': 'new', - 'context': {'default_user_id': self.id} - } + self.env['hr.employee'].create(dict( + user_id=self.id, + **self.env['hr.employee']._sync_user(self) + )) diff --git a/addons/hr/views/res_users.xml b/addons/hr/views/res_users.xml index 675d495869b..d544fa568d0 100644 --- a/addons/hr/views/res_users.xml +++ b/addons/hr/views/res_users.xml @@ -165,16 +165,36 @@ + + Employees + hr.employee + form + kanban,tree,form + [('user_id', '=', active_id)] + + res.users.form.inherit res.users - - + + + + + diff --git a/addons/hr_contract/models/hr_contract.py b/addons/hr_contract/models/hr_contract.py index 97df03d45a2..366624ab8f4 100644 --- a/addons/hr_contract/models/hr_contract.py +++ b/addons/hr_contract/models/hr_contract.py @@ -45,8 +45,6 @@ class Contract(models.Model): permit_no = fields.Char('Work Permit No', related="employee_id.permit_no", readonly=False) visa_no = fields.Char('Visa No', related="employee_id.visa_no", readonly=False) visa_expire = fields.Date('Visa Expire Date', related="employee_id.visa_expire", readonly=False) - reported_to_secretariat = fields.Boolean('Social Secretariat', - help='Green this button when the contract information has been transfered to the social secretariat.') hr_responsible_id = fields.Many2one('res.users', 'HR Responsible', tracking=True, help='Person responsible for validating the employee\'s contracts.') diff --git a/addons/hr_contract/views/hr_contract_views.xml b/addons/hr_contract/views/hr_contract_views.xml index 2a58aa89861..86f4f2593da 100644 --- a/addons/hr_contract/views/hr_contract_views.xml +++ b/addons/hr_contract/views/hr_contract_views.xml @@ -75,8 +75,6 @@ - - @@ -113,10 +111,9 @@ - - + diff --git a/addons/hr_holidays/models/hr_leave.py b/addons/hr_holidays/models/hr_leave.py index 5789bee8aba..add502f82fb 100644 --- a/addons/hr_holidays/models/hr_leave.py +++ b/addons/hr_holidays/models/hr_leave.py @@ -603,7 +603,7 @@ class HolidaysRequest(models.Model): by creating a calendar event and a resource time off. """ holidays = self.filtered(lambda request: request.holiday_type == 'employee') holidays._create_resource_leave() - for holiday in holidays: + for holiday in holidays.filtered(lambda l: l.holiday_status_id.create_calendar_meeting): meeting_values = holiday._prepare_holidays_meeting_values() meeting = self.env['calendar.event'].with_context(no_mail_to_attendees=True).create(meeting_values) holiday.write({'meeting_id': meeting.id}) @@ -614,8 +614,6 @@ class HolidaysRequest(models.Model): calendar = self.employee_id.resource_calendar_id or self.env.company.resource_calendar_id meeting_values = { 'name': self.display_name, - 'categ_ids': [(6, 0, [ - self.holiday_status_id.categ_id.id])] if self.holiday_status_id.categ_id else [], 'duration': self.number_of_days * (calendar.hours_per_day or HOURS_PER_DAY), 'description': self.notes, 'user_id': self.user_id.id, diff --git a/addons/hr_holidays/models/hr_leave_type.py b/addons/hr_holidays/models/hr_leave_type.py index 1fb529ff390..577c159d671 100644 --- a/addons/hr_holidays/models/hr_leave_type.py +++ b/addons/hr_holidays/models/hr_leave_type.py @@ -26,9 +26,7 @@ class HolidaysType(models.Model): code = fields.Char('Code') sequence = fields.Integer(default=100, help='The type with the smallest sequence is the default value in time off request') - categ_id = fields.Many2one( - 'calendar.event.type', string='Meeting Type', - help='Once a time off is validated, Odoo will create a corresponding meeting of this type in the calendar.') + create_calendar_meeting = fields.Boolean(string="Display Time Off in Calendar", default=True) color_name = fields.Selection([ ('red', 'Red'), ('blue', 'Blue'), diff --git a/addons/hr_holidays/views/hr_leave_type_views.xml b/addons/hr_holidays/views/hr_leave_type_views.xml index 1c0b02abd1b..8406c7561e1 100644 --- a/addons/hr_holidays/views/hr_leave_type_views.xml +++ b/addons/hr_holidays/views/hr_leave_type_views.xml @@ -8,7 +8,7 @@ - + @@ -70,7 +70,7 @@ - + diff --git a/addons/hr_holidays/views/hr_leave_views.xml b/addons/hr_holidays/views/hr_leave_views.xml index 1c083ba8b10..1208b7f4ab6 100644 --- a/addons/hr_holidays/views/hr_leave_views.xml +++ b/addons/hr_holidays/views/hr_leave_views.xml @@ -368,7 +368,7 @@ hr.leave.view.calendar hr.leave - + @@ -440,11 +440,16 @@ All Time Off hr.leave form - calendar - {'search_default_year': 1, 'search_default_group_employee': 1, 'search_default_managed_people': 1, 'search_default_managed_people': 1, 'search_default_my_team_leaves': 1} + calendar,tree + { + 'search_default_year': 1, + 'search_default_group_employee': 1, + 'search_default_managed_people': 1, + 'search_default_my_team_leaves': 1, + 'form_view_ref': 'hr_holidays.hr_leave_view_form_manager', + } [('holiday_type','=','employee'), ('state', '!=', 'refuse')] - hr.leave tree,kanban,form,calendar,activity - {} + {'form_view_ref': 'hr_holidays.hr_leave_view_form_manager'} []

@@ -602,18 +607,6 @@

- - 2 - tree - - - - - 10 - form - - - Department Time Off