Compare commits

...

109 Commits

Author SHA1 Message Date
administrator ff32c723e6 Merge branch 'develop' 2025-06-02 16:26:55 +05:30
administrator 05d145c5cd pull commit 2025-06-02 16:25:55 +05:30
administrator 9c6feae512 Initial commit 2025-06-02 16:25:55 +05:30
Pranay 71293ad8ef TimeOff Fix 2025-06-02 16:25:55 +05:30
Pranay fc053eca72 time-off FIX 2025-06-02 16:25:55 +05:30
Pranay 40020cf23c Recruitment Changes 2025-06-02 16:25:55 +05:30
Pranay edc151bb1e fix whatsapp 2025-06-02 16:25:55 +05:30
Pranay 2908134931 update whatsapp code 2025-06-02 16:25:55 +05:30
administrator 212900a1d3 Initial commit 2025-06-02 16:25:55 +05:30
administrator bd382f6d20 Initial commit 2025-06-02 16:25:55 +05:30
administrator 5f23d59213 Initial commit 2025-06-02 16:25:55 +05:30
administrator db1906ce4c Initial commit 2025-06-02 16:25:55 +05:30
administrator 1befd50b28 Initial commit 2025-06-02 16:25:55 +05:30
administrator 9c1ebc720c Initial commit 2025-06-02 16:25:55 +05:30
administrator b88c388b75 Initial commit 2025-06-02 16:25:55 +05:30
administrator 52641f4514 Initial commit 2025-06-02 16:25:55 +05:30
administrator 9b751e29d5 Initial commit 2025-06-02 16:25:55 +05:30
administrator a588370258 Initial commit 2025-06-02 16:25:55 +05:30
administrator 2498d1010b Initial commit 2025-06-02 16:25:54 +05:30
administrator ab560ad6d6 Initial commit 2025-06-02 16:25:54 +05:30
administrator daf31782fd Initial commit 2025-06-02 16:25:54 +05:30
administrator f88623168f Initial commit 2025-06-02 16:25:54 +05:30
administrator 0537dc1979 Initial commit 2025-06-02 16:25:54 +05:30
administrator e5972f0f92 Initial commit 2025-06-02 16:25:54 +05:30
administrator 902813c978 Initial commit 2025-06-02 16:25:54 +05:30
administrator eb4ccbfa22 Initial commit 2025-06-02 16:25:54 +05:30
administrator 01f5d4c74e Initial commit 2025-06-02 16:25:54 +05:30
administrator f07ae8eb99 Initial commit 2025-06-02 16:25:54 +05:30
administrator 2fd52bfb86 Merge branch 'feature/odoo18' 2025-06-02 16:24:17 +05:30
raman 19bdf92f67 fix Time zone 2025-06-02 16:13:09 +05:30
administrator 827e8c22a0 Merge pull request 'feature/odoo18' (#2) from feature/odoo18 into develop
Reviewed-on: #2
2025-05-22 16:16:40 +05:30
administrator 27e51a80d2 Initial commit 2025-05-22 16:02:23 +05:30
raman 90f50950fd leave balance in dashboard 2025-05-22 16:02:23 +05:30
Pranay d2f1caf810 Discuss Update 2025-05-22 16:02:23 +05:30
Pranay 995688ad8e Leaves stopped auto allocation Mailing 2025-05-22 16:02:23 +05:30
raman efc7643304 birthday reminder 2025-05-22 16:02:23 +05:30
Pranay 55178e4b15 Discuss Messages 2025-05-22 16:02:23 +05:30
karuna 50daabba44 ATS ATTACHMENTS 2025-05-22 16:02:23 +05:30
Pranay 6cb1d7526e ODOO FLUTTER 2025-05-22 16:02:23 +05:30
Pranay 1424e147e8 CWF TIMESHEET added Month 2025-05-22 16:02:23 +05:30
Pranay 2aabe1e7c6 Recruitment changes 2025-05-22 16:02:23 +05:30
Pranay 426b3d71a4 Time off changes 2025-05-22 16:02:23 +05:30
Pranay 62df996ae4 CWF Timesheet Access rights 2025-05-22 16:02:22 +05:30
Pranay 11066ba9c1 Time off submission issue 2025-05-22 16:02:22 +05:30
praveen 09d68ec225 button fix 2025-05-22 16:02:22 +05:30
praveen a77bb66622 changring buttons 2025-05-22 16:02:22 +05:30
raman b34dcf6d5b FIX BUG 2025-05-22 16:02:22 +05:30
administrator af98a28428 live cap fix 2025-05-22 16:02:22 +05:30
Pranay 7b91e82363 Fix Change Candidate _inverse_partner_email 2025-05-22 16:02:22 +05:30
raman c225eeec5d bug fix 2025-05-22 16:02:22 +05:30
raman be0cbc33bb fix preview 2025-05-22 16:02:22 +05:30
Pranay 2e53ada2f3 ATS Changes added target date 2025-05-22 16:02:22 +05:30
Pranay baa6dec075 ATS CHANGES 2025-05-22 16:02:22 +05:30
Pranay c9555b962e payroll management timeoff 2025-05-22 16:02:21 +05:30
raman 08f388019f New Modules 2025-05-22 16:02:21 +05:30
Pranay 743fb36d90 recruitment changes 2025-05-22 16:02:21 +05:30
raman 3d2c673050 Report FIX 2025-05-22 16:02:21 +05:30
Pranay 7a6352ee21 TimeOff Fix 2025-05-22 16:02:21 +05:30
Pranay 27eed9ee63 time-off FIX 2025-05-22 16:02:21 +05:30
Pranay 909bf116b6 CWF Attendance Fix 2025-05-22 16:02:21 +05:30
Pranay fdc9f88129 Removed Old stage in recruitment and website description Fix 2025-05-22 16:02:20 +05:30
Pranay 448385fd45 Recruitment & Attendance module changes 2025-05-22 16:02:20 +05:30
raman 351180260a dash board fix 2025-05-22 16:02:20 +05:30
Pranay e489072aae recruitment Changes and fixes 2025-05-22 16:02:20 +05:30
raman 4e44c708d9 FIX Dashboard 2025-05-22 16:02:20 +05:30
raman 2188551da3 FIX bug in att 2025-05-22 16:02:20 +05:30
raman 953794adc2 indian payroll 2025-05-22 16:02:20 +05:30
raman adb500009f knowledge module 2025-05-22 16:02:20 +05:30
Pranay eee154da0c New Module Documents and Fix Recruitment 2025-05-22 16:02:19 +05:30
Pranay a072f600e6 RECRUITMENT Changes and Fixes 2025-05-22 16:02:19 +05:30
raman 87028c063a cwf time sheets 2025-05-22 16:02:19 +05:30
Pranay e24e329b27 Recruitment Changes 2025-05-22 16:02:19 +05:30
Pranay c8902cd7f2 fix whatsapp 2025-05-22 16:02:19 +05:30
Pranay 044e01aa23 update whatsapp code 2025-05-22 16:02:19 +05:30
Pranay a42d6449cf FIX; Whatsapp issue 2025-05-22 16:02:19 +05:30
administrator a801a30488 Merge remote-tracking branch 'refs/remotes/origin/develop' into develop 2025-03-21 10:59:36 +05:30
administrator e32ad6cc9b Initial commit 2025-03-21 10:59:32 +05:30
administrator 758c3dc10f Initial commit 2025-03-21 10:59:32 +05:30
raman 2342ded3ff fix issues 2025-03-21 10:59:32 +05:30
Pranay 38080d56c0 Recruitment Changes 2025-03-21 10:59:32 +05:30
shankar 2288404bc2 Target change to Number of Positions 2025-03-21 10:59:32 +05:30
shankar 9f3d07d7be Change to Expeted Skills TO Primary Skills 2025-03-21 10:59:32 +05:30
Pranay a8bc538da4 fix dependencies HR Recruitment extended 2025-03-21 10:59:32 +05:30
Pranay 91b7f05c45 Employees family, education, and other fields added 2025-03-21 10:59:32 +05:30
Pranay b7f5f4ec3e HR RECRUITMENT MODULE(NEW) 2025-03-21 10:59:30 +05:30
administrator a79a1a7b0e Initial commit 2025-03-21 10:59:11 +05:30
administrator 2033d5c227 Initial commit 2025-03-21 10:59:11 +05:30
administrator c5d35be79a Merge branch 'develop' 2025-03-11 14:09:47 +05:30
administrator 8638551d38 Initial commit 2025-03-11 14:02:51 +05:30
administrator 185d33209a Initial commit 2025-03-11 14:02:51 +05:30
administrator 124c1a62b5 Merge branch 'develop' 2025-03-04 12:40:26 +05:30
administrator 45895e0225 Initial commit 2025-03-04 12:39:30 +05:30
administrator 65d86303c5 Initial commit 2025-03-04 12:39:30 +05:30
administrator 0bc54d0d13 Merge branch 'develop' 2025-02-21 15:20:47 +05:30
administrator 8cd88a5d43 Initial commit 2025-02-21 15:20:26 +05:30
administrator ebaa1b3c66 Initial commit 2025-02-21 15:20:26 +05:30
administrator 506d9e82aa Merge branch 'develop' 2025-02-13 18:51:13 +05:30
administrator b326aba2f7 Initial commit 2025-02-13 18:50:16 +05:30
administrator 74c8705962 Initial commit 2025-02-13 18:50:16 +05:30
administrator cd075e628e Merge branch 'develop' 2025-01-30 10:06:02 +05:30
administrator aa9f2aa12d Initial commit 2025-01-30 10:02:12 +05:30
administrator 0f071e6dda Merge branch 'develop' 2025-01-29 18:21:05 +05:30
administrator dd9e87f3f5 Initial commit 2025-01-29 18:19:51 +05:30
administrator 2e16a1d4fa Initial commit 2025-01-27 12:38:28 +05:30
administrator 1ac7246284 Initial commit 2025-01-27 12:38:28 +05:30
administrator 2d6f549b17 Initial commit 2025-01-27 12:38:28 +05:30
administrator e0a1c363a6 Initial commit 2025-01-27 12:38:28 +05:30
administrator d3262bc894 Initial commit 2025-01-27 12:38:27 +05:30
administrator 56fd53e470 Initial commit 2025-01-27 12:10:38 +05:30
3 changed files with 21 additions and 9 deletions

View File

@ -18,8 +18,12 @@
'version': '0.1', 'version': '0.1',
# any module necessary for this one to work correctly # any module necessary for this one to work correctly
'depends': ['base','hr','account','mail','hr_skills', 'hr_contract'], 'depends': ['base','hr','account','mail','hr_skills', 'hr_contract'],
# always loaded # always loaded
'data': [ 'data': [
'security/security.xml', 'security/security.xml',

View File

@ -256,6 +256,8 @@ class HRJobRecruitment(models.Model):
rec.submission_status = 'zero' rec.submission_status = 'zero'
experience = fields.Many2one('candidate.experience', string="Experience")
@api.depends('application_ids.submitted_to_client') @api.depends('application_ids.submitted_to_client')
def _compute_no_of_submissions(self): def _compute_no_of_submissions(self):
counts = dict(self.env['hr.applicant']._read_group( counts = dict(self.env['hr.applicant']._read_group(

View File

@ -2,7 +2,7 @@ from odoo import models, fields, api
from datetime import timedelta from datetime import timedelta
import json import json
from collections import defaultdict from collections import defaultdict
from datetime import datetime from pytz import timezone, UTC
class AttendanceWeeklyReport(models.Model): class AttendanceWeeklyReport(models.Model):
@ -22,32 +22,39 @@ class AttendanceWeeklyReport(models.Model):
last_monday = today - timedelta(days=today.weekday() + 7) last_monday = today - timedelta(days=today.weekday() + 7)
last_sunday = last_monday + timedelta(days=6) last_sunday = last_monday + timedelta(days=6)
user_tz = self.env.user.tz or 'UTC'
tz = timezone(user_tz)
# Search for attendance in UTC (Odoo stores in UTC)
attendances = self.env['hr.attendance'].search([ attendances = self.env['hr.attendance'].search([
('check_in', '>=', str(last_monday)), ('check_in', '>=', str(last_monday)),
('check_out', '<=', str(last_sunday + timedelta(days=1))) ('check_out', '<=', str(last_sunday + timedelta(days=1)))
]) ])
employee_data = {}
employee_data = defaultdict(list) employee_data = defaultdict(list)
grouped_attendance = defaultdict(lambda: defaultdict(list)) # {emp: {date: [attendances]}} grouped_attendance = defaultdict(lambda: defaultdict(list)) # {emp: {date: [attendances]}}
# Group attendances by employee and local date
for att in attendances: for att in attendances:
emp = att.employee_id.name emp = att.employee_id.name
date = att.check_in.date() check_in_local = att.check_in.astimezone(tz)
grouped_attendance[emp][date].append(att) date_local = check_in_local.date()
grouped_attendance[emp][date_local].append(att)
# Process each employee's attendance
for emp_name, dates in grouped_attendance.items(): for emp_name, dates in grouped_attendance.items():
for date, records in dates.items(): for date, records in dates.items():
records = sorted(records, key=lambda a: a.check_in) records = sorted(records, key=lambda a: a.check_in)
total_seconds = 0 total_seconds = 0
first_in = records[0].check_in.time().strftime('%H:%M') first_in = records[0].check_in.astimezone(tz).strftime('%H:%M')
last_out = 'N/A' last_out = 'N/A'
for rec in records: for rec in records:
if rec.check_in and rec.check_out: if rec.check_in and rec.check_out:
total_seconds += (rec.check_out - rec.check_in).total_seconds() check_in_local = rec.check_in.astimezone(tz)
last_out = rec.check_out.time().strftime('%H:%M') check_out_local = rec.check_out.astimezone(tz)
total_seconds += (check_out_local - check_in_local).total_seconds()
last_out = check_out_local.strftime('%H:%M')
employee_data[emp_name].append({ employee_data[emp_name].append({
'date': date.strftime('%Y-%m-%d'), 'date': date.strftime('%Y-%m-%d'),
@ -55,7 +62,6 @@ class AttendanceWeeklyReport(models.Model):
'out': last_out, 'out': last_out,
'hours': f'{total_seconds / 3600:.2f}', 'hours': f'{total_seconds / 3600:.2f}',
}) })
# Inline QWeb-compatible HTML template (must be in a real view in production) # Inline QWeb-compatible HTML template (must be in a real view in production)
html_template = """ html_template = """
<div style="max-width:800px;margin:auto;background-color:#fff;padding:20px;border:1px solid #ddd;border-radius:8px;"> <div style="max-width:800px;margin:auto;background-color:#fff;padding:20px;border:1px solid #ddd;border-radius:8px;">