Merge branch 'dev_odex25_hr' of https://github.com/expsa/odex25-standard-modules into bakry_hr3
# Conflicts: # odex25_hr/exp_payroll_custom/models/hr_advance_payslip.py
This commit is contained in:
commit
cfb174802a
|
|
@ -54,192 +54,90 @@ class HrAttendanceTransactions(models.Model):
|
|||
module = self.env['ir.module.module'].sudo()
|
||||
official_mission_module = module.search([('state', '=', 'installed'), ('name', '=', 'exp_official_mission')])
|
||||
holidays_module = module.search([('state', '=', 'installed'), ('name', '=', 'hr_holidays_public')])
|
||||
|
||||
for item in self:
|
||||
# Initialize values
|
||||
item.plan_hours = item.official_hours = item.office_hours = 0.0
|
||||
item.lateness = item.early_exit = item.total_absent_hours = 0.0
|
||||
item.is_absent = item.approve_lateness = item.approve_exit_out = False
|
||||
item.is_absent = False
|
||||
item.approve_exit_out = False
|
||||
# item.is_official = False
|
||||
# item.total_absent_hours = 0
|
||||
# item.official_id = False
|
||||
# item.total_mission_hours = 0.0
|
||||
# item.approve_personal_permission = False
|
||||
# item.personal_permission_id = False
|
||||
# item.total_permission_hours = 0.0
|
||||
item.approve_lateness = False
|
||||
item.lateness = False
|
||||
item.early_exit = False
|
||||
item.total_absent_hours = 0
|
||||
|
||||
if not item.calendar_id:
|
||||
continue
|
||||
calendar = item.calendar_id
|
||||
|
||||
# Determine working hours based on shift or full day
|
||||
if not calendar.is_full_day:
|
||||
if item.sequence == 1:
|
||||
working_hours = calendar.shift_one_working_hours
|
||||
else:
|
||||
working_hours = calendar.shift_two_working_hours
|
||||
else:
|
||||
working_hours = calendar.working_hours
|
||||
|
||||
item.plan_hours = working_hours
|
||||
|
||||
if item.attending_type == 'out_cal' \
|
||||
or holidays_module and (item.public_holiday or item.normal_leave) \
|
||||
or official_mission_module and item.is_official and item.official_id.mission_type.duration_type == 'days':
|
||||
item.write({
|
||||
'temp_lateness': 0.0,
|
||||
'temp_exit': 0.0,
|
||||
'break_duration': 0.0,
|
||||
'is_absent': False,
|
||||
'office_hours': working_hours
|
||||
})
|
||||
item.write({'temp_lateness': 0.0, 'temp_exit': 0.0, 'break_duration': 0.0, 'is_absent': False})
|
||||
if holidays_module and (item.public_holiday or item.normal_leave):
|
||||
item.write({
|
||||
'is_official': False,
|
||||
'official_id': False,
|
||||
'total_mission_hours': 0.0,
|
||||
'approve_personal_permission': False,
|
||||
'personal_permission_id': False,
|
||||
'total_permission_hours': 0.0
|
||||
})
|
||||
continue
|
||||
|
||||
if calendar.is_flexible:
|
||||
item.write({
|
||||
'temp_lateness': 0.0,
|
||||
'temp_exit': 0.0,
|
||||
'official_hours': item.office_hours,
|
||||
'plan_hours': item.sign_out - item.sign_in if item.sign_out and item.sign_in else 0.0
|
||||
})
|
||||
continue
|
||||
|
||||
|
||||
# Adjust sign_in and sign_out
|
||||
adjusted_sign_in = adjusted_sign_out = full_sign_in = full_sign_out = 0.0
|
||||
if item.has_sign_in:
|
||||
if not calendar.is_full_day:
|
||||
if item.sequence == 1: # First shift
|
||||
full_max_sign_in = calendar.shift_one_max_sign_in
|
||||
full_min_sign_in = calendar.shift_one_min_sign_in
|
||||
full_min_sign_out = calendar.shift_one_min_sign_out
|
||||
full_max_sign_out = calendar.shift_one_max_sign_out
|
||||
else: # Second shift
|
||||
full_max_sign_in = calendar.shift_two_max_sign_in
|
||||
full_min_sign_in = calendar.shift_two_min_sign_in
|
||||
full_min_sign_out = calendar.shift_two_min_sign_out
|
||||
full_max_sign_out = calendar.shift_two_max_sign_out
|
||||
else:
|
||||
full_min_sign_in, full_min_sign_out = calendar.full_min_sign_in, calendar.full_min_sign_out
|
||||
full_max_sign_in, full_max_sign_out = calendar.full_max_sign_in, calendar.full_max_sign_out
|
||||
|
||||
# Adjust based on the conditions
|
||||
if item.sign_in < full_max_sign_in:
|
||||
full_sign_in, full_sign_out = full_min_sign_in, full_min_sign_out
|
||||
adjusted_sign_in = max(item.sign_in, full_sign_in)
|
||||
adjusted_sign_out = min(item.sign_out, full_sign_out)
|
||||
else:
|
||||
full_sign_in, full_sign_out = full_max_sign_in, full_max_sign_out
|
||||
adjusted_sign_in = max(item.sign_in, full_sign_in)
|
||||
adjusted_sign_out = min(item.sign_out, full_sign_out)
|
||||
|
||||
# Calculate official hours
|
||||
if adjusted_sign_in and item.has_sign_out:
|
||||
item.official_hours = adjusted_sign_out - adjusted_sign_in
|
||||
|
||||
# # Check absence due to missing sign_out
|
||||
# if adjusted_sign_in and not item.has_sign_out:
|
||||
# current_time = fields.Datetime.now().hour
|
||||
# if calendar.end_sign_in > 0 and (current_time - adjusted_sign_in < calendar.end_sign_in):
|
||||
# item.is_absent = True
|
||||
# item.total_absent_hours = working_hours - (current_time - adjusted_sign_in)
|
||||
|
||||
# Handle absence due to insufficient working hours
|
||||
if item.has_sign_out and adjusted_sign_out - adjusted_sign_in < working_hours:
|
||||
if calendar.end_sign_in > 0 and working_hours < calendar.end_sign_in:
|
||||
item.is_absent = True
|
||||
item.total_absent_hours = working_hours - (adjusted_sign_out - adjusted_sign_in)
|
||||
|
||||
# Mission and personal permission hours
|
||||
mission_hours = item.total_mission_hours or 0.0
|
||||
permission_hours = item.total_permission_hours or 0.0
|
||||
|
||||
# Calculate office hours
|
||||
item.office_hours = item.official_hours + mission_hours + permission_hours
|
||||
|
||||
if item.personal_permission_id:
|
||||
start_permission_time = item.personal_permission_id.date_from.time()
|
||||
start_permission_time_float = start_permission_time.hour + start_permission_time.minute / 60.0
|
||||
item.write({'is_official': False, 'official_id': False, 'total_mission_hours': 0.0,
|
||||
'approve_personal_permission': False, 'personal_permission_id': False,
|
||||
'total_permission_hours': 0.0})
|
||||
else:
|
||||
start_permission_time_float = 0.0
|
||||
# noke
|
||||
# item.write({'temp_lateness': 0.0, 'temp_exit': 0.0, 'break_duration': 0.0, 'is_absent': False})
|
||||
day_trans = self.search([('date', '=', item.date),
|
||||
('attending_type', '=', 'in_cal'),
|
||||
('employee_id', '=', item.employee_id.id)])
|
||||
working_hours = sum(day_trans.mapped('official_hours')) \
|
||||
+ sum(day_trans.mapped('total_mission_hours')) \
|
||||
+ sum(day_trans.mapped('total_permission_hours'))
|
||||
|
||||
# Initialize variables to track hours used for lateness and early exit
|
||||
used_mission_hours = 0.0
|
||||
used_permission_hours = 0.0
|
||||
if not item.public_holiday:
|
||||
if working_hours < item.calendar_id.end_sign_in and not item.calendar_id.is_flexible \
|
||||
or item.calendar_id.is_flexible and working_hours == 0.0:
|
||||
day_trans.filtered(lambda t: t.public_holiday == False).update({'is_absent': True})
|
||||
if working_hours == 0.0 and item.sign_in == 0.0 and item.sign_out == 0.0 and not item.calendar_id.is_flexible:
|
||||
day_trans.filtered(lambda t: t.public_holiday == False).update({'is_absent': True})
|
||||
if item.calendar_id.is_flexible:
|
||||
item.write({'temp_lateness': 0.0, 'temp_exit': 0.0, 'official_hours': item.office_hours})
|
||||
# if item.temp_lateness:
|
||||
# item.approve_lateness = True
|
||||
# if item.temp_exit:
|
||||
# item.approve_exit_out = True
|
||||
#################### Fix lateness,exit_out start #######################
|
||||
if item.temp_lateness or item.temp_exit: # solve one cases and add other case #TODO
|
||||
full_max_sign_in = item.calendar_id.full_max_sign_in
|
||||
full_min_sign_in = item.calendar_id.full_min_sign_in
|
||||
working_hours = item.calendar_id.working_hours
|
||||
if not item.calendar_id.is_full_day:
|
||||
if item.sequence == 1:
|
||||
full_max_sign_in = item.calendar_id.shift_one_max_sign_in
|
||||
full_min_sign_in = item.calendar_id.shift_one_min_sign_in
|
||||
working_hours = item.calendar_id.shift_one_working_hours
|
||||
if item.sequence == 2:
|
||||
full_max_sign_in = item.calendar_id.shift_two_max_sign_in
|
||||
full_min_sign_in = item.calendar_id.shift_two_min_sign_in
|
||||
working_hours = item.calendar_id.shift_two_working_hours
|
||||
|
||||
# Lateness
|
||||
if adjusted_sign_in > full_sign_in:
|
||||
lateness_time = adjusted_sign_in - full_sign_in
|
||||
lateness_covered_time = 0.0
|
||||
is_late_sign_in = item.sign_in > full_max_sign_in
|
||||
if item.sign_in < full_min_sign_in:
|
||||
expected_sign_in = full_min_sign_in
|
||||
if item.sign_in >= full_min_sign_in and item.sign_in <= full_max_sign_in:
|
||||
expected_sign_in = item.sign_in
|
||||
if is_late_sign_in:
|
||||
expected_sign_in = full_max_sign_in
|
||||
expected_sign_out = expected_sign_in + working_hours
|
||||
is_early_sign_out = item.sign_out > 0.0 and item.sign_out < expected_sign_out
|
||||
item.temp_lateness = item.sign_out > 0.0 and is_late_sign_in and item.sign_in - expected_sign_in or 0
|
||||
item.temp_exit = is_early_sign_out and expected_sign_out - item.sign_out or 0
|
||||
item.approve_lateness = is_late_sign_in
|
||||
item.approve_exit_out = is_early_sign_out
|
||||
|
||||
# Check coverage by official mission
|
||||
if official_mission_module and item.official_id:
|
||||
mission_start = item.official_id.hour_from
|
||||
mission_end = mission_start + item.total_mission_hours
|
||||
if mission_start < adjusted_sign_in:
|
||||
available_mission_hours = max(0.0, mission_end - adjusted_sign_in - used_mission_hours)
|
||||
lateness_covered_time += min(lateness_time, available_mission_hours)
|
||||
used_mission_hours += lateness_covered_time
|
||||
|
||||
# Check coverage by personal permission
|
||||
if item.personal_permission_id:
|
||||
permission_start = start_permission_time_float + 3 # TODO REMOVE THIS +3
|
||||
permission_end = permission_start + item.total_permission_hours
|
||||
if permission_start < adjusted_sign_in:
|
||||
available_permission_hours = max(0.0, permission_end - adjusted_sign_in - used_permission_hours)
|
||||
lateness_covered_time += min(lateness_time, available_permission_hours)
|
||||
used_permission_hours += lateness_covered_time
|
||||
|
||||
# Determine remaining uncovered lateness
|
||||
uncovered_lateness = lateness_time - lateness_covered_time
|
||||
if uncovered_lateness > 0:
|
||||
item.lateness = uncovered_lateness
|
||||
item.approve_lateness = True
|
||||
else:
|
||||
item.lateness = 0.0
|
||||
|
||||
# Early Exit
|
||||
if adjusted_sign_out < full_sign_out:
|
||||
remaining_work_time = full_sign_out - adjusted_sign_out
|
||||
early_exit_covered_time = 0.0
|
||||
|
||||
# Check coverage by official mission
|
||||
if official_mission_module and item.official_id:
|
||||
mission_start = item.official_id.hour_from
|
||||
mission_end = mission_start + item.total_mission_hours
|
||||
if mission_start >= adjusted_sign_out:
|
||||
available_mission_hours = max(0.0, mission_end - adjusted_sign_out - used_mission_hours)
|
||||
early_exit_covered_time += min(remaining_work_time, available_mission_hours)
|
||||
used_mission_hours += early_exit_covered_time
|
||||
|
||||
# Check coverage by personal permission
|
||||
if item.personal_permission_id:
|
||||
permission_start = start_permission_time_float + 3 # TODO REMOVE THIS +3
|
||||
permission_end = permission_start + item.total_permission_hours
|
||||
if permission_start >= adjusted_sign_out:
|
||||
available_permission_hours = max(0.0, permission_end - adjusted_sign_out - used_permission_hours)
|
||||
early_exit_covered_time += min(remaining_work_time, available_permission_hours)
|
||||
used_permission_hours += early_exit_covered_time
|
||||
|
||||
# Determine remaining uncovered early exit
|
||||
uncovered_early_exit = remaining_work_time - early_exit_covered_time
|
||||
if uncovered_early_exit > 0:
|
||||
item.early_exit = uncovered_early_exit
|
||||
item.approve_exit_out = True
|
||||
else:
|
||||
item.early_exit = 0.0
|
||||
|
||||
# Final absence check
|
||||
if not item.has_sign_in or\
|
||||
(not item.has_sign_out and calendar.end_sign_in > 0) or\
|
||||
(item.has_sign_out and adjusted_sign_out - adjusted_sign_in < calendar.end_sign_in):
|
||||
item.is_absent = True
|
||||
item.total_absent_hours = max(0.0, working_hours - item.office_hours)
|
||||
else:
|
||||
item.is_absent = False
|
||||
item.total_absent_hours = 0.0
|
||||
# if item.sign_out == 0.0:
|
||||
# item.is_absent = True
|
||||
#################### Fix end #######################
|
||||
if item.break_duration and item.calendar_id.break_duration:
|
||||
# item.write({'break_duration': item.break_duration - item.calendar_id.break_duration}) #TODO
|
||||
item.write({'break_duration': item.break_duration})
|
||||
if item.break_duration < 0:
|
||||
item.break_duration = 0
|
||||
item.lateness = item.temp_lateness
|
||||
item.early_exit = item.temp_exit
|
||||
|
||||
def get_sign_time(self, sign):
|
||||
''' Func: return time as float considering timezone(fixed 3)'''
|
||||
|
|
|
|||
|
|
@ -2333,11 +2333,6 @@ msgstr "الرواتب"
|
|||
msgid "Permission"
|
||||
msgstr "إستيذان"
|
||||
|
||||
#. module: employee_requests
|
||||
#: model:ir.model.fields,field_description:employee_requests.field_hr_personal_permission__balance
|
||||
msgid "Permission Hours"
|
||||
msgstr "ساعات الإستئذان"
|
||||
|
||||
#. module: employee_requests
|
||||
#: model_terms:ir.ui.view,arch_db:employee_requests.employee_personal_permission_form_view
|
||||
msgid "Permission Info"
|
||||
|
|
|
|||
|
|
@ -217,7 +217,6 @@ msgstr "قيد لكل الموظفين"
|
|||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule_category__rule_type__allowance
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.model_payslip_form_view
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__payroll_bank_wiz__report_type__allowance
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.model_payslip_form_view
|
||||
#, python-format
|
||||
msgid "Allowance"
|
||||
msgstr "البدلات"
|
||||
|
|
@ -252,7 +251,6 @@ msgstr "اجمالي البدلات والخصومات"
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_contract_advantage__amount
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_employee_reward__amount
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_lines_ids_reward__amount
|
||||
|
|
@ -706,7 +704,6 @@ msgstr ""
|
|||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_contract__display_name
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_employee__display_name
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_employee_selection_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_employee_selection_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_employee_reward__display_name
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_payroll_structure__display_name
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_payslip__display_name
|
||||
|
|
@ -746,8 +743,6 @@ msgstr "مسودة"
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#, python-format
|
||||
msgid "EMP #"
|
||||
msgstr "رقم الوظف"
|
||||
|
|
@ -921,6 +916,7 @@ msgstr "إستحقاق نهاية خدمة"
|
|||
#, python-format
|
||||
msgid "Insurnce Deduction"
|
||||
msgstr "خصم التأمينات الاجتماعية"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__other
|
||||
|
|
@ -928,6 +924,7 @@ msgstr "خصم التأمينات الاجتماعية"
|
|||
#, python-format
|
||||
msgid "Other"
|
||||
msgstr "اخـــــرى"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule_category__rule_type__end_of_service
|
||||
|
|
@ -1006,7 +1003,6 @@ msgstr "رمز الخط الرائع ، على سبيل المثال FA- الم
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#, python-format
|
||||
msgid "Form content is missing, this report cannot be printed."
|
||||
msgstr ""
|
||||
|
|
@ -1088,18 +1084,13 @@ msgstr "إخفاء"
|
|||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_contract__house_allowance_temp
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__house
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__house
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_payslip__house_allowances
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.employee_cost_report
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.view_hr_payslip_inherit_tree
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
#, python-format
|
||||
msgid "House Allowance"
|
||||
msgstr "بدل السكن"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "Housing Allowance"
|
||||
msgstr "بدل السكن"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_contract_advantage__id
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_employee_promotions__id
|
||||
|
|
@ -1188,12 +1179,6 @@ msgstr "المدخلات"
|
|||
msgid "Installment Date"
|
||||
msgstr "تاريخ القسط"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#, python-format
|
||||
msgid "Insurnce Deduction"
|
||||
msgstr "خصم التأمينات الاجتماعية"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_payroll_structure__interval_time
|
||||
msgid "Interval Time"
|
||||
|
|
@ -1362,8 +1347,6 @@ msgstr "نهاية الوقت المعين للنشاط"
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payslip_loans__name
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_salary_advance__name
|
||||
#, python-format
|
||||
|
|
@ -1378,7 +1361,6 @@ msgstr ""
|
|||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#, python-format
|
||||
msgid "Net"
|
||||
msgstr ""
|
||||
|
|
@ -1586,12 +1568,6 @@ msgstr " 2 مستوى قديم"
|
|||
msgid "Old Scale"
|
||||
msgstr "رتبة قديمة"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#, python-format
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.employee_cost_report
|
||||
msgid "Other Benefits"
|
||||
|
|
@ -1939,11 +1915,6 @@ msgstr "ذات الصلة بالمستويات"
|
|||
msgid "Related with qualifications"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payroll_bank_wiz__report_type
|
||||
msgid "Report Type"
|
||||
msgstr "نوع التقرير"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.ui.menu,name:exp_payroll_custom.menu_hr_payroll_report
|
||||
msgid "Reporting"
|
||||
|
|
@ -2107,7 +2078,6 @@ msgid "Salary Degree"
|
|||
msgstr "درجة الرواتب"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payroll_bank_wiz__degree_ids
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payroll_bank_wiz__group_ids
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payslip_monthly_report__degree_ids
|
||||
msgid "Salary Degrees"
|
||||
|
|
@ -2122,7 +2092,6 @@ msgid "Salary Group"
|
|||
msgstr "مجموعة الرواتب"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payroll_bank_wiz__group_ids
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payslip_monthly_report__group_ids
|
||||
msgid "Salary Groups"
|
||||
msgstr "المجموعات"
|
||||
|
|
@ -2215,7 +2184,6 @@ msgstr "مستويات سلم الرواتب"
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#, python-format
|
||||
msgid "Salary Slip of %s for %s"
|
||||
msgstr "قسيمة راتب %s لشهر %s"
|
||||
|
|
@ -2240,7 +2208,6 @@ msgstr ""
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Salary is less than 0 this month for the following employees \n"
|
||||
|
|
@ -2466,13 +2433,6 @@ msgstr "يجب ان يكون تصنيف قاعدة الرواتب خصمآ فق
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#, python-format
|
||||
msgid "The amount you put is greater than fact value of this Salary rule"
|
||||
msgstr "المبلغ الذي وضعته أكبر من القيمة الحقيقية لقاعدة الرواتب هذه"
|
||||
|
|
@ -2503,7 +2463,6 @@ msgstr "هذا المستخدم مشارك في العمليات المتعلق
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.employee_cost_report
|
||||
#, python-format
|
||||
msgid "Total"
|
||||
|
|
@ -2675,12 +2634,6 @@ msgstr "تم تحديد قيمة خاطئة لقاعدة الراتب %s (%s)."
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_salary_rules.py:0
|
||||
#, python-format
|
||||
msgid "Wrong quantity defined for salary rule %s (%s)."
|
||||
msgstr ""
|
||||
|
|
@ -2701,8 +2654,6 @@ msgstr "لايمكن ارجاع حساب الراتب بعد ترحيل حزم
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#, python-format
|
||||
msgid "You can not Return account move %s in state not draft"
|
||||
msgstr "لايمكن ارجاع حساب الراتب و القيد %s في حالة غير مسوده"
|
||||
|
|
@ -2721,7 +2672,6 @@ msgstr "لا يمكن حذف السجل \"%s\" في حالة غير المسود
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/employee_reward.py:0
|
||||
#: code:addons/exp_payroll_custom/models/employee_reward.py:0
|
||||
#, python-format
|
||||
msgid "You can not delete record in state not in draft"
|
||||
msgstr "لا يمكن حذف السجل في حالة غير المسوده"
|
||||
|
|
@ -2809,59 +2759,21 @@ msgstr ""
|
|||
msgid "salary.advance"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule_category__rule_type__base
|
||||
msgid "أساسى"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule_category__rule_type__gross
|
||||
msgid "إجمالي"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "إجمالي المبلغ"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__mandate
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__mandate
|
||||
msgid "إستحقاق إنتــداب"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__termination
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__termination
|
||||
msgid "إستحقاق نهاية خدمة"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "إسم الموظف"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__contract_advantage__type__exception
|
||||
msgid "استثناء"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__overtime
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__overtime
|
||||
msgid "استحقاق اجر اضــافي"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__employee_promotions__state__approved
|
||||
msgid "الإعتماد النهائي"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule_category__rule_type__allowance
|
||||
msgid "الاستحقاقات"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "البنك"
|
||||
|
|
@ -2872,12 +2784,6 @@ msgstr ""
|
|||
msgid "الحالة"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule_category__rule_type__deduction
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "الخصم"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "الخصومات"
|
||||
|
|
@ -2888,12 +2794,6 @@ msgstr ""
|
|||
msgid "الراتب الأساسي"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__salary
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__salary
|
||||
msgid "الراتب الاســـاسي"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule_category__rule_type__net
|
||||
msgid "الصافي"
|
||||
|
|
@ -2908,146 +2808,26 @@ msgid "مرفوض"
|
|||
msgid "العملة"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__contract_advantage__state__draft
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__employee_promotions__state__draft
|
||||
msgid "مسودة"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "العنوان"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__employee_promotions__state__approved
|
||||
msgid "معتمد"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payroll_structure__type__degree
|
||||
msgid "المؤهل"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_payslip__other_allowances
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.view_hr_payslip_inherit_tree
|
||||
msgid "Others Allowance"
|
||||
msgstr "البدلات الاخرى"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "المبلغ"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_hr_payslip__employee_insurnce
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.view_hr_payslip_inherit_tree
|
||||
msgid "Employee Insurnce"
|
||||
msgstr "خصم التأمينات الإجتماعية للموظق"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payroll_structure__type__group
|
||||
msgid "المجموعة"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__employee_promotions__state__confirm
|
||||
msgid "المدير المباشر"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/employee_reward.py:0
|
||||
#, python-format
|
||||
msgid "The Amount Must Be Greater Than Zero"
|
||||
msgstr "يجب أن يكون المبلغ أكبر من الصفر"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "المستفيد / اسم الموظف"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payroll_structure__type__level
|
||||
msgid "المستوى"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/employee_reward.py:0
|
||||
#, python-format
|
||||
msgid "The Employee %s Amount Must Be Greater Than Zero"
|
||||
msgstr "يجب ان يكون مبلغ الموظف %s اكبر من الصفر"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__employee_promotions__state__hr_manager
|
||||
msgid "الموارد البشرية"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payroll_structure__type__scale
|
||||
msgid "الميزان"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Sorry, The Previous month's salary has Not been calculated for Employees \n"
|
||||
" %s"
|
||||
msgstr "للأسف, لم يتم احتساب الراتب للشهر السابق للموظفين الاتية اسماهم \n %s"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "الهوية"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__discount_absence__by_hour
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__discount_absence__by_hour
|
||||
msgid "بالساعة"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#: code:addons/exp_payroll_custom/models/hr_advance_payslip.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Sorry, Salary has already been calculated This Month for Employees \n"
|
||||
" %s"
|
||||
msgstr " للأسف, تم حساب الراتب لهذا الشهر مسبقآ للموظفين الاتية اسماهم \n %s"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__discount_absence__by_day
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__discount_absence__by_day
|
||||
msgid "باليوم"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/payslip_monthly_report.py:0
|
||||
#, python-format
|
||||
msgid "EMP #"
|
||||
msgstr "رقم الوظف"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__house
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__house
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "بدل السكن"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payroll_bank_wiz__bank_type
|
||||
msgid "Select Bank"
|
||||
msgstr "حدد البنك"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__transport
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__transport
|
||||
msgid "بدل النقل"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__payroll_bank_wiz__bank_type__sap
|
||||
msgid "SAP Bank"
|
||||
|
|
@ -3058,33 +2838,6 @@ msgstr "بنك ساب"
|
|||
msgid "بدلات أخرى"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__payroll_bank_wiz__bank_type__alahli
|
||||
msgid "Al-Ahli Bank"
|
||||
msgstr "البنك الأهلي"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__salary_type__fixed
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__salary_type__fixed
|
||||
msgid "ثابت للكل"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__payroll_bank_wiz__bank_type__rajhi
|
||||
msgid "Al-Rajhi Bank"
|
||||
msgstr "بنك الراجحي"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__insurnce
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__insurnce
|
||||
msgid "خصم التأمينات الاجتماعية"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__payroll_bank_wiz__bank_type__riyadh
|
||||
msgid "Al-Riyadh Bank"
|
||||
msgstr "بنك الرياض"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "دخل آخر"
|
||||
|
|
@ -3095,39 +2848,6 @@ msgstr ""
|
|||
msgid "Report Type"
|
||||
msgstr "نوع التقرير"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__salary_type__related_degrees
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__salary_type__related_degrees
|
||||
msgid "ذات الصلة بالدرجات"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payroll_bank_wiz__no_details
|
||||
msgid "No Details"
|
||||
msgstr "بدون تفاصيل"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__salary_type__related_levels
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__salary_type__related_levels
|
||||
msgid "ذات الصلة بالمستويات"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields,field_description:exp_payroll_custom.field_payroll_bank_wiz__entry_type
|
||||
msgid "Entry Type"
|
||||
msgstr "نوع القيد"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__salary_type__related_groups
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__salary_type__related_groups
|
||||
msgid "ذات صلة بالمجموعات"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__payroll_bank_wiz__entry_type__posted
|
||||
msgid "Post"
|
||||
msgstr "مرحل"
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "رقم الحساب"
|
||||
|
|
@ -3148,22 +2868,6 @@ msgstr ""
|
|||
msgid "قيد لكل الموظفين"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payroll_structure__transfer_type__per_bank
|
||||
msgid "قيد لكل بنك"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payroll_structure__transfer_type__one_by_one
|
||||
msgid "قيد لكل موظف"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__discount_absence__no_discount
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__discount_absence__no_discount
|
||||
msgid "لا خصم"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__contract_advantage__state__confirm
|
||||
msgid "مؤكد"
|
||||
|
|
@ -3174,11 +2878,6 @@ msgstr ""
|
|||
msgid "مرجع الدفع"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__contract_advantage__state__refused
|
||||
msgid "مرفوض"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__contract_advantage__state__draft
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__employee_promotions__state__draft
|
||||
|
|
@ -3187,7 +2886,6 @@ msgstr ""
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
#, python-format
|
||||
msgid "مسير البنك للتدريب"
|
||||
|
|
@ -3195,7 +2893,6 @@ msgstr ""
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
#, python-format
|
||||
msgid "مسير البنك للحوافز"
|
||||
|
|
@ -3203,7 +2900,6 @@ msgstr ""
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
#, python-format
|
||||
msgid "مسير البنك للرواتب"
|
||||
|
|
@ -3211,7 +2907,6 @@ msgstr ""
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
#, python-format
|
||||
msgid "مسير البنك للعمل الإضافي"
|
||||
|
|
@ -3219,23 +2914,11 @@ msgstr ""
|
|||
|
||||
#. module: exp_payroll_custom
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: code:addons/exp_payroll_custom/report/bank_pdf_report.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
#, python-format
|
||||
msgid "مسير البنك لمهام العمل"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_payslip_line__rules_type__other
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule__rules_type__other
|
||||
msgid "مقييم"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__hr_salary_rule_category__rule_type__end_of_service
|
||||
msgid "نهاية الخدمة"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "هوية المستفيد/ المرجع"
|
||||
|
|
@ -3245,8 +2928,3 @@ msgstr ""
|
|||
#: model_terms:ir.ui.view,arch_db:exp_payroll_custom.report_payroll_bank_pdf
|
||||
msgid "وصف الدفع"
|
||||
msgstr ""
|
||||
|
||||
#. module: exp_payroll_custom
|
||||
#: model:ir.model.fields.selection,name:exp_payroll_custom.selection__contract_advantage__type__customize
|
||||
msgid "يعدل"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -488,7 +488,7 @@ class SalaryRuleInput(models.Model):
|
|||
#if payslip.date_from >= holiday.date_from and payslip.date_to >= holiday.date_to:
|
||||
if payslip_date_from >= holiday_date_from and payslip_date_to >= holiday_date_to:
|
||||
start_date = datetime.strptime(payslip_date_from, "%Y-%m-%d").date()
|
||||
end_date = datetime.strptime(str(holiday.date_to), "%Y-%m-%d %H:%M:%S").date() + timedelta(
|
||||
end_date = datetime.strptime(holiday_date_to, "%Y-%m-%d").date() + timedelta(
|
||||
days=1)
|
||||
number_of_days = relativedelta(end_date, start_date).days
|
||||
if number_of_days >= 0: # number_of_days <= 0
|
||||
|
|
@ -511,8 +511,8 @@ class SalaryRuleInput(models.Model):
|
|||
'number_of_hours': holiday.holiday_status_id.percentage,
|
||||
'contract_id': payslip.contract_id.id})]
|
||||
elif holiday_date_from >= payslip_date_from and payslip_date_to <= holiday_date_to:
|
||||
start_date = datetime.strptime(str(holiday.date_from), "%Y-%m-%d %H:%M:%S").date()
|
||||
end_date = datetime.strptime(str(payslip.date_to), "%Y-%m-%d").date()
|
||||
start_date = datetime.strptime(holiday_date_from, "%Y-%m-%d %H:%M:%S").date()
|
||||
end_date = datetime.strptime(payslip_date_to, "%Y-%m-%d").date()
|
||||
number_of_days = relativedelta(end_date, start_date).days + 1
|
||||
if number_of_days >= 0: # number_of_days <= 0
|
||||
payslip.worked_days_line_ids = [(0, 0, {
|
||||
|
|
@ -525,8 +525,8 @@ class SalaryRuleInput(models.Model):
|
|||
'contract_id': payslip.contract_id.id})]
|
||||
else:
|
||||
if payslip_date_to <= holiday_date_to:
|
||||
start_date = datetime.strptime(str(payslip.date_from), "%Y-%m-%d").date()
|
||||
end_date = datetime.strptime(str(payslip.date_to), "%Y-%m-%d").date() + timedelta(
|
||||
start_date = datetime.strptime(payslip_date_from, "%Y-%m-%d").date()
|
||||
end_date = datetime.strptime(payslip_date_to, "%Y-%m-%d").date() + timedelta(
|
||||
days=1)
|
||||
number_of_days = relativedelta(end_date, start_date).days
|
||||
if number_of_days >= 0: # number_of_days <= 0
|
||||
|
|
|
|||
Loading…
Reference in New Issue