Merge pull request #1205 from expsa/fix-excel-report

fix layout and print data time zone
This commit is contained in:
eslam 2024-09-18 13:26:41 +03:00 committed by GitHub
commit bd7dbe4af4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 17 additions and 11 deletions

View File

@ -4,6 +4,8 @@ import collections
import datetime
from odoo import api, fields, models, _
from odoo.exceptions import ValidationError
import pytz
from pytz import timezone
week_dayS_arabic={0:"الاثنين", 1: 'الثلاثاء', 4:'الجمعة' , 2:'الاربعاء',3: 'الخميس', 6:'الاحد',5: 'السبت'}
class AttendancesReport(models.TransientModel):
@ -190,6 +192,10 @@ class ReportAttendancePublic(models.AbstractModel):
end_date = data['form']['to_date']
type = data['form']['type']
print("dataa",mykey,final_dic)
local_tz = pytz.timezone(
self.env.user.tz or 'GMT')
print_date=datetime.datetime.now(timezone('UTC'))
print_date=print_date.astimezone(local_tz)
return {
'doc_ids': data['ids'],
'doc_model': data['model'],
@ -200,7 +206,7 @@ class ReportAttendancePublic(models.AbstractModel):
'mykey': mykey,
'emp_data':emp_data,
'total': total,
'print_date':datetime.datetime.now().strftime("%H:%m %m/%d/%Y" ),
'print_date':print_date.strftime("%H:%m %m/%d/%Y" ),
'print_user':self.env.user.name
}
@ -218,7 +224,7 @@ class AttendancesReportXls(models.AbstractModel):
type = data['form']['type']
sheet = workbook.add_worksheet(U'Holiday Report')
sheet.right_to_left()
sheet.set_column(8, 9, 15)
sheet.set_column(1, 10, 15)
# sheet.set_column(6, 100, 25)
format2 = workbook.add_format(
{'font_size': 10, 'bottom': True, 'right': True, 'left': True, 'top': True, 'align': 'center',
@ -226,7 +232,7 @@ class AttendancesReportXls(models.AbstractModel):
format2.set_align('center')
format2.set_align('vcenter')
if type == 'late':
sheet.merge_range('C3:G3', _("Late and Early Exit Report"), format2)
sheet.merge_range('C3:G3', _("Attendance Reports"), format2)
sheet.merge_range('B4:C4', _("From date"), format2)
sheet.merge_range('F4:G4', _("To date"), format2)
sheet.write(3, 3, str(start_date)[0:10], format2)
@ -273,16 +279,16 @@ class AttendancesReportXls(models.AbstractModel):
sheet.write(data_row, n + 7,line['note'], format2)
sheet.write(data_row, n + 8, line['calendar_id'], format2)
data_row += 1
sheet.write(data_row, n, _('Total lateness'), format2)
sheet.write(data_row+1, n+2, _('Total lateness'), format2)
# sheet.set_column(data_row,data_row, 15)
sheet.write(data_row, n + 1, str(total[key]['total_late_early'].split('.')[0]), format2)
sheet.write(data_row, n + 2, _('Total Absent'), format2)
sheet.write(data_row, n + 3, str(total[key]['total_absent']), format2)
sheet.write(data_row+1, n + 3, str(total[key]['total_late_early'].split('.')[0]), format2)
sheet.write(data_row+1, n + 4, _('Total Absent'), format2)
sheet.write(data_row+1, n + 5, str(total[key]['total_absent']), format2)
size -= 2
sheet.write(data_row + 1, n, _('Total Extra'), format2)
sheet.write(data_row + 1, n + 1, str(total[key]['total_extra_hours'].split('.')[0]), format2)
sheet.write(data_row + 1, n + 2, _('Total Leave'), format2)
sheet.write(data_row + 1, n + 3, total[key]['total_leave'], format2)
sheet.write(data_row + 2, n+2, _('Total Extra'), format2)
sheet.write(data_row + 2, n + 3, str(total[key]['total_extra_hours'].split('.')[0]), format2)
sheet.write(data_row + 2, n + 4, _('Total Leave'), format2)
sheet.write(data_row + 2, n + 5, total[key]['total_leave'], format2)
n += 1
row += size + 3 + tot_size
elif type == 'absent':