From e28c02a469393256e3c1c2ae2bea061339ce45af Mon Sep 17 00:00:00 2001 From: raman Date: Mon, 9 Jun 2025 10:25:18 +0530 Subject: [PATCH 01/50] float to time in dashboard --- .../hr_emp_dashboard/static/src/js/profile_component.js | 4 +++- .../static/src/xml/employee_profile_template.xml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons_extensions/hr_emp_dashboard/static/src/js/profile_component.js b/addons_extensions/hr_emp_dashboard/static/src/js/profile_component.js index afe51967c..112dfe751 100644 --- a/addons_extensions/hr_emp_dashboard/static/src/js/profile_component.js +++ b/addons_extensions/hr_emp_dashboard/static/src/js/profile_component.js @@ -309,7 +309,7 @@ attendanceLines.forEach(line => { const dateStr = createDate.toLocaleDateString('en-IN', { timeZone: 'Asia/Kolkata' }); const workedHours = parseFloat(line.worked_hours); - + const working_hours = '' const checkIn = new Date(line.check_in + 'Z'); const checkOut = new Date(line.check_out + 'Z'); @@ -320,6 +320,7 @@ attendanceLines.forEach(line => { groupedLines[dateStr] = { create_date: dateStr, worked_hours: workedHours, + working_hours: `${Math.floor(workedHours)}h ${Math.round((workedHours - Math.floor(workedHours)) * 60)}m`, check_in: checkInStr, check_out: checkOutStr, earliestCheckIn: checkIn, @@ -346,6 +347,7 @@ attendanceLines.forEach(line => { const groupedAttendance = Object.values(groupedLines).map(line => ({ create_date: line.create_date, worked_hours: line.worked_hours.toFixed(2), + working_hours :line.working_hours, check_in: line.check_in, check_out: line.check_out })); diff --git a/addons_extensions/hr_emp_dashboard/static/src/xml/employee_profile_template.xml b/addons_extensions/hr_emp_dashboard/static/src/xml/employee_profile_template.xml index 3fcad56b0..98823058d 100644 --- a/addons_extensions/hr_emp_dashboard/static/src/xml/employee_profile_template.xml +++ b/addons_extensions/hr_emp_dashboard/static/src/xml/employee_profile_template.xml @@ -219,7 +219,7 @@ - + From c1b7d5f07ff8913e3cfa7d0206d6aa04c8149267 Mon Sep 17 00:00:00 2001 From: raman Date: Tue, 10 Jun 2025 10:27:16 +0530 Subject: [PATCH 02/50] hr payslip days --- .../hr_payroll/models/hr_payslip.py | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/addons_extensions/hr_payroll/models/hr_payslip.py b/addons_extensions/hr_payroll/models/hr_payslip.py index 6c7793846..824a24c4b 100644 --- a/addons_extensions/hr_payroll/models/hr_payslip.py +++ b/addons_extensions/hr_payroll/models/hr_payslip.py @@ -7,9 +7,10 @@ import pytz from collections import defaultdict, Counter from datetime import date, datetime, time +from datetime import timedelta + from dateutil.relativedelta import relativedelta from functools import reduce - from odoo import api, Command, fields, models, _ from odoo.exceptions import UserError, ValidationError from odoo.tools import float_round, date_utils, convert_file, format_amount @@ -1378,6 +1379,29 @@ class HrPayslip(models.Model): for file_to_update in files_to_update: convert_file(self.env, module_name, file_to_update, idref) + + def days_count(self): + joining_date = self.contract_id.date_start + date_from = min(joining_date, self.date_from) + if joining_date > date_from: + + # Define weekend days (Saturday and Sunday) + weekend_days = [5, 6] # 5 = Saturday, 6 = Sunday + + # Count weekends between date_from and date_to + weekend_count = 0 + current_date = date_from + while current_date <= joining_date: + if current_date.weekday() in weekend_days: + weekend_count += 1 + current_date += timedelta(days=1) + + # Output: number of weekly offs since joining + weekend_days_count = weekend_count + else: + weekend_days_count = 0 + return weekend_days_count + def action_edit_payslip_lines(self): self.ensure_one() if not self.env.user.has_group('hr_payroll.group_hr_payroll_manager'): From 2bd85ae939ed235f00a95d96b52fd566127c1fe6 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 03/50] Initial commit From 5eb39bf12b83c476f1a7e4ed91de33c02ae78212 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 04/50] Initial commit From dce09293c577c8f36188163d1293115340160274 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 05/50] Initial commit From d3049e1368d5a21041fed8ebb8875b89b5d03a33 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 06/50] Initial commit From fce43c3721a71efe4d514d30d9615a1fd6a05615 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 07/50] Initial commit From 2600cc713d32257cb68d3c71cf72cc159b04d261 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 08/50] Initial commit From 3a80c6cd8c7b398bea1301d3dc39dee27e51096b Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 09/50] Initial commit From 689d999c37a552361bd5ee00d9c47d8c78e9107b Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 10/50] Initial commit From 5c37d6895e733f275e435ef2f03f12aed7c67d95 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 11/50] Initial commit From bb31c591fb864d5e21c343b6e8eee9b7b5466914 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 12/50] Initial commit From b669ac988b535a0830b3af19d3ec8343cf108171 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 13/50] Initial commit From f98af9f9ee9217db3dd955b274b9f718dfa108d1 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 14/50] Initial commit From 6dd301e3650616d3a9259d3cf833f0dd2ccd8ea2 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 15/50] Initial commit From 88848197ee0014094c3a7beae2397baf4a1d7fc7 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 16/50] Initial commit From aacf24880f6a618ffe270e99a9132d8fde15caea Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 17/50] Initial commit From 4ec6c1a33b050823849dc42b5182d84a2f92ed30 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 18/50] Initial commit From 177f4c4161b5de669913ff8bfaf7f088991668bd Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 19/50] Initial commit From 51f19eea916f0690ed97c2683f6558d48e596c2d Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 20/50] Initial commit From db49307dad646fcc1481c0356063b552c389cd60 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 21/50] Initial commit From 7e5e49af9fe1291d27b3e84af53b5104cf1c9743 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 22/50] Initial commit From 6ac7199b55189f50d9130d78109fe52ce344139b Mon Sep 17 00:00:00 2001 From: Pranay Date: Mon, 24 Mar 2025 11:35:35 +0530 Subject: [PATCH 23/50] update whatsapp code --- addons_extensions/whatsapp/models/discuss_channel.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons_extensions/whatsapp/models/discuss_channel.py b/addons_extensions/whatsapp/models/discuss_channel.py index e2989c112..7fb18c9cf 100644 --- a/addons_extensions/whatsapp/models/discuss_channel.py +++ b/addons_extensions/whatsapp/models/discuss_channel.py @@ -201,8 +201,7 @@ class DiscussChannel(models.Model): subtype_xmlid='mail.mt_note', ) if partners_to_notify == channel.whatsapp_partner_id and wa_account_id.notify_user_ids.partner_id: - partners_to_notify += wa_account_id.notify_user_ids.partner_id - partners_to_notify = self.env['res.partner'].browse(list(set(partners_to_notify.ids))) + partners_to_notify |= wa_account_id.notify_user_ids.partner_id channel.channel_member_ids = [Command.clear()] + [Command.create({'partner_id': partner.id}) for partner in partners_to_notify] channel._broadcast(partners_to_notify.ids) return channel From a8c161d9697b26859dc86483a4f5bffbadc06eaf Mon Sep 17 00:00:00 2001 From: Pranay Date: Mon, 24 Mar 2025 12:54:38 +0530 Subject: [PATCH 24/50] fix whatsapp --- addons_extensions/whatsapp/models/discuss_channel.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons_extensions/whatsapp/models/discuss_channel.py b/addons_extensions/whatsapp/models/discuss_channel.py index 7fb18c9cf..e2989c112 100644 --- a/addons_extensions/whatsapp/models/discuss_channel.py +++ b/addons_extensions/whatsapp/models/discuss_channel.py @@ -201,7 +201,8 @@ class DiscussChannel(models.Model): subtype_xmlid='mail.mt_note', ) if partners_to_notify == channel.whatsapp_partner_id and wa_account_id.notify_user_ids.partner_id: - partners_to_notify |= wa_account_id.notify_user_ids.partner_id + partners_to_notify += wa_account_id.notify_user_ids.partner_id + partners_to_notify = self.env['res.partner'].browse(list(set(partners_to_notify.ids))) channel.channel_member_ids = [Command.clear()] + [Command.create({'partner_id': partner.id}) for partner in partners_to_notify] channel._broadcast(partners_to_notify.ids) return channel From 653af0702d1e5f079d00a99cca425f186262d57b Mon Sep 17 00:00:00 2001 From: Pranay Date: Mon, 24 Mar 2025 13:10:34 +0530 Subject: [PATCH 25/50] Recruitment Changes --- .../hr_recruitment_extended/models/hr_job_recruitment.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons_extensions/hr_recruitment_extended/models/hr_job_recruitment.py b/addons_extensions/hr_recruitment_extended/models/hr_job_recruitment.py index 97b114a76..d546a3cde 100644 --- a/addons_extensions/hr_recruitment_extended/models/hr_job_recruitment.py +++ b/addons_extensions/hr_recruitment_extended/models/hr_job_recruitment.py @@ -256,6 +256,8 @@ class HRJobRecruitment(models.Model): rec.submission_status = 'zero' + experience = fields.Many2one('candidate.experience', string="Experience") + @api.depends('application_ids.submitted_to_client') def _compute_no_of_submissions(self): counts = dict(self.env['hr.applicant']._read_group( From 6cedda73cadb3718500bb8e0c6711e5606e98b83 Mon Sep 17 00:00:00 2001 From: Pranay Date: Mon, 7 Apr 2025 16:08:02 +0530 Subject: [PATCH 26/50] time-off FIX --- addons_extensions/hr_timeoff_extended/models/hr_timeoff.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons_extensions/hr_timeoff_extended/models/hr_timeoff.py b/addons_extensions/hr_timeoff_extended/models/hr_timeoff.py index 593c2a541..fea92e9e5 100644 --- a/addons_extensions/hr_timeoff_extended/models/hr_timeoff.py +++ b/addons_extensions/hr_timeoff_extended/models/hr_timeoff.py @@ -1,3 +1,4 @@ +from asyncore import write from calendar import month from dateutil.utils import today From 1c6cd50ea9af46d5d191841f8ed28aec2dc085e3 Mon Sep 17 00:00:00 2001 From: Pranay Date: Mon, 7 Apr 2025 16:34:42 +0530 Subject: [PATCH 27/50] TimeOff Fix --- addons_extensions/hr_timeoff_extended/models/hr_timeoff.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons_extensions/hr_timeoff_extended/models/hr_timeoff.py b/addons_extensions/hr_timeoff_extended/models/hr_timeoff.py index fea92e9e5..593c2a541 100644 --- a/addons_extensions/hr_timeoff_extended/models/hr_timeoff.py +++ b/addons_extensions/hr_timeoff_extended/models/hr_timeoff.py @@ -1,4 +1,3 @@ -from asyncore import write from calendar import month from dateutil.utils import today From 011d75baf1e88b85a9a71ba85a51b1967f8083a4 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 28/50] Initial commit From 9b565b67463b9bdcc0346bbb7d2fc31c64c1e583 Mon Sep 17 00:00:00 2001 From: administrator Date: Mon, 2 Jun 2025 15:19:52 +0530 Subject: [PATCH 29/50] pull commit --- addons_extensions/hr_employee_extended/__manifest__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons_extensions/hr_employee_extended/__manifest__.py b/addons_extensions/hr_employee_extended/__manifest__.py index ec27233ec..ee072e92c 100644 --- a/addons_extensions/hr_employee_extended/__manifest__.py +++ b/addons_extensions/hr_employee_extended/__manifest__.py @@ -18,8 +18,12 @@ 'version': '0.1', # any module necessary for this one to work correctly + 'depends': ['base','hr','account','mail','hr_skills', 'hr_contract'], + + + # always loaded 'data': [ 'security/security.xml', From 9be417430906476520d4902b6d0ea0d0d149e132 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 30/50] Initial commit From 0ee39438929a9354f6363debf2ff7ae2039b18fe Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 31/50] Initial commit From 627b4fa7997bb7f73b70cfd7abbc54fcec766c04 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 32/50] Initial commit From ce42a4c1e3d070e824bca2857f3cb199c32525e5 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 33/50] Initial commit From 0811863d4177520134bff10f8af15caa140b6dee Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 34/50] Initial commit From 41e1d5c76bf8dcb3c68d983d0d00d8682c042bc6 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 35/50] Initial commit From 42a55eba7d6713f053ee02890bf9fba70220e7a4 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 36/50] Initial commit From 6fb1047ea8a2938aa7f2e62585c86c74cc69e587 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 37/50] Initial commit From bfd79d42b87dbadb2cb8c426c3f211b8cb2f956a Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 38/50] Initial commit From 5c061a1bf1b7644753455aeba3564b8d667cd0cd Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 39/50] Initial commit From 912ffc4afc76dde7e5211e09485b3dc0063cf6ff Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 40/50] Initial commit From fbc29e4ef1439fb405930328b226df9ede544c61 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 41/50] Initial commit From b419913fe1f2540e89575ea570811746dd6edacd Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 42/50] Initial commit From 16fcd6efb17f10f531bc52fee3bf11554619e1cd Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 43/50] Initial commit From 206e9d6c3b657d3944f5ac15c9cd6aa34f438071 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 44/50] Initial commit From c4c921f3a33fa83b3c4cb545009d92fabc82de08 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 45/50] Initial commit From c3bfc9f84d5c84edd8d6acb170568f2b38cc311c Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 46/50] Initial commit From bc3fe02f96a90bb13861d1fc9f54fe1fd5bf4e0d Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 47/50] Initial commit From d2c91f20dd43d4c098d3ce7624e41df36a850886 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 48/50] Initial commit From 6dbb39ae69797cd3b91324038f9fa6e3090f3955 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 49/50] Initial commit From 552518cfe1c95be7c11c3cb9559406932a1654e5 Mon Sep 17 00:00:00 2001 From: administrator Date: Tue, 7 Jan 2025 09:29:28 +0530 Subject: [PATCH 50/50] Initial commit