Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: set correct work experience during gratuity calculation (backport #2460) #2501

Closed

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Dec 12, 2024

Fix work experience calculation for gratuity rules using the Take Exact Completed Years method. Previously, the experience was rounded to a whole number instead of using the exact decimal value (eg. 1.4 years was incorrectly treated as 1 year).

Gratuity Rule:
Screenshot 2024-11-29 at 12 59 56 PM

Before:
Screenshot 2024-11-29 at 1 12 41 PM

After:
Screenshot 2024-11-29 at 1 15 47 PM


This is an automatic backport of pull request #2460 done by [Mergify](https://mergify.com).

AyshaHakeem and others added 3 commits December 12, 2024 11:42
(cherry picked from commit ce75e4e)

# Conflicts:
#	hrms/payroll/doctype/gratuity/gratuity.json
(cherry picked from commit da17577)

# Conflicts:
#	.editorconfig
#	.git-blame-ignore-revs
#	.github/helper/install.sh
#	.github/helper/site_config.json
#	.github/labeler.yml
#	.github/workflows/ci.yml
#	.github/workflows/linters.yml
#	.gitignore
#	.mergify.yml
#	.pre-commit-config.yaml
#	MANIFEST.in
#	README.md
#	hrms/__init__.py
#	hrms/controllers/tests/test_employee_reminders.py
#	hrms/hooks.py
#	hrms/hr/doctype/appointment_letter/appointment_letter.json
#	hrms/hr/doctype/appointment_letter/test_appointment_letter.py
#	hrms/hr/doctype/appointment_letter_content/appointment_letter_content.json
#	hrms/hr/doctype/appointment_letter_template/appointment_letter_template.json
#	hrms/hr/doctype/appointment_letter_template/test_appointment_letter_template.py
#	hrms/hr/doctype/appraisal/appraisal.json
#	hrms/hr/doctype/appraisal/appraisal.py
#	hrms/hr/doctype/appraisal/test_appraisal.py
#	hrms/hr/doctype/appraisal_cycle/appraisal_cycle.js
#	hrms/hr/doctype/appraisal_cycle/appraisal_cycle.json
#	hrms/hr/doctype/appraisal_cycle/appraisal_cycle.py
#	hrms/hr/doctype/appraisal_cycle/test_appraisal_cycle.py
#	hrms/hr/doctype/appraisal_goal/appraisal_goal.json
#	hrms/hr/doctype/appraisal_kra/appraisal_kra.json
#	hrms/hr/doctype/appraisal_template/appraisal_template.json
#	hrms/hr/doctype/appraisal_template/test_appraisal_template.py
#	hrms/hr/doctype/appraisal_template_goal/appraisal_template_goal.json
#	hrms/hr/doctype/appraisee/appraisee.json
#	hrms/hr/doctype/attendance/attendance.json
#	hrms/hr/doctype/attendance/test_attendance.py
#	hrms/hr/doctype/attendance_request/attendance_request.json
#	hrms/hr/doctype/attendance_request/attendance_request.py
#	hrms/hr/doctype/attendance_request/test_attendance_request.py
#	hrms/hr/doctype/compensatory_leave_request/compensatory_leave_request.json
#	hrms/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py
#	hrms/hr/doctype/daily_work_summary/daily_work_summary.json
#	hrms/hr/doctype/daily_work_summary/test_daily_work_summary.py
#	hrms/hr/doctype/daily_work_summary_group/daily_work_summary_group.json
#	hrms/hr/doctype/daily_work_summary_group_user/daily_work_summary_group_user.json
#	hrms/hr/doctype/department_approver/department_approver.json
#	hrms/hr/doctype/designation_skill/designation_skill.json
#	hrms/hr/doctype/employee_advance/employee_advance.js
#	hrms/hr/doctype/employee_advance/employee_advance.json
#	hrms/hr/doctype/employee_advance/employee_advance.py
#	hrms/hr/doctype/employee_advance/test_employee_advance.py
#	hrms/hr/doctype/employee_attendance_tool/employee_attendance_tool.js
#	hrms/hr/doctype/employee_attendance_tool/employee_attendance_tool.json
#	hrms/hr/doctype/employee_attendance_tool/test_employee_attendance_tool.py
#	hrms/hr/doctype/employee_boarding_activity/employee_boarding_activity.json
#	hrms/hr/doctype/employee_checkin/employee_checkin.js
#	hrms/hr/doctype/employee_checkin/employee_checkin.json
#	hrms/hr/doctype/employee_checkin/employee_checkin.py
#	hrms/hr/doctype/employee_checkin/test_employee_checkin.py
#	hrms/hr/doctype/employee_feedback_criteria/employee_feedback_criteria.json
#	hrms/hr/doctype/employee_feedback_criteria/test_employee_feedback_criteria.py
#	hrms/hr/doctype/employee_feedback_rating/employee_feedback_rating.json
#	hrms/hr/doctype/employee_grade/employee_grade.json
#	hrms/hr/doctype/employee_grade/test_employee_grade.py
#	hrms/hr/doctype/employee_grievance/employee_grievance.json
#	hrms/hr/doctype/employee_grievance/test_employee_grievance.py
#	hrms/hr/doctype/employee_health_insurance/employee_health_insurance.json
#	hrms/hr/doctype/employee_health_insurance/test_employee_health_insurance.py
#	hrms/hr/doctype/employee_onboarding/employee_onboarding.json
#	hrms/hr/doctype/employee_onboarding/test_employee_onboarding.py
#	hrms/hr/doctype/employee_onboarding_template/employee_onboarding_template.json
#	hrms/hr/doctype/employee_onboarding_template/test_employee_onboarding_template.py
#	hrms/hr/doctype/employee_performance_feedback/employee_performance_feedback.json
#	hrms/hr/doctype/employee_performance_feedback/test_employee_performance_feedback.py
#	hrms/hr/doctype/employee_promotion/employee_promotion.json
#	hrms/hr/doctype/employee_promotion/test_employee_promotion.py
#	hrms/hr/doctype/employee_property_history/employee_property_history.json
#	hrms/hr/doctype/employee_referral/employee_referral.json
#	hrms/hr/doctype/employee_referral/test_employee_referral.py
#	hrms/hr/doctype/employee_separation/employee_separation.json
#	hrms/hr/doctype/employee_separation/test_employee_separation.py
#	hrms/hr/doctype/employee_separation_template/employee_separation_template.json
#	hrms/hr/doctype/employee_separation_template/test_employee_separation_template.py
#	hrms/hr/doctype/employee_skill/employee_skill.json
#	hrms/hr/doctype/employee_skill_map/employee_skill_map.json
#	hrms/hr/doctype/employee_training/employee_training.json
#	hrms/hr/doctype/employee_transfer/employee_transfer.json
#	hrms/hr/doctype/employee_transfer/test_employee_transfer.py
#	hrms/hr/doctype/employment_type/employment_type.json
#	hrms/hr/doctype/exit_interview/exit_interview.json
#	hrms/hr/doctype/exit_interview/exit_interview.py
#	hrms/hr/doctype/exit_interview/test_exit_interview.py
#	hrms/hr/doctype/expected_skill_set/expected_skill_set.json
#	hrms/hr/doctype/expense_claim/expense_claim.js
#	hrms/hr/doctype/expense_claim/expense_claim.json
#	hrms/hr/doctype/expense_claim/expense_claim.py
#	hrms/hr/doctype/expense_claim/expense_claim_list.js
#	hrms/hr/doctype/expense_claim/test_expense_claim.py
#	hrms/hr/doctype/expense_claim_account/expense_claim_account.json
#	hrms/hr/doctype/expense_claim_advance/expense_claim_advance.json
#	hrms/hr/doctype/expense_claim_detail/expense_claim_detail.json
#	hrms/hr/doctype/expense_claim_type/expense_claim_type.json
#	hrms/hr/doctype/expense_claim_type/test_expense_claim_type.py
#	hrms/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json
#	hrms/hr/doctype/full_and_final_asset/full_and_final_asset.json
#	hrms/hr/doctype/full_and_final_asset/test_full_and_final_asset.py
#	hrms/hr/doctype/full_and_final_outstanding_statement/full_and_final_outstanding_statement.json
#	hrms/hr/doctype/full_and_final_statement/full_and_final_statement.js
#	hrms/hr/doctype/full_and_final_statement/full_and_final_statement.json
#	hrms/hr/doctype/full_and_final_statement/full_and_final_statement.py
#	hrms/hr/doctype/full_and_final_statement/test_full_and_final_statement.py
#	hrms/hr/doctype/goal/goal.json
#	hrms/hr/doctype/goal/goal.py
#	hrms/hr/doctype/goal/goal_list.js
#	hrms/hr/doctype/goal/goal_tree.js
#	hrms/hr/doctype/goal/test_goal.py
#	hrms/hr/doctype/grievance_type/grievance_type.json
#	hrms/hr/doctype/grievance_type/test_grievance_type.py
#	hrms/hr/doctype/hr_settings/hr_settings.json
#	hrms/hr/doctype/hr_settings/test_hr_settings.py
#	hrms/hr/doctype/identification_document_type/identification_document_type.json
#	hrms/hr/doctype/identification_document_type/test_identification_document_type.py
#	hrms/hr/doctype/interest/interest.json
#	hrms/hr/doctype/interest/test_interest.py
#	hrms/hr/doctype/interview/interview.js
#	hrms/hr/doctype/interview/interview.json
#	hrms/hr/doctype/interview/interview.py
#	hrms/hr/doctype/interview/test_interview.py
#	hrms/hr/doctype/interview_detail/interview_detail.json
#	hrms/hr/doctype/interview_detail/interview_detail.py
#	hrms/hr/doctype/interview_feedback/interview_feedback.json
#	hrms/hr/doctype/interview_feedback/interview_feedback.py
#	hrms/hr/doctype/interview_feedback/test_interview_feedback.py
#	hrms/hr/doctype/interview_round/interview_round.json
#	hrms/hr/doctype/interview_round/interview_round.py
#	hrms/hr/doctype/interview_round/test_interview_round.py
#	hrms/hr/doctype/interview_type/interview_type.json
#	hrms/hr/doctype/interview_type/test_interview_type.py
#	hrms/hr/doctype/interviewer/interviewer.json
#	hrms/hr/doctype/job_applicant/job_applicant.json
#	hrms/hr/doctype/job_applicant/job_applicant.py
#	hrms/hr/doctype/job_applicant/job_applicant_dashboard.html
#	hrms/hr/doctype/job_applicant/test_job_applicant.py
#	hrms/hr/doctype/job_applicant_source/job_applicant_source.json
#	hrms/hr/doctype/job_applicant_source/test_job_applicant_source.py
#	hrms/hr/doctype/job_offer/job_offer.json
#	hrms/hr/doctype/job_offer/test_job_offer.py
#	hrms/hr/doctype/job_offer_term/job_offer_term.json
#	hrms/hr/doctype/job_offer_term_template/job_offer_term_template.json
#	hrms/hr/doctype/job_offer_term_template/test_job_offer_term_template.py
#	hrms/hr/doctype/job_opening/job_opening.json
#	hrms/hr/doctype/job_opening/job_opening.py
#	hrms/hr/doctype/job_opening/test_job_opening.py
#	hrms/hr/doctype/job_requisition/job_requisition.json
#	hrms/hr/doctype/job_requisition/test_job_requisition.py
#	hrms/hr/doctype/kra/kra.json
#	hrms/hr/doctype/kra/test_kra.py
#	hrms/hr/doctype/leave_allocation/leave_allocation.js
#	hrms/hr/doctype/leave_allocation/leave_allocation.json
#	hrms/hr/doctype/leave_allocation/test_earned_leaves.py
#	hrms/hr/doctype/leave_allocation/test_leave_allocation.py
#	hrms/hr/doctype/leave_application/leave_application.js
#	hrms/hr/doctype/leave_application/leave_application.json
#	hrms/hr/doctype/leave_application/leave_application.py
#	hrms/hr/doctype/leave_application/test_leave_application.py
#	hrms/hr/doctype/leave_block_list/leave_block_list.json
#	hrms/hr/doctype/leave_block_list/test_leave_block_list.py
#	hrms/hr/doctype/leave_block_list_allow/leave_block_list_allow.json
#	hrms/hr/doctype/leave_block_list_date/leave_block_list_date.json
#	hrms/hr/doctype/leave_control_panel/leave_control_panel.js
#	hrms/hr/doctype/leave_control_panel/leave_control_panel.json
#	hrms/hr/doctype/leave_control_panel/leave_control_panel.py
#	hrms/hr/doctype/leave_control_panel/test_leave_control_panel.py
#	hrms/hr/doctype/leave_encashment/leave_encashment.js
#	hrms/hr/doctype/leave_encashment/leave_encashment.json
#	hrms/hr/doctype/leave_encashment/leave_encashment.py
#	hrms/hr/doctype/leave_encashment/test_leave_encashment.py
#	hrms/hr/doctype/leave_ledger_entry/leave_ledger_entry.json
#	hrms/hr/doctype/leave_ledger_entry/test_leave_ledger_entry.py
#	hrms/hr/doctype/leave_period/leave_period.json
#	hrms/hr/doctype/leave_period/test_leave_period.py
#	hrms/hr/doctype/leave_policy/leave_policy.json
#	hrms/hr/doctype/leave_policy/test_leave_policy.py
#	hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.json
#	hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.py
#	hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment_list.js
#	hrms/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py
#	hrms/hr/doctype/leave_policy_detail/leave_policy_detail.json
#	hrms/hr/doctype/leave_policy_detail/test_leave_policy_detail.py
#	hrms/hr/doctype/leave_type/leave_type.json
#	hrms/hr/doctype/leave_type/leave_type.py
#	hrms/hr/doctype/leave_type/test_leave_type.py
#	hrms/hr/doctype/leave_type/test_records.json
#	hrms/hr/doctype/offer_term/offer_term.json
#	hrms/hr/doctype/offer_term/test_offer_term.py
#	hrms/hr/doctype/purpose_of_travel/purpose_of_travel.json
#	hrms/hr/doctype/purpose_of_travel/test_purpose_of_travel.py
#	hrms/hr/doctype/shift_assignment/shift_assignment.json
#	hrms/hr/doctype/shift_assignment/shift_assignment.py
#	hrms/hr/doctype/shift_assignment/test_shift_assignment.py
#	hrms/hr/doctype/shift_request/shift_request.json
#	hrms/hr/doctype/shift_request/shift_request.py
#	hrms/hr/doctype/shift_request/test_shift_request.py
#	hrms/hr/doctype/shift_type/shift_type.js
#	hrms/hr/doctype/shift_type/shift_type.json
#	hrms/hr/doctype/shift_type/shift_type.py
#	hrms/hr/doctype/shift_type/test_shift_type.py
#	hrms/hr/doctype/skill/skill.json
#	hrms/hr/doctype/skill_assessment/skill_assessment.json
#	hrms/hr/doctype/staffing_plan/staffing_plan.json
#	hrms/hr/doctype/staffing_plan/test_staffing_plan.py
#	hrms/hr/doctype/staffing_plan_detail/staffing_plan_detail.json
#	hrms/hr/doctype/training_event/test_training_event.py
#	hrms/hr/doctype/training_event/training_event.json
#	hrms/hr/doctype/training_event_employee/training_event_employee.json
#	hrms/hr/doctype/training_feedback/test_training_feedback.py
#	hrms/hr/doctype/training_feedback/training_feedback.json
#	hrms/hr/doctype/training_program/test_training_program.py
#	hrms/hr/doctype/training_program/training_program.json
#	hrms/hr/doctype/training_result/test_training_result.py
#	hrms/hr/doctype/training_result/training_result.json
#	hrms/hr/doctype/training_result_employee/training_result_employee.json
#	hrms/hr/doctype/travel_itinerary/travel_itinerary.json
#	hrms/hr/doctype/travel_request/test_travel_request.py
#	hrms/hr/doctype/travel_request/travel_request.json
#	hrms/hr/doctype/upload_attendance/test_upload_attendance.py
#	hrms/hr/doctype/upload_attendance/upload_attendance.js
#	hrms/hr/doctype/upload_attendance/upload_attendance.json
#	hrms/hr/doctype/vehicle_log/test_vehicle_log.py
#	hrms/hr/doctype/vehicle_log/vehicle_log.json
#	hrms/hr/doctype/vehicle_service/vehicle_service.json
#	hrms/hr/doctype/vehicle_service_item/test_vehicle_service_item.py
#	hrms/hr/doctype/vehicle_service_item/vehicle_service_item.json
#	hrms/hr/page/organizational_chart/organizational_chart.js
#	hrms/hr/page/organizational_chart/test_organizational_chart.py
#	hrms/hr/report/appraisal_overview/test_appraisal_overview.py
#	hrms/hr/report/employee_exits/test_employee_exits.py
#	hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py
#	hrms/hr/report/employee_hours_utilization_based_on_timesheet/test_employee_util.py
#	hrms/hr/report/employee_leave_balance/employee_leave_balance.py
#	hrms/hr/report/employee_leave_balance/test_employee_leave_balance.py
#	hrms/hr/report/employee_leave_balance_summary/test_employee_leave_balance_summary.py
#	hrms/hr/report/employees_working_on_a_holiday/test_employees_working_on_a_holiday.py
#	hrms/hr/report/monthly_attendance_sheet/test_monthly_attendance_sheet.py
#	hrms/hr/report/project_profitability/project_profitability.py
#	hrms/hr/report/project_profitability/test_project_profitability.py
#	hrms/hr/report/vehicle_expenses/test_vehicle_expenses.py
#	hrms/hr/utils.py
#	hrms/hr/workspace/leaves/leaves.json
#	hrms/hr/workspace/shift_&_attendance/shift_&_attendance.json
#	hrms/overrides/company.py
#	hrms/overrides/dashboard_overrides.py
#	hrms/overrides/employee_master.py
#	hrms/overrides/employee_payment_entry.py
#	hrms/patches.txt
#	hrms/patches/post_install/rename_stop_to_send_birthday_reminders.py
#	hrms/patches/v14_0/create_custom_field_in_loan.py
#	hrms/payroll/doctype/additional_salary/additional_salary.js
#	hrms/payroll/doctype/additional_salary/additional_salary.json
#	hrms/payroll/doctype/additional_salary/additional_salary.py
#	hrms/payroll/doctype/additional_salary/test_additional_salary.py
#	hrms/payroll/doctype/employee_benefit_application/employee_benefit_application.json
#	hrms/payroll/doctype/employee_benefit_application/employee_benefit_application.py
#	hrms/payroll/doctype/employee_benefit_application/test_employee_benefit_application.py
#	hrms/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.json
#	hrms/payroll/doctype/employee_benefit_claim/employee_benefit_claim.json
#	hrms/payroll/doctype/employee_benefit_claim/employee_benefit_claim.py
#	hrms/payroll/doctype/employee_benefit_claim/test_employee_benefit_claim.py
#	hrms/payroll/doctype/employee_cost_center/employee_cost_center.json
#	hrms/payroll/doctype/employee_incentive/employee_incentive.json
#	hrms/payroll/doctype/employee_incentive/test_employee_incentive.py
#	hrms/payroll/doctype/employee_other_income/employee_other_income.json
#	hrms/payroll/doctype/employee_other_income/test_employee_other_income.py
#	hrms/payroll/doctype/employee_tax_exemption_category/employee_tax_exemption_category.json
#	hrms/payroll/doctype/employee_tax_exemption_category/test_employee_tax_exemption_category.py
#	hrms/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.json
#	hrms/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py
#	hrms/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.json
#	hrms/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.js
#	hrms/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.json
#	hrms/payroll/doctype/employee_tax_exemption_proof_submission/test_employee_tax_exemption_proof_submission.py
#	hrms/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.json
#	hrms/payroll/doctype/employee_tax_exemption_sub_category/employee_tax_exemption_sub_category.json
#	hrms/payroll/doctype/employee_tax_exemption_sub_category/test_employee_tax_exemption_sub_category.py
#	hrms/payroll/doctype/gratuity/gratuity.json
#	hrms/payroll/doctype/gratuity/gratuity.py
#	hrms/payroll/doctype/gratuity/test_gratuity.py
#	hrms/payroll/doctype/gratuity_applicable_component/gratuity_applicable_component.json
#	hrms/payroll/doctype/gratuity_rule/gratuity_rule.json
#	hrms/payroll/doctype/gratuity_rule/test_gratuity_rule.py
#	hrms/payroll/doctype/gratuity_rule_slab/gratuity_rule_slab.json
#	hrms/payroll/doctype/income_tax_slab/income_tax_slab.js
#	hrms/payroll/doctype/income_tax_slab/income_tax_slab.json
#	hrms/payroll/doctype/income_tax_slab/test_income_tax_slab.py
#	hrms/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.json
#	hrms/payroll/doctype/payroll_employee_detail/payroll_employee_detail.json
#	hrms/payroll/doctype/payroll_entry/payroll_entry.js
#	hrms/payroll/doctype/payroll_entry/payroll_entry.json
#	hrms/payroll/doctype/payroll_entry/payroll_entry.py
#	hrms/payroll/doctype/payroll_entry/test_payroll_entry.py
#	hrms/payroll/doctype/payroll_period/payroll_period.json
#	hrms/payroll/doctype/payroll_period/payroll_period.py
#	hrms/payroll/doctype/payroll_period/test_payroll_period.py
#	hrms/payroll/doctype/payroll_period_date/payroll_period_date.json
#	hrms/payroll/doctype/payroll_settings/payroll_settings.json
#	hrms/payroll/doctype/payroll_settings/test_payroll_settings.py
#	hrms/payroll/doctype/retention_bonus/retention_bonus.json
#	hrms/payroll/doctype/retention_bonus/test_retention_bonus.py
#	hrms/payroll/doctype/salary_component/salary_component.js
#	hrms/payroll/doctype/salary_component/salary_component.json
#	hrms/payroll/doctype/salary_component/salary_component.py
#	hrms/payroll/doctype/salary_component/test_salary_component.py
#	hrms/payroll/doctype/salary_component_account/salary_component_account.json
#	hrms/payroll/doctype/salary_detail/salary_detail.json
#	hrms/payroll/doctype/salary_slip/salary_slip.json
#	hrms/payroll/doctype/salary_slip/salary_slip.py
#	hrms/payroll/doctype/salary_slip/test_salary_slip.py
#	hrms/payroll/doctype/salary_slip_leave/salary_slip_leave.json
#	hrms/payroll/doctype/salary_slip_loan/salary_slip_loan.json
#	hrms/payroll/doctype/salary_slip_timesheet/salary_slip_timesheet.json
#	hrms/payroll/doctype/salary_structure/salary_structure.js
#	hrms/payroll/doctype/salary_structure/salary_structure.json
#	hrms/payroll/doctype/salary_structure/salary_structure.py
#	hrms/payroll/doctype/salary_structure/test_salary_structure.py
#	hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.js
#	hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json
#	hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py
#	hrms/payroll/doctype/salary_structure_assignment/test_salary_structure_assignment.py
#	hrms/payroll/doctype/taxable_salary_slab/taxable_salary_slab.json
#	hrms/payroll/report/income_tax_computation/test_income_tax_computation.py
#	hrms/payroll/report/income_tax_deductions/test_income_tax_deductions.py
#	hrms/payroll/workspace/salary_payout/salary_payout.json
#	hrms/public/build.json
#	hrms/public/js/erpnext/journal_entry.js
#	hrms/public/js/hrms.bundle.js
#	hrms/public/js/performance.bundle.js
#	hrms/public/js/performance/performance_feedback.js
#	hrms/public/js/templates/rating.html
#	hrms/public/scss/hrms.bundle.scss
#	hrms/setup.py
#	hrms/subscription_utils.py
#	hrms/templates/generators/job_opening.html
#	hrms/tests/test_utils.py
#	hrms/utils/__init__.py
#	hrms/utils/holiday_list.py
#	pyproject.toml
@mergify mergify bot requested a review from ruchamahabal as a code owner December 12, 2024 11:42
@mergify mergify bot added the conflicts label Dec 12, 2024
Copy link
Contributor Author

mergify bot commented Dec 12, 2024

Cherry-pick of ce75e4e has failed:

On branch mergify/bp/version-14-hotfix/pr-2460
Your branch is ahead of 'origin/version-14-hotfix' by 1 commit.
  (use "git push" to publish your local commits)

You are currently cherry-picking commit ce75e4e9a.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   hrms/payroll/doctype/gratuity/gratuity.py

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   hrms/payroll/doctype/gratuity/gratuity.json

Cherry-pick of da17577 has failed:

On branch mergify/bp/version-14-hotfix/pr-2460
Your branch is ahead of 'origin/version-14-hotfix' by 2 commits.
  (use "git push" to publish your local commits)

You are currently cherry-picking commit da17577dc.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	new file:   .github/ISSUE_TEMPLATE/bug_report.yaml
	new file:   .github/ISSUE_TEMPLATE/config.yml
	new file:   .github/PULL_REQUEST_TEMPLATE.md
	new file:   .github/helper/update_pot_file.sh
	new file:   .github/try-on-f-cloud-button.svg
	new file:   .github/workflows/generate-pot-file.yml
	new file:   .github/workflows/initiate_release.yml
	new file:   .gitmodules
	new file:   CODE_OF_CONDUCT.md
	new file:   crowdin.yml
	new file:   frappe-ui
	new file:   frontend/.eslintrc.js
	new file:   frontend/.gitignore
	new file:   frontend/.prettierrc.json
	new file:   frontend/index.html
	new file:   frontend/ionic.config.json
	new file:   frontend/jsconfig.json
	new file:   frontend/package.json
	new file:   frontend/postcss.config.js
	new file:   frontend/public/favicon.png
	new file:   frontend/public/frappe-push-notification.js
	new file:   frontend/public/sw.js
	new file:   frontend/src/App.vue
	new file:   frontend/src/components/AttendanceCalendar.vue
	new file:   frontend/src/components/AttendanceRequestItem.vue
	new file:   frontend/src/components/BaseLayout.vue
	new file:   frontend/src/components/BottomTabs.vue
	new file:   frontend/src/components/CheckInPanel.vue
	new file:   frontend/src/components/CustomIonModal.vue
	new file:   frontend/src/components/EmployeeAdvanceBalance.vue
	new file:   frontend/src/components/EmployeeAdvanceItem.vue
	new file:   frontend/src/components/EmployeeAvatar.vue
	new file:   frontend/src/components/EmployeeCheckinItem.vue
	new file:   frontend/src/components/EmptyState.vue
	new file:   frontend/src/components/ExpenseAdvancesTable.vue
	new file:   frontend/src/components/ExpenseClaimItem.vue
	new file:   frontend/src/components/ExpenseClaimSummary.vue
	new file:   frontend/src/components/ExpenseItems.vue
	new file:   frontend/src/components/ExpenseTaxesTable.vue
	new file:   frontend/src/components/ExpensesTable.vue
	new file:   frontend/src/components/FilePreviewModal.vue
	new file:   frontend/src/components/FileUploaderView.vue
	new file:   frontend/src/components/FormField.vue
	new file:   frontend/src/components/FormView.vue
	new file:   frontend/src/components/FormattedField.vue
	new file:   frontend/src/components/Holidays.vue
	new file:   frontend/src/components/InstallPrompt.vue
	new file:   frontend/src/components/LeaveBalance.vue
	new file:   frontend/src/components/LeaveRequestItem.vue
	new file:   frontend/src/components/Link.vue
	new file:   frontend/src/components/ListFiltersActionSheet.vue
	new file:   frontend/src/components/ListItem.vue
	new file:   frontend/src/components/ListView.vue
	new file:   frontend/src/components/ProfileInfoModal.vue
	new file:   frontend/src/components/QuickLinks.vue
	new file:   frontend/src/components/RequestActionSheet.vue
	new file:   frontend/src/components/RequestList.vue
	new file:   frontend/src/components/RequestPanel.vue
	new file:   frontend/src/components/SalaryDetailTable.vue
	new file:   frontend/src/components/SalarySlipItem.vue
	new file:   frontend/src/components/SemicircleChart.vue
	new file:   frontend/src/components/ShiftAssignmentItem.vue
	new file:   frontend/src/components/ShiftRequestItem.vue
	new file:   frontend/src/components/TabButtons.vue
	new file:   frontend/src/components/WorkflowActionSheet.vue
	new file:   frontend/src/components/icons/AttendanceIcon.vue
	new file:   frontend/src/components/icons/EmployeeAdvanceIcon.vue
	new file:   frontend/src/components/icons/ExpenseIcon.vue
	new file:   frontend/src/components/icons/FrappeHRLogo.vue
	new file:   frontend/src/components/icons/FrappeHRLogoType.vue
	new file:   frontend/src/components/icons/HomeIcon.vue
	new file:   frontend/src/components/icons/LeaveIcon.vue
	new file:   frontend/src/components/icons/SalaryIcon.vue
	new file:   frontend/src/components/icons/ShiftIcon.vue
	new file:   frontend/src/composables/index.js
	new file:   frontend/src/composables/realtime.js
	new file:   frontend/src/composables/workflow.js
	new file:   frontend/src/data/advances.js
	new file:   frontend/src/data/attendance.js
	new file:   frontend/src/data/claims.js
	new file:   frontend/src/data/config/requestSummaryFields.js
	new file:   frontend/src/data/currencies.js
	new file:   frontend/src/data/employee.js
	new file:   frontend/src/data/employees.js
	new file:   frontend/src/data/leaves.js
	new file:   frontend/src/data/notifications.js
	new file:   frontend/src/data/session.js
	new file:   frontend/src/data/user.js
	new file:   frontend/src/main.css
	new file:   frontend/src/main.js
	new file:   frontend/src/plugins/translationsPlugin.js
	new file:   frontend/src/router/advances.js
	new file:   frontend/src/router/attendance.js
	new file:   frontend/src/router/claims.js
	new file:   frontend/src/router/index.js
	new file:   frontend/src/router/leaves.js
	new file:   frontend/src/router/salary_slips.js
	new file:   frontend/src/socket.js
	new file:   frontend/src/theme/variables.css
	new file:   frontend/src/utils/dayjs.js
	new file:   frontend/src/utils/dialogs.js
	new file:   frontend/src/utils/formatters.js
	new file:   frontend/src/utils/ionicConfig.js
	new file:   frontend/src/utils/pushNotifications.js
	new file:   frontend/src/views/AppSettings.vue
	new file:   frontend/src/views/Home.vue
	new file:   frontend/src/views/InvalidEmployee.vue
	new file:   frontend/src/views/Login.vue
	new file:   frontend/src/views/Notifications.vue
	new file:   frontend/src/views/Profile.vue
	new file:   frontend/src/views/TabbedView.vue
	new file:   frontend/src/views/attendance/AttendanceRequestForm.vue
	new file:   frontend/src/views/attendance/AttendanceRequestList.vue
	new file:   frontend/src/views/attendance/Dashboard.vue
	new file:   frontend/src/views/attendance/EmployeeCheckinList.vue
	new file:   frontend/src/views/attendance/ShiftAssignmentForm.vue
	new file:   frontend/src/views/attendance/ShiftAssignmentList.vue
	new file:   frontend/src/views/attendance/ShiftRequestForm.vue
	new file:   frontend/src/views/attendance/ShiftRequestList.vue
	new file:   frontend/src/views/employee_advance/Form.vue
	new file:   frontend/src/views/employee_advance/List.vue
	new file:   frontend/src/views/expense_claim/Dashboard.vue
	new file:   frontend/src/views/expense_claim/Form.vue
	new file:   frontend/src/views/expense_claim/List.vue
	new file:   frontend/src/views/leave/Dashboard.vue
	new file:   frontend/src/views/leave/Form.vue
	new file:   frontend/src/views/leave/List.vue
	new file:   frontend/src/views/salary_slip/Dashboard.vue
	new file:   frontend/src/views/salary_slip/Detail.vue
	new file:   frontend/tailwind.config.js
	new file:   frontend/vite.config.js
	new file:   frontend/yarn.lock
	new file:   hrms/api/__init__.py
	new file:   hrms/api/oauth.py
	new file:   hrms/api/roster.py
	new file:   hrms/hr/doctype/pwa_notification/__init__.py
	new file:   hrms/hr/doctype/pwa_notification/pwa_notification.js
	new file:   hrms/hr/doctype/pwa_notification/pwa_notification.json
	new file:   hrms/hr/doctype/pwa_notification/pwa_notification.py
	new file:   hrms/hr/doctype/pwa_notification/test_pwa_notification.py
	new file:   hrms/hr/doctype/shift_assignment/shift_assignment_list.js
	new file:   hrms/hr/doctype/shift_assignment_schedule/__init__.py
	new file:   hrms/hr/doctype/shift_assignment_schedule/shift_assignment_schedule.js
	new file:   hrms/hr/doctype/shift_assignment_schedule/shift_assignment_schedule.json
	new file:   hrms/hr/doctype/shift_assignment_schedule/shift_assignment_schedule.py
	new file:   hrms/hr/doctype/shift_assignment_schedule/test_shift_assignment_schedule.py
	new file:   hrms/hr/doctype/shift_assignment_tool/__init__.py
	new file:   hrms/hr/doctype/shift_assignment_tool/shift_assignment_tool.js
	new file:   hrms/hr/doctype/shift_assignment_tool/shift_assignment_tool.json
	new file:   hrms/hr/doctype/shift_assignment_tool/shift_assignment_tool.py
	new file:   hrms/hr/doctype/shift_assignment_tool/test_shift_assignment_tool.py
	new file:   hrms/hr/doctype/shift_location/__init__.py
	new file:   hrms/hr/doctype/shift_location/shift_location.js
	new file:   hrms/hr/doctype/shift_location/shift_location.json
	new file:   hrms/hr/doctype/shift_location/shift_location.py
	new file:   hrms/hr/doctype/shift_location/test_shift_location.py
	new file:   hrms/hr/doctype/shift_request/shift_request_list.js
	new file:   hrms/hr/doctype/shift_type/shift_type_list.js
	new file:   hrms/hr/report/leave_ledger/__init__.py
	new file:   hrms/hr/report/leave_ledger/leave_ledger.js
	new file:   hrms/hr/report/leave_ledger/leave_ledger.json
	new file:   hrms/hr/report/leave_ledger/leave_ledger.py
	new file:   hrms/hr/report/leave_ledger/test_leave_ledger.py
	new file:   hrms/hr/report/shift_attendance/__init__.py
	new file:   hrms/hr/report/shift_attendance/shift_attendance.js
	new file:   hrms/hr/report/shift_attendance/shift_attendance.json
	new file:   hrms/hr/report/shift_attendance/shift_attendance.py
	new file:   hrms/hr/report/shift_attendance/test_shift_attendance.py
	new file:   hrms/locale/af.po
	new file:   hrms/locale/ar.po
	new file:   hrms/locale/bs.po
	new file:   hrms/locale/de.po
	new file:   hrms/locale/eo.po
	new file:   hrms/locale/es.po
	new file:   hrms/locale/fa.po
	new file:   hrms/locale/fi.po
	new file:   hrms/locale/fr.po
	new file:   hrms/locale/hu.po
	new file:   hrms/locale/id.po
	new file:   hrms/locale/it.po
	new file:   hrms/locale/main.pot
	new file:   hrms/locale/nl.po
	new file:   hrms/locale/pl.po
	new file:   hrms/locale/pt.po
	new file:   hrms/locale/pt_BR.po
	new file:   hrms/locale/ru.po
	new file:   hrms/locale/sv.po
	new file:   hrms/locale/tr.po
	new file:   hrms/locale/vi.po
	new file:   hrms/locale/zh.po
	new file:   hrms/locale/zh_TW.po
	new file:   hrms/mixins/pwa_notifications.py
	new file:   hrms/patches/v15_0/add_loan_docperms_to_ess.py
	new file:   hrms/patches/v15_0/check_version_compatibility_with_frappe.py
	new file:   hrms/patches/v15_0/enable_allow_checkin_setting.py
	new file:   hrms/patches/v15_0/make_hr_settings_tab_in_company_master.py
	new file:   hrms/patches/v15_0/migrate_loan_type_to_loan_product.py
	new file:   hrms/patches/v15_0/notify_about_loan_app_separation.py
	new file:   hrms/patches/v15_0/rename_and_update_leave_encashment_fields.py
	new file:   hrms/patches/v15_0/rename_enable_late_entry_early_exit_grace_period.py
	new file:   hrms/patches/v15_0/set_default_asset_action_in_fnf.py
	new file:   hrms/payroll/doctype/bulk_salary_structure_assignment/__init__.py
	new file:   hrms/payroll/doctype/bulk_salary_structure_assignment/bulk_salary_structure_assignment.js
	new file:   hrms/payroll/doctype/bulk_salary_structure_assignment/bulk_salary_structure_assignment.json
	new file:   hrms/payroll/doctype/bulk_salary_structure_assignment/bulk_salary_structure_assignment.py
	new file:   hrms/payroll/doctype/bulk_salary_structure_assignment/test_bulk_salary_structure_assignment.py
	new file:   hrms/payroll/doctype/salary_slip/salary_slip_loan_utils.py
	new file:   hrms/payroll/doctype/salary_structure/salary_structure_list.js
	new file:   hrms/payroll/doctype/salary_withholding/__init__.py
	new file:   hrms/payroll/doctype/salary_withholding/salary_withholding.js
	new file:   hrms/payroll/doctype/salary_withholding/salary_withholding.json
	new file:   hrms/payroll/doctype/salary_withholding/salary_withholding.py
	new file:   hrms/payroll/doctype/salary_withholding/test_salary_withholding.py
	new file:   hrms/payroll/doctype/salary_withholding_cycle/__init__.py
	new file:   hrms/payroll/doctype/salary_withholding_cycle/salary_withholding_cycle.json
	new file:   hrms/payroll/doctype/salary_withholding_cycle/salary_withholding_cycle.py
	new file:   hrms/public/images/frappe-hr-logo.png
	new file:   hrms/public/images/frappe-hr-logo.svg
	new file:   hrms/public/js/hierarchy-chart.bundle.js
	new file:   hrms/public/js/hierarchy_chart/hierarchy_chart_desktop.js
	new file:   hrms/public/js/hierarchy_chart/hierarchy_chart_mobile.js
	new file:   hrms/public/js/interview.bundle.js
	new file:   hrms/public/js/templates/circular_progress_bar.html
	new file:   hrms/public/js/templates/feedback_history.html
	new file:   hrms/public/js/templates/feedback_summary.html
	new file:   hrms/public/js/templates/interview_feedback.html
	new file:   hrms/public/js/templates/node_card.html
	new file:   hrms/public/js/templates/performance_feedback.html
	new file:   hrms/public/js/utils/index.js
	new file:   hrms/public/js/utils/leave_utils.js
	new file:   hrms/public/js/utils/payroll_utils.js
	new file:   hrms/public/manifest/apple-icon-180.png
	new file:   hrms/public/manifest/apple-splash-1125-2436.jpg
	new file:   hrms/public/manifest/apple-splash-1136-640.jpg
	new file:   hrms/public/manifest/apple-splash-1170-2532.jpg
	new file:   hrms/public/manifest/apple-splash-1179-2556.jpg
	new file:   hrms/public/manifest/apple-splash-1242-2208.jpg
	new file:   hrms/public/manifest/apple-splash-1242-2688.jpg
	new file:   hrms/public/manifest/apple-splash-1284-2778.jpg
	new file:   hrms/public/manifest/apple-splash-1290-2796.jpg
	new file:   hrms/public/manifest/apple-splash-1334-750.jpg
	new file:   hrms/public/manifest/apple-splash-1536-2048.jpg
	new file:   hrms/public/manifest/apple-splash-1620-2160.jpg
	new file:   hrms/public/manifest/apple-splash-1668-2224.jpg
	new file:   hrms/public/manifest/apple-splash-1668-2388.jpg
	new file:   hrms/public/manifest/apple-splash-1792-828.jpg
	new file:   hrms/public/manifest/apple-splash-2048-1536.jpg
	new file:   hrms/public/manifest/apple-splash-2048-2732.jpg
	new file:   hrms/public/manifest/apple-splash-2160-1620.jpg
	new file:   hrms/public/manifest/apple-splash-2208-1242.jpg
	new file:   hrms/public/manifest/apple-splash-2224-1668.jpg
	new file:   hrms/public/manifest/apple-splash-2388-1668.jpg
	new file:   hrms/public/manifest/apple-splash-2436-1125.jpg
	new file:   hrms/public/manifest/apple-splash-2532-1170.jpg
	new file:   hrms/public/manifest/apple-splash-2556-1179.jpg
	new file:   hrms/public/manifest/apple-splash-2688-1242.jpg
	new file:   hrms/public/manifest/apple-splash-2732-2048.jpg
	new file:   hrms/public/manifest/apple-splash-2778-1284.jpg
	new file:   hrms/public/manifest/apple-splash-2796-1290.jpg
	new file:   hrms/public/manifest/apple-splash-640-1136.jpg
	new file:   hrms/public/manifest/apple-splash-750-1334.jpg
	new file:   hrms/public/manifest/apple-splash-828-1792.jpg
	new file:   hrms/public/manifest/favicon-196.png
	new file:   hrms/public/manifest/frappe-hr-logo.svg
	new file:   hrms/public/manifest/manifest-icon-192.maskable.png
	new file:   hrms/public/manifest/manifest-icon-512.maskable.png
	new file:   hrms/public/scss/circular_progress.scss
	new file:   hrms/public/scss/feedback.scss
	new file:   hrms/public/scss/hierarchy_chart.scss
	new file:   hrms/utils/hierarchy_chart.py
	new file:   hrms/www/hrms.py
	new file:   hrms/www/jobs/__init__.py
	new file:   hrms/www/jobs/index.css
	new file:   hrms/www/jobs/index.html
	new file:   hrms/www/jobs/index.js
	new file:   hrms/www/jobs/index.py
	new file:   hrms/www/roster.py
	new file:   package.json
	new file:   roster/.gitignore
	new file:   roster/index.d.ts
	new file:   roster/index.html
	new file:   roster/package.json
	new file:   roster/postcss.config.js
	new file:   roster/public/favicon.png
	new file:   roster/src/App.vue
	new file:   roster/src/components/MonthViewHeader.vue
	new file:   roster/src/components/MonthViewTable.vue
	new file:   roster/src/components/NavBar.vue
	new file:   roster/src/components/ShiftAssignmentDialog.vue
	new file:   roster/src/index.css
	new file:   roster/src/main.ts
	new file:   roster/src/router.ts
	new file:   roster/src/utils/dayjs.ts
	new file:   roster/src/utils/index.ts
	new file:   roster/src/views/Home.vue
	new file:   roster/src/views/MonthView.vue
	new file:   roster/tailwind.config.js
	new file:   roster/tsconfig.json
	new file:   roster/vite.config.js
	new file:   roster/yarn.lock
	new file:   yarn.lock

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both added:      .editorconfig
	both added:      .git-blame-ignore-revs
	both added:      .github/helper/install.sh
	both added:      .github/helper/site_config.json
	both added:      .github/labeler.yml
	both added:      .github/workflows/ci.yml
	both added:      .github/workflows/linters.yml
	both added:      .gitignore
	both added:      .mergify.yml
	both added:      .pre-commit-config.yaml
	both added:      MANIFEST.in
	both added:      README.md
	both added:      hrms/__init__.py
	both added:      hrms/controllers/tests/test_employee_reminders.py
	both added:      hrms/hooks.py
	both added:      hrms/hr/doctype/appointment_letter/appointment_letter.json
	both added:      hrms/hr/doctype/appointment_letter/test_appointment_letter.py
	both added:      hrms/hr/doctype/appointment_letter_content/appointment_letter_content.json
	both added:      hrms/hr/doctype/appointment_letter_template/appointment_letter_template.json
	both added:      hrms/hr/doctype/appointment_letter_template/test_appointment_letter_template.py
	both added:      hrms/hr/doctype/appraisal/appraisal.json
	both added:      hrms/hr/doctype/appraisal/appraisal.py
	both added:      hrms/hr/doctype/appraisal/test_appraisal.py
	both added:      hrms/hr/doctype/appraisal_cycle/appraisal_cycle.js
	both added:      hrms/hr/doctype/appraisal_cycle/appraisal_cycle.json
	both added:      hrms/hr/doctype/appraisal_cycle/appraisal_cycle.py
	both added:      hrms/hr/doctype/appraisal_cycle/test_appraisal_cycle.py
	both added:      hrms/hr/doctype/appraisal_goal/appraisal_goal.json
	both added:      hrms/hr/doctype/appraisal_kra/appraisal_kra.json
	both added:      hrms/hr/doctype/appraisal_template/appraisal_template.json
	both added:      hrms/hr/doctype/appraisal_template/test_appraisal_template.py
	both added:      hrms/hr/doctype/appraisal_template_goal/appraisal_template_goal.json
	both added:      hrms/hr/doctype/appraisee/appraisee.json
	both added:      hrms/hr/doctype/attendance/attendance.json
	both added:      hrms/hr/doctype/attendance/test_attendance.py
	both added:      hrms/hr/doctype/attendance_request/attendance_request.json
	both added:      hrms/hr/doctype/attendance_request/attendance_request.py
	both added:      hrms/hr/doctype/attendance_request/test_attendance_request.py
	both added:      hrms/hr/doctype/compensatory_leave_request/compensatory_leave_request.json
	both added:      hrms/hr/doctype/compensatory_leave_request/test_compensatory_leave_request.py
	both added:      hrms/hr/doctype/daily_work_summary/daily_work_summary.json
	both added:      hrms/hr/doctype/daily_work_summary/test_daily_work_summary.py
	both added:      hrms/hr/doctype/daily_work_summary_group/daily_work_summary_group.json
	both added:      hrms/hr/doctype/daily_work_summary_group_user/daily_work_summary_group_user.json
	both added:      hrms/hr/doctype/department_approver/department_approver.json
	both added:      hrms/hr/doctype/designation_skill/designation_skill.json
	both added:      hrms/hr/doctype/employee_advance/employee_advance.js
	both added:      hrms/hr/doctype/employee_advance/employee_advance.json
	both added:      hrms/hr/doctype/employee_advance/employee_advance.py
	both added:      hrms/hr/doctype/employee_advance/test_employee_advance.py
	both added:      hrms/hr/doctype/employee_attendance_tool/employee_attendance_tool.js
	both added:      hrms/hr/doctype/employee_attendance_tool/employee_attendance_tool.json
	both added:      hrms/hr/doctype/employee_attendance_tool/test_employee_attendance_tool.py
	both added:      hrms/hr/doctype/employee_boarding_activity/employee_boarding_activity.json
	both added:      hrms/hr/doctype/employee_checkin/employee_checkin.js
	both added:      hrms/hr/doctype/employee_checkin/employee_checkin.json
	both added:      hrms/hr/doctype/employee_checkin/employee_checkin.py
	both added:      hrms/hr/doctype/employee_checkin/test_employee_checkin.py
	both added:      hrms/hr/doctype/employee_feedback_criteria/employee_feedback_criteria.json
	both added:      hrms/hr/doctype/employee_feedback_criteria/test_employee_feedback_criteria.py
	both added:      hrms/hr/doctype/employee_feedback_rating/employee_feedback_rating.json
	both added:      hrms/hr/doctype/employee_grade/employee_grade.json
	both added:      hrms/hr/doctype/employee_grade/test_employee_grade.py
	both added:      hrms/hr/doctype/employee_grievance/employee_grievance.json
	both added:      hrms/hr/doctype/employee_grievance/test_employee_grievance.py
	both added:      hrms/hr/doctype/employee_health_insurance/employee_health_insurance.json
	both added:      hrms/hr/doctype/employee_health_insurance/test_employee_health_insurance.py
	both added:      hrms/hr/doctype/employee_onboarding/employee_onboarding.json
	both added:      hrms/hr/doctype/employee_onboarding/test_employee_onboarding.py
	both added:      hrms/hr/doctype/employee_onboarding_template/employee_onboarding_template.json
	both added:      hrms/hr/doctype/employee_onboarding_template/test_employee_onboarding_template.py
	both added:      hrms/hr/doctype/employee_performance_feedback/employee_performance_feedback.json
	both added:      hrms/hr/doctype/employee_performance_feedback/test_employee_performance_feedback.py
	both added:      hrms/hr/doctype/employee_promotion/employee_promotion.json
	both added:      hrms/hr/doctype/employee_promotion/test_employee_promotion.py
	both added:      hrms/hr/doctype/employee_property_history/employee_property_history.json
	both added:      hrms/hr/doctype/employee_referral/employee_referral.json
	both added:      hrms/hr/doctype/employee_referral/test_employee_referral.py
	both added:      hrms/hr/doctype/employee_separation/employee_separation.json
	both added:      hrms/hr/doctype/employee_separation/test_employee_separation.py
	both added:      hrms/hr/doctype/employee_separation_template/employee_separation_template.json
	both added:      hrms/hr/doctype/employee_separation_template/test_employee_separation_template.py
	both added:      hrms/hr/doctype/employee_skill/employee_skill.json
	both added:      hrms/hr/doctype/employee_skill_map/employee_skill_map.json
	both added:      hrms/hr/doctype/employee_training/employee_training.json
	both added:      hrms/hr/doctype/employee_transfer/employee_transfer.json
	both added:      hrms/hr/doctype/employee_transfer/test_employee_transfer.py
	both added:      hrms/hr/doctype/employment_type/employment_type.json
	both added:      hrms/hr/doctype/exit_interview/exit_interview.json
	both added:      hrms/hr/doctype/exit_interview/exit_interview.py
	both added:      hrms/hr/doctype/exit_interview/test_exit_interview.py
	both added:      hrms/hr/doctype/expected_skill_set/expected_skill_set.json
	both added:      hrms/hr/doctype/expense_claim/expense_claim.js
	both added:      hrms/hr/doctype/expense_claim/expense_claim.json
	both added:      hrms/hr/doctype/expense_claim/expense_claim.py
	both added:      hrms/hr/doctype/expense_claim/expense_claim_list.js
	both added:      hrms/hr/doctype/expense_claim/test_expense_claim.py
	both added:      hrms/hr/doctype/expense_claim_account/expense_claim_account.json
	both added:      hrms/hr/doctype/expense_claim_advance/expense_claim_advance.json
	both added:      hrms/hr/doctype/expense_claim_detail/expense_claim_detail.json
	both added:      hrms/hr/doctype/expense_claim_type/expense_claim_type.json
	both added:      hrms/hr/doctype/expense_claim_type/test_expense_claim_type.py
	both added:      hrms/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json
	both added:      hrms/hr/doctype/full_and_final_asset/full_and_final_asset.json
	both added:      hrms/hr/doctype/full_and_final_asset/test_full_and_final_asset.py
	both added:      hrms/hr/doctype/full_and_final_outstanding_statement/full_and_final_outstanding_statement.json
	both added:      hrms/hr/doctype/full_and_final_statement/full_and_final_statement.js
	both added:      hrms/hr/doctype/full_and_final_statement/full_and_final_statement.json
	both added:      hrms/hr/doctype/full_and_final_statement/full_and_final_statement.py
	both added:      hrms/hr/doctype/full_and_final_statement/test_full_and_final_statement.py
	both added:      hrms/hr/doctype/goal/goal.json
	both added:      hrms/hr/doctype/goal/goal.py
	both added:      hrms/hr/doctype/goal/goal_list.js
	both added:      hrms/hr/doctype/goal/goal_tree.js
	both added:      hrms/hr/doctype/goal/test_goal.py
	both added:      hrms/hr/doctype/grievance_type/grievance_type.json
	both added:      hrms/hr/doctype/grievance_type/test_grievance_type.py
	both added:      hrms/hr/doctype/hr_settings/hr_settings.json
	both added:      hrms/hr/doctype/hr_settings/test_hr_settings.py
	both added:      hrms/hr/doctype/identification_document_type/identification_document_type.json
	both added:      hrms/hr/doctype/identification_document_type/test_identification_document_type.py
	both added:      hrms/hr/doctype/interest/interest.json
	both added:      hrms/hr/doctype/interest/test_interest.py
	both added:      hrms/hr/doctype/interview/interview.js
	both added:      hrms/hr/doctype/interview/interview.json
	both added:      hrms/hr/doctype/interview/interview.py
	both added:      hrms/hr/doctype/interview/test_interview.py
	both added:      hrms/hr/doctype/interview_detail/interview_detail.json
	both added:      hrms/hr/doctype/interview_detail/interview_detail.py
	both added:      hrms/hr/doctype/interview_feedback/interview_feedback.json
	both added:      hrms/hr/doctype/interview_feedback/interview_feedback.py
	both added:      hrms/hr/doctype/interview_feedback/test_interview_feedback.py
	both added:      hrms/hr/doctype/interview_round/interview_round.json
	both added:      hrms/hr/doctype/interview_round/interview_round.py
	both added:      hrms/hr/doctype/interview_round/test_interview_round.py
	both added:      hrms/hr/doctype/interview_type/interview_type.json
	both added:      hrms/hr/doctype/interview_type/test_interview_type.py
	both added:      hrms/hr/doctype/interviewer/interviewer.json
	both added:      hrms/hr/doctype/job_applicant/job_applicant.json
	both added:      hrms/hr/doctype/job_applicant/job_applicant.py
	both added:      hrms/hr/doctype/job_applicant/job_applicant_dashboard.html
	both added:      hrms/hr/doctype/job_applicant/test_job_applicant.py
	both added:      hrms/hr/doctype/job_applicant_source/job_applicant_source.json
	both added:      hrms/hr/doctype/job_applicant_source/test_job_applicant_source.py
	both added:      hrms/hr/doctype/job_offer/job_offer.json
	both added:      hrms/hr/doctype/job_offer/test_job_offer.py
	both added:      hrms/hr/doctype/job_offer_term/job_offer_term.json
	both added:      hrms/hr/doctype/job_offer_term_template/job_offer_term_template.json
	both added:      hrms/hr/doctype/job_offer_term_template/test_job_offer_term_template.py
	both added:      hrms/hr/doctype/job_opening/job_opening.json
	both added:      hrms/hr/doctype/job_opening/job_opening.py
	both added:      hrms/hr/doctype/job_opening/test_job_opening.py
	both added:      hrms/hr/doctype/job_requisition/job_requisition.json
	both added:      hrms/hr/doctype/job_requisition/test_job_requisition.py
	both added:      hrms/hr/doctype/kra/kra.json
	both added:      hrms/hr/doctype/kra/test_kra.py
	both added:      hrms/hr/doctype/leave_allocation/leave_allocation.js
	both added:      hrms/hr/doctype/leave_allocation/leave_allocation.json
	both added:      hrms/hr/doctype/leave_allocation/test_earned_leaves.py
	both added:      hrms/hr/doctype/leave_allocation/test_leave_allocation.py
	both added:      hrms/hr/doctype/leave_application/leave_application.js
	both added:      hrms/hr/doctype/leave_application/leave_application.json
	both added:      hrms/hr/doctype/leave_application/leave_application.py
	both added:      hrms/hr/doctype/leave_application/test_leave_application.py
	both added:      hrms/hr/doctype/leave_block_list/leave_block_list.json
	both added:      hrms/hr/doctype/leave_block_list/test_leave_block_list.py
	both added:      hrms/hr/doctype/leave_block_list_allow/leave_block_list_allow.json
	both added:      hrms/hr/doctype/leave_block_list_date/leave_block_list_date.json
	both added:      hrms/hr/doctype/leave_control_panel/leave_control_panel.js
	both added:      hrms/hr/doctype/leave_control_panel/leave_control_panel.json
	both added:      hrms/hr/doctype/leave_control_panel/leave_control_panel.py
	both added:      hrms/hr/doctype/leave_control_panel/test_leave_control_panel.py
	both added:      hrms/hr/doctype/leave_encashment/leave_encashment.js
	both added:      hrms/hr/doctype/leave_encashment/leave_encashment.json
	both added:      hrms/hr/doctype/leave_encashment/leave_encashment.py
	both added:      hrms/hr/doctype/leave_encashment/test_leave_encashment.py
	both added:      hrms/hr/doctype/leave_ledger_entry/leave_ledger_entry.json
	both added:      hrms/hr/doctype/leave_ledger_entry/test_leave_ledger_entry.py
	both added:      hrms/hr/doctype/leave_period/leave_period.json
	both added:      hrms/hr/doctype/leave_period/test_leave_period.py
	both added:      hrms/hr/doctype/leave_policy/leave_policy.json
	both added:      hrms/hr/doctype/leave_policy/test_leave_policy.py
	both added:      hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.json
	both added:      hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.py
	both added:      hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment_list.js
	both added:      hrms/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py
	both added:      hrms/hr/doctype/leave_policy_detail/leave_policy_detail.json
	both added:      hrms/hr/doctype/leave_policy_detail/test_leave_policy_detail.py
	both added:      hrms/hr/doctype/leave_type/leave_type.json
	both added:      hrms/hr/doctype/leave_type/leave_type.py
	both added:      hrms/hr/doctype/leave_type/test_leave_type.py
	both added:      hrms/hr/doctype/leave_type/test_records.json
	both added:      hrms/hr/doctype/offer_term/offer_term.json
	both added:      hrms/hr/doctype/offer_term/test_offer_term.py
	both added:      hrms/hr/doctype/purpose_of_travel/purpose_of_travel.json
	both added:      hrms/hr/doctype/purpose_of_travel/test_purpose_of_travel.py
	both added:      hrms/hr/doctype/shift_assignment/shift_assignment.json
	both added:      hrms/hr/doctype/shift_assignment/shift_assignment.py
	both added:      hrms/hr/doctype/shift_assignment/test_shift_assignment.py
	both added:      hrms/hr/doctype/shift_request/shift_request.json
	both added:      hrms/hr/doctype/shift_request/shift_request.py
	both added:      hrms/hr/doctype/shift_request/test_shift_request.py
	both added:      hrms/hr/doctype/shift_type/shift_type.js
	both added:      hrms/hr/doctype/shift_type/shift_type.json
	both added:      hrms/hr/doctype/shift_type/shift_type.py
	both added:      hrms/hr/doctype/shift_type/test_shift_type.py
	both added:      hrms/hr/doctype/skill/skill.json
	both added:      hrms/hr/doctype/skill_assessment/skill_assessment.json
	both added:      hrms/hr/doctype/staffing_plan/staffing_plan.json
	both added:      hrms/hr/doctype/staffing_plan/test_staffing_plan.py
	both added:      hrms/hr/doctype/staffing_plan_detail/staffing_plan_detail.json
	both added:      hrms/hr/doctype/training_event/test_training_event.py
	both added:      hrms/hr/doctype/training_event/training_event.json
	both added:      hrms/hr/doctype/training_event_employee/training_event_employee.json
	both added:      hrms/hr/doctype/training_feedback/test_training_feedback.py
	both added:      hrms/hr/doctype/training_feedback/training_feedback.json
	both added:      hrms/hr/doctype/training_program/test_training_program.py
	both added:      hrms/hr/doctype/training_program/training_program.json
	both added:      hrms/hr/doctype/training_result/test_training_result.py
	both added:      hrms/hr/doctype/training_result/training_result.json
	both added:      hrms/hr/doctype/training_result_employee/training_result_employee.json
	both added:      hrms/hr/doctype/travel_itinerary/travel_itinerary.json
	both added:      hrms/hr/doctype/travel_request/test_travel_request.py
	both added:      hrms/hr/doctype/travel_request/travel_request.json
	both added:      hrms/hr/doctype/upload_attendance/test_upload_attendance.py
	both added:      hrms/hr/doctype/upload_attendance/upload_attendance.js
	both added:      hrms/hr/doctype/upload_attendance/upload_attendance.json
	both added:      hrms/hr/doctype/vehicle_log/test_vehicle_log.py
	both added:      hrms/hr/doctype/vehicle_log/vehicle_log.json
	both added:      hrms/hr/doctype/vehicle_service/vehicle_service.json
	both added:      hrms/hr/doctype/vehicle_service_item/test_vehicle_service_item.py
	both added:      hrms/hr/doctype/vehicle_service_item/vehicle_service_item.json
	both added:      hrms/hr/page/organizational_chart/organizational_chart.js
	both added:      hrms/hr/page/organizational_chart/test_organizational_chart.py
	both added:      hrms/hr/report/appraisal_overview/test_appraisal_overview.py
	both added:      hrms/hr/report/employee_exits/test_employee_exits.py
	both added:      hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py
	both added:      hrms/hr/report/employee_hours_utilization_based_on_timesheet/test_employee_util.py
	both added:      hrms/hr/report/employee_leave_balance/employee_leave_balance.py
	both added:      hrms/hr/report/employee_leave_balance/test_employee_leave_balance.py
	both added:      hrms/hr/report/employee_leave_balance_summary/test_employee_leave_balance_summary.py
	both added:      hrms/hr/report/employees_working_on_a_holiday/test_employees_working_on_a_holiday.py
	both added:      hrms/hr/report/monthly_attendance_sheet/test_monthly_attendance_sheet.py
	both added:      hrms/hr/report/project_profitability/project_profitability.py
	both added:      hrms/hr/report/project_profitability/test_project_profitability.py
	both added:      hrms/hr/report/vehicle_expenses/test_vehicle_expenses.py
	both added:      hrms/hr/utils.py
	both added:      hrms/hr/workspace/leaves/leaves.json
	both added:      hrms/hr/workspace/shift_&_attendance/shift_&_attendance.json
	both added:      hrms/overrides/company.py
	both added:      hrms/overrides/dashboard_overrides.py
	both added:      hrms/overrides/employee_master.py
	both added:      hrms/overrides/employee_payment_entry.py
	both added:      hrms/patches.txt
	both added:      hrms/patches/post_install/rename_stop_to_send_birthday_reminders.py
	both added:      hrms/patches/v14_0/create_custom_field_in_loan.py
	both added:      hrms/payroll/doctype/additional_salary/additional_salary.js
	both added:      hrms/payroll/doctype/additional_salary/additional_salary.json
	both added:      hrms/payroll/doctype/additional_salary/additional_salary.py
	both added:      hrms/payroll/doctype/additional_salary/test_additional_salary.py
	both added:      hrms/payroll/doctype/employee_benefit_application/employee_benefit_application.json
	both added:      hrms/payroll/doctype/employee_benefit_application/employee_benefit_application.py
	both added:      hrms/payroll/doctype/employee_benefit_application/test_employee_benefit_application.py
	both added:      hrms/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.json
	both added:      hrms/payroll/doctype/employee_benefit_claim/employee_benefit_claim.json
	both added:      hrms/payroll/doctype/employee_benefit_claim/employee_benefit_claim.py
	both added:      hrms/payroll/doctype/employee_benefit_claim/test_employee_benefit_claim.py
	both added:      hrms/payroll/doctype/employee_cost_center/employee_cost_center.json
	both added:      hrms/payroll/doctype/employee_incentive/employee_incentive.json
	both added:      hrms/payroll/doctype/employee_incentive/test_employee_incentive.py
	both added:      hrms/payroll/doctype/employee_other_income/employee_other_income.json
	both added:      hrms/payroll/doctype/employee_other_income/test_employee_other_income.py
	both added:      hrms/payroll/doctype/employee_tax_exemption_category/employee_tax_exemption_category.json
	both added:      hrms/payroll/doctype/employee_tax_exemption_category/test_employee_tax_exemption_category.py
	both added:      hrms/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.json
	both added:      hrms/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py
	both added:      hrms/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.json
	both added:      hrms/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.js
	both added:      hrms/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.json
	both added:      hrms/payroll/doctype/employee_tax_exemption_proof_submission/test_employee_tax_exemption_proof_submission.py
	both added:      hrms/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.json
	both added:      hrms/payroll/doctype/employee_tax_exemption_sub_category/employee_tax_exemption_sub_category.json
	both added:      hrms/payroll/doctype/employee_tax_exemption_sub_category/test_employee_tax_exemption_sub_category.py
	both added:      hrms/payroll/doctype/gratuity/gratuity.json
	both added:      hrms/payroll/doctype/gratuity/gratuity.py
	both added:      hrms/payroll/doctype/gratuity/test_gratuity.py
	both added:      hrms/payroll/doctype/gratuity_applicable_component/gratuity_applicable_component.json
	both added:      hrms/payroll/doctype/gratuity_rule/gratuity_rule.json
	both added:      hrms/payroll/doctype/gratuity_rule/test_gratuity_rule.py
	both added:      hrms/payroll/doctype/gratuity_rule_slab/gratuity_rule_slab.json
	both added:      hrms/payroll/doctype/income_tax_slab/income_tax_slab.js
	both added:      hrms/payroll/doctype/income_tax_slab/income_tax_slab.json
	both added:      hrms/payroll/doctype/income_tax_slab/test_income_tax_slab.py
	both added:      hrms/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.json
	both added:      hrms/payroll/doctype/payroll_employee_detail/payroll_employee_detail.json
	both added:      hrms/payroll/doctype/payroll_entry/payroll_entry.js
	both added:      hrms/payroll/doctype/payroll_entry/payroll_entry.json
	both added:      hrms/payroll/doctype/payroll_entry/payroll_entry.py
	both added:      hrms/payroll/doctype/payroll_entry/test_payroll_entry.py
	both added:      hrms/payroll/doctype/payroll_period/payroll_period.json
	both added:      hrms/payroll/doctype/payroll_period/payroll_period.py
	both added:      hrms/payroll/doctype/payroll_period/test_payroll_period.py
	both added:      hrms/payroll/doctype/payroll_period_date/payroll_period_date.json
	both added:      hrms/payroll/doctype/payroll_settings/payroll_settings.json
	both added:      hrms/payroll/doctype/payroll_settings/test_payroll_settings.py
	both added:      hrms/payroll/doctype/retention_bonus/retention_bonus.json
	both added:      hrms/payroll/doctype/retention_bonus/test_retention_bonus.py
	both added:      hrms/payroll/doctype/salary_component/salary_component.js
	both added:      hrms/payroll/doctype/salary_component/salary_component.json
	both added:      hrms/payroll/doctype/salary_component/salary_component.py
	both added:      hrms/payroll/doctype/salary_component/test_salary_component.py
	both added:      hrms/payroll/doctype/salary_component_account/salary_component_account.json
	both added:      hrms/payroll/doctype/salary_detail/salary_detail.json
	both added:      hrms/payroll/doctype/salary_slip/salary_slip.json
	both added:      hrms/payroll/doctype/salary_slip/salary_slip.py
	both added:      hrms/payroll/doctype/salary_slip/test_salary_slip.py
	both added:      hrms/payroll/doctype/salary_slip_leave/salary_slip_leave.json
	both added:      hrms/payroll/doctype/salary_slip_loan/salary_slip_loan.json
	both added:      hrms/payroll/doctype/salary_slip_timesheet/salary_slip_timesheet.json
	both added:      hrms/payroll/doctype/salary_structure/salary_structure.js
	both added:      hrms/payroll/doctype/salary_structure/salary_structure.json
	both added:      hrms/payroll/doctype/salary_structure/salary_structure.py
	both added:      hrms/payroll/doctype/salary_structure/test_salary_structure.py
	both added:      hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.js
	both added:      hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json
	both added:      hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py
	both added:      hrms/payroll/doctype/salary_structure_assignment/test_salary_structure_assignment.py
	both added:      hrms/payroll/doctype/taxable_salary_slab/taxable_salary_slab.json
	both added:      hrms/payroll/report/income_tax_computation/test_income_tax_computation.py
	both added:      hrms/payroll/report/income_tax_deductions/test_income_tax_deductions.py
	both added:      hrms/payroll/workspace/salary_payout/salary_payout.json
	both added:      hrms/public/build.json
	both added:      hrms/public/js/erpnext/journal_entry.js
	both added:      hrms/public/js/hrms.bundle.js
	both added:      hrms/public/js/performance.bundle.js
	both added:      hrms/public/js/performance/performance_feedback.js
	both added:      hrms/public/js/templates/rating.html
	both added:      hrms/public/scss/hrms.bundle.scss
	both added:      hrms/setup.py
	both added:      hrms/subscription_utils.py
	both added:      hrms/templates/generators/job_opening.html
	both added:      hrms/tests/test_utils.py
	both added:      hrms/utils/__init__.py
	both added:      hrms/utils/holiday_list.py
	both added:      pyproject.toml

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@ruchamahabal ruchamahabal deleted the mergify/bp/version-14-hotfix/pr-2460 branch December 16, 2024 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants