From 06ffde07e288d99b82852bb81575bfb664963959 Mon Sep 17 00:00:00 2001 From: "pawan.sharma" Date: Fri, 9 Jul 2021 15:21:06 +0530 Subject: [PATCH 1/3] make reason field required --- .../models/company_resource_calendar.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/company_public_holidays_kanak/models/company_resource_calendar.py b/company_public_holidays_kanak/models/company_resource_calendar.py index 7c7b483..78c1aed 100644 --- a/company_public_holidays_kanak/models/company_resource_calendar.py +++ b/company_public_holidays_kanak/models/company_resource_calendar.py @@ -113,7 +113,7 @@ class CompanyResourceCalendarLeaves(models.Model): _name = 'company.resource.calendar.leaves' _description = 'Company Resouce Calendar Leaves' - name = fields.Char('Reason') + name = fields.Char('Reason', required=True) company_calendar_id = fields.Many2one('company.resource.calendar', 'Working Hours') date_from = fields.Datetime('Start Date', required=True) date_to = fields.Datetime('End Date', required=True) From 1ba6c451fde9729290f414985fc32738b12fc060 Mon Sep 17 00:00:00 2001 From: "pawan.sharma" Date: Fri, 9 Jul 2021 17:15:38 +0530 Subject: [PATCH 2/3] change record id seq --- cor_custom/views/project_view.xml | 85 +++++++++++++++---------------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/cor_custom/views/project_view.xml b/cor_custom/views/project_view.xml index 64a7b45..e6347e8 100755 --- a/cor_custom/views/project_view.xml +++ b/cor_custom/views/project_view.xml @@ -1,49 +1,6 @@ - - Project Analytic - project.project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project.project.form.inherit project.project @@ -169,6 +126,48 @@ + + Project Analytic + project.project + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + project.project.tree.inherit From c2147b80d1e03fbcd8ee28ceec66333914c83173 Mon Sep 17 00:00:00 2001 From: "pawan.sharma" Date: Fri, 9 Jul 2021 18:09:40 +0530 Subject: [PATCH 3/3] show holiday on employee dashboard --- .../models/company_resource_calendar.py | 63 ++++++++++--------- .../views/company_resource_calendar_view.xml | 4 +- 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/company_public_holidays_kanak/models/company_resource_calendar.py b/company_public_holidays_kanak/models/company_resource_calendar.py index 78c1aed..ad82342 100644 --- a/company_public_holidays_kanak/models/company_resource_calendar.py +++ b/company_public_holidays_kanak/models/company_resource_calendar.py @@ -71,42 +71,42 @@ class CompanyResourceCalendar(models.Model): Calendar = self.env['calendar.event'] for comp_global_leave in self.company_global_leave_ids: public_holiday.append({ - 'name': "Holiday"+"/"+comp_global_leave.name, + 'name': "Holiday" + "/" + comp_global_leave.name, 'start': comp_global_leave.date_from, 'stop': comp_global_leave.date_to, 'categ_ids': [(6, 0, [self.env.ref('company_public_holidays_kanak.categ_meet6').id])] - }) + }) for holiday in public_holiday: existing_calender = Calendar.search([('start', '=', holiday['start'])]) if not existing_calender: Calendar.create(holiday) - # def action_holiday_update_timeoff_calendar(self): - # public_holiday = [] - # holiday_id = self.env['hr.leave.type'].search([], limit=1) - # company = self.env['res.company'].search([], limit=1) - # employee = self.env['hr.employee'].search([('id', '=', 14)], limit=1) - # #leave_calendar = self.env['hr.leave'] - # leave_calendar = self.env['hr.leave'].with_context( - # tracking_disable=True, - # mail_activity_automation_skip=True, - # leave_fast_create=True, - # leave_skip_state_check=True, - # ) - # for comp_global_leave in self.company_global_leave_ids: - # public_holiday.append({ - # 'name': "Holiday"+"/"+comp_global_leave.name, - # 'date_from': comp_global_leave.date_from, - # 'date_to': comp_global_leave.date_to, - # 'holiday_status_id': holiday_id.id, - # 'employee_id': employee.id, - # 'state': 'validate' - # }) - # for holiday in public_holiday: - # existing_calender = leave_calendar.search([('date_from', '=', holiday['date_from'])]) - # if not existing_calender: - # leave_calendar.create(holiday) + def action_holiday_update_timeoff_calendar(self): + public_holiday = [] + holiday_id = self.env['hr.leave.type'].search([], limit=1) + employees = self.env['hr.employee'].search([]) + # leave_calendar = self.env['hr.leave'] + leave_calendar = self.env['hr.leave'] + for comp_global_leave in self.company_global_leave_ids: + for employee in employees: + existing_calender = leave_calendar.search([('date_from', '=', comp_global_leave.date_from),('employee_id', '=', employee.id)]) + if not existing_calender: + leave_calendar.with_context( + tracking_disable=True, + mail_activity_automation_skip=True, + leave_fast_create=True, + leave_skip_state_check=True, + ).create({ + 'name': "Holiday" + "/" + comp_global_leave.name, + 'date_from': comp_global_leave.date_from, + 'date_to': comp_global_leave.date_to, + 'holiday_status_id': holiday_id.id, + 'employee_id': employee.id, + 'state': 'validate' + }) + + self.action_holiday_update_calendar() class CompanyResourceCalendarLeaves(models.Model): @@ -135,13 +135,15 @@ class CompanyResourceCalendarLeaves(models.Model): return res def write(self, values): - resource_calendar = self.env['resource.calendar.leaves'].search([('company_res_calendar_leaves_id', '=', self.id)]) + resource_calendar = self.env['resource.calendar.leaves'].search( + [('company_res_calendar_leaves_id', '=', self.id)]) resource_calendar.write(values) res = super(CompanyResourceCalendarLeaves, self).write(values) return res def unlink(self): - resource_calendar = self.env['resource.calendar.leaves'].search([('company_res_calendar_leaves_id', '=', self.id)]) + resource_calendar = self.env['resource.calendar.leaves'].search( + [('company_res_calendar_leaves_id', '=', self.id)]) resource_calendar.unlink() res = super(CompanyResourceCalendarLeaves, self).unlink() return res @@ -150,7 +152,8 @@ class CompanyResourceCalendarLeaves(models.Model): class ResourceCalendarLeaves(models.Model): _inherit = "resource.calendar.leaves" - company_res_calendar_leaves_id = fields.Many2one('company.resource.calendar.leaves', string='Company Resouce Calendar') + company_res_calendar_leaves_id = fields.Many2one('company.resource.calendar.leaves', + string='Company Resouce Calendar') class MailComposer(models.TransientModel): diff --git a/company_public_holidays_kanak/views/company_resource_calendar_view.xml b/company_public_holidays_kanak/views/company_resource_calendar_view.xml index 925b913..34f8b68 100644 --- a/company_public_holidays_kanak/views/company_resource_calendar_view.xml +++ b/company_public_holidays_kanak/views/company_resource_calendar_view.xml @@ -28,8 +28,8 @@