10-06-2025

Merge branch 'develop'
This commit is contained in:
administrator 2025-06-10 10:43:29 +05:30
commit 2587b41e24
3 changed files with 29 additions and 3 deletions

View File

@ -309,7 +309,7 @@ attendanceLines.forEach(line => {
const dateStr = createDate.toLocaleDateString('en-IN', { timeZone: 'Asia/Kolkata' }); const dateStr = createDate.toLocaleDateString('en-IN', { timeZone: 'Asia/Kolkata' });
const workedHours = parseFloat(line.worked_hours); const workedHours = parseFloat(line.worked_hours);
const working_hours = ''
const checkIn = new Date(line.check_in + 'Z'); const checkIn = new Date(line.check_in + 'Z');
const checkOut = new Date(line.check_out + 'Z'); const checkOut = new Date(line.check_out + 'Z');
@ -320,6 +320,7 @@ attendanceLines.forEach(line => {
groupedLines[dateStr] = { groupedLines[dateStr] = {
create_date: dateStr, create_date: dateStr,
worked_hours: workedHours, worked_hours: workedHours,
working_hours: `${Math.floor(workedHours)}h ${Math.round((workedHours - Math.floor(workedHours)) * 60)}m`,
check_in: checkInStr, check_in: checkInStr,
check_out: checkOutStr, check_out: checkOutStr,
earliestCheckIn: checkIn, earliestCheckIn: checkIn,
@ -346,6 +347,7 @@ attendanceLines.forEach(line => {
const groupedAttendance = Object.values(groupedLines).map(line => ({ const groupedAttendance = Object.values(groupedLines).map(line => ({
create_date: line.create_date, create_date: line.create_date,
worked_hours: line.worked_hours.toFixed(2), worked_hours: line.worked_hours.toFixed(2),
working_hours :line.working_hours,
check_in: line.check_in, check_in: line.check_in,
check_out: line.check_out check_out: line.check_out
})); }));

View File

@ -219,7 +219,7 @@
</td> </td>
<td t-esc="line['check_out']"> <td t-esc="line['check_out']">
</td> </td>
<td t-esc="line['worked_hours']"> <td t-esc="line['working_hours']">
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -7,9 +7,10 @@ import pytz
from collections import defaultdict, Counter from collections import defaultdict, Counter
from datetime import date, datetime, time from datetime import date, datetime, time
from datetime import timedelta
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from functools import reduce from functools import reduce
from odoo import api, Command, fields, models, _ from odoo import api, Command, fields, models, _
from odoo.exceptions import UserError, ValidationError from odoo.exceptions import UserError, ValidationError
from odoo.tools import float_round, date_utils, convert_file, format_amount 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: for file_to_update in files_to_update:
convert_file(self.env, module_name, file_to_update, idref) 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): def action_edit_payslip_lines(self):
self.ensure_one() self.ensure_one()
if not self.env.user.has_group('hr_payroll.group_hr_payroll_manager'): if not self.env.user.has_group('hr_payroll.group_hr_payroll_manager'):