diff --git a/hrms/hr/doctype/department_approver/department_approver.py b/hrms/hr/doctype/department_approver/department_approver.py index c2f09095a9..fe967fd3f3 100644 --- a/hrms/hr/doctype/department_approver/department_approver.py +++ b/hrms/hr/doctype/department_approver/department_approver.py @@ -58,19 +58,27 @@ def get_approvers(doctype: str, txt: str, searchfield: str, start: int, page_len ) if filters.get("doctype") == "Leave Application" and employee.leave_approver: - approvers.append( - frappe.db.get_value("User", employee.leave_approver, ["name", "first_name", "last_name"]) + approver = frappe.db.get_value( + "User", {"name": employee.leave_approver, "enabled": 1}, ["name", "first_name", "last_name"] ) + if approver: + approvers.append(approver) if filters.get("doctype") == "Expense Claim" and employee.expense_approver: - approvers.append( - frappe.db.get_value("User", employee.expense_approver, ["name", "first_name", "last_name"]) + approver = frappe.db.get_value( + "User", {"name": employee.expense_approver, "enabled": 1}, ["name", "first_name", "last_name"] ) + if approver: + approvers.append(approver) if filters.get("doctype") == "Shift Request" and employee.shift_request_approver: - approvers.append( - frappe.db.get_value("User", employee.shift_request_approver, ["name", "first_name", "last_name"]) + approver = frappe.db.get_value( + "User", + {"name": employee.shift_request_approver, "enabled": 1}, + ["name", "first_name", "last_name"], ) + if approver: + approvers.append(approver) if filters.get("doctype") == "Leave Application": parentfield = "leave_approvers" @@ -82,17 +90,22 @@ def get_approvers(doctype: str, txt: str, searchfield: str, start: int, page_len parentfield = "shift_request_approver" field_name = "Shift Request Approver" if department_list: + User = frappe.qb.DocType("User") + DeptApprover = frappe.qb.DocType("Department Approver") + for d in department_list: - approvers += frappe.db.sql( - """select user.name, user.first_name, user.last_name from - tabUser user, `tabDepartment Approver` approver where - approver.parent = %s - and user.name like %s - and approver.parentfield = %s - and approver.approver=user.name""", - (d, "%" + txt + "%", parentfield), - as_list=True, - ) + approvers += ( + frappe.qb.from_(DeptApprover) + .join(User) + .on(DeptApprover.approver == User.name) + .select(User.name, User.first_name, User.last_name) + .where( + (DeptApprover.parent == d[0]) + & (DeptApprover.parentfield == parentfield) + & (User.name.like(f"%{txt}%")) + & (User.enabled == 1) + ) + ).run(as_list=True) if len(approvers) == 0: error_msg = _("Please set {0} for the Employee: {1}").format( diff --git a/hrms/locale/main.pot b/hrms/locale/main.pot index 31b7ff6f9d..3bb4be1350 100644 --- a/hrms/locale/main.pot +++ b/hrms/locale/main.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Frappe HR VERSION\n" "Report-Msgid-Bugs-To: contact@frappe.io\n" -"POT-Creation-Date: 2026-07-12 10:04+0000\n" -"PO-Revision-Date: 2026-07-12 10:04+0000\n" +"POT-Creation-Date: 2026-07-19 10:04+0000\n" +"PO-Revision-Date: 2026-07-19 10:04+0000\n" "Last-Translator: contact@frappe.io\n" "Language-Team: contact@frappe.io\n" "MIME-Version: 1.0\n" @@ -225,8 +225,8 @@ msgstr "" msgid "Example: SAL-{first_name}-{date_of_birth.year}
This will generate a password like SAL-Jane-1972" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:315 -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:323 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:317 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:325 msgid "Total Leaves Allocated are more than the number of days in the allocation period" msgstr "" @@ -569,7 +569,7 @@ msgstr "" msgid "Adjust Allocation" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:454 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:456 msgid "Adjustment Created Successfully" msgstr "" @@ -607,7 +607,7 @@ msgstr "" msgid "Advanced Filters" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:475 +#: hrms/hr/doctype/expense_claim/expense_claim.py:472 msgid "All Exchange Gain/Loss amount of {0} has been booked through {1}" msgstr "" @@ -633,11 +633,11 @@ msgstr "" msgid "Allocate Based On Leave Policy" msgstr "" -#: hrms/hr/doctype/leave_control_panel/leave_control_panel.js:177 +#: hrms/hr/doctype/leave_control_panel/leave_control_panel.js:180 msgid "Allocate Leave" msgstr "" -#: hrms/hr/doctype/leave_control_panel/leave_control_panel.js:193 +#: hrms/hr/doctype/leave_control_panel/leave_control_panel.js:196 msgid "Allocate leaves to {0} employee(s)?" msgstr "" @@ -663,7 +663,7 @@ msgstr "" msgid "Allocated Via" msgstr "" -#: hrms/hr/doctype/leave_control_panel/leave_control_panel.js:206 +#: hrms/hr/doctype/leave_control_panel/leave_control_panel.js:209 msgid "Allocating Leave" msgstr "" @@ -691,11 +691,11 @@ msgstr "" msgid "Allocation to Adjust" msgstr "" -#: hrms/hr/utils.py:437 +#: hrms/hr/utils.py:439 msgid "Allocation was skipped due to exceeding annual allocation set in leave policy" msgstr "" -#: hrms/hr/utils.py:445 +#: hrms/hr/utils.py:447 msgid "Allocation was skipped due to maximum leave allocation limit set in leave type. Please increase the limit and retry failed allocation." msgstr "" @@ -724,7 +724,7 @@ msgstr "" #. Label of the allow_multiple_shift_assignments (Check) field in DocType 'HR #. Settings' #: hrms/hr/doctype/hr_settings/hr_settings.json -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:128 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:129 msgid "Allow Multiple Shift Assignments for Same Date" msgstr "" @@ -850,7 +850,7 @@ msgstr "" msgid "Annual Allocation" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:408 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:410 msgid "Annual Allocation Exceeded" msgstr "" @@ -864,7 +864,7 @@ msgstr "" msgid "Annual Gross Earning" msgstr "" -#: hrms/setup.py:410 +#: hrms/setup.py:408 msgid "Annual Salary" msgstr "" @@ -1075,7 +1075,7 @@ msgstr "" #. Label of a Workspace Sidebar Item #: hrms/hr/doctype/appraisal/appraisal.json #: hrms/hr/doctype/appraisal_template/appraisal_template.json -#: hrms/hr/doctype/appraisee/appraisee.json hrms/setup.py:164 +#: hrms/hr/doctype/appraisee/appraisee.json hrms/setup.py:162 #: hrms/workspace_sidebar/performance.json msgid "Appraisal Template" msgstr "" @@ -1119,7 +1119,7 @@ msgstr "" msgid "Appraisees: {0}" msgstr "" -#: hrms/setup.py:402 +#: hrms/setup.py:400 msgid "Apprentice" msgstr "" @@ -1135,7 +1135,7 @@ msgstr "" msgid "Approval Status" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:201 +#: hrms/hr/doctype/expense_claim/expense_claim.py:198 msgid "Approval Status must be 'Approved' or 'Rejected'" msgstr "" @@ -1164,7 +1164,7 @@ msgstr "" msgid "Approver" msgstr "" -#: hrms/setup.py:135 hrms/setup.py:238 +#: hrms/setup.py:133 hrms/setup.py:236 msgid "Approvers" msgstr "" @@ -1349,15 +1349,6 @@ msgstr "" msgid "Attendance Date" msgstr "" -#. Label of the att_fr_date (Date) field in DocType 'Upload Attendance' -#: hrms/hr/doctype/upload_attendance/upload_attendance.json -msgid "Attendance From Date" -msgstr "" - -#: hrms/hr/doctype/upload_attendance/upload_attendance.js:20 -msgid "Attendance From Date and Attendance To Date is mandatory" -msgstr "" - #: hrms/hr/report/shift_attendance/shift_attendance.py:126 msgid "Attendance ID" msgstr "" @@ -1392,11 +1383,6 @@ msgstr "" msgid "Attendance Settings" msgstr "" -#. Label of the att_to_date (Date) field in DocType 'Upload Attendance' -#: hrms/hr/doctype/upload_attendance/upload_attendance.json -msgid "Attendance To Date" -msgstr "" - #: hrms/hr/doctype/attendance_request/attendance_request.py:189 #: hrms/hr/doctype/attendance_request/attendance_request.py:208 msgid "Attendance Updated" @@ -1500,7 +1486,7 @@ msgstr "" msgid "Automated Based on Goal Progress" msgstr "" -#: hrms/hr/utils.py:498 +#: hrms/hr/utils.py:500 msgid "Automatic Leave Allocation has failed for the following Earned Leaves: {0}. Please check {1} for more details." msgstr "" @@ -1549,11 +1535,11 @@ msgstr "" msgid "Avg Feedback Score" msgstr "" -#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:220 +#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:218 msgid "Avg Utilization" msgstr "" -#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:226 +#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:224 msgid "Avg Utilization (Billed Only)" msgstr "" @@ -1603,7 +1589,7 @@ msgstr "" msgid "Below is the list of upcoming holidays for you:" msgstr "" -#: hrms/overrides/dashboard_overrides.py:35 +#: hrms/overrides/dashboard_overrides.py:40 msgid "Benefit" msgstr "" @@ -1655,7 +1641,7 @@ msgstr "" msgid "Bill Amount" msgstr "" -#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:251 +#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:249 msgid "Billed Hours" msgstr "" @@ -1733,6 +1719,10 @@ msgstr "" msgid "Branch: {0}" msgstr "" +#: hrms/hr/doctype/leave_policy/leave_policy.js:19 +msgid "Bulk Assignment" +msgstr "" + #: hrms/payroll/doctype/salary_structure/salary_structure.js:137 msgid "Bulk Assignments" msgstr "" @@ -1811,31 +1801,31 @@ msgstr "" msgid "Cannot Modify Time" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:359 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:361 msgid "Cannot allocate leaves outside the allocation period {0} - {1}" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:488 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:490 msgid "Cannot allocate more leaves due to maximum leave allocation limit of {0} in leave policy assignment" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:480 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:482 msgid "Cannot allocate more leaves due to maximum leaves allowed limit of {0} in {1} leave type." msgstr "" -#: hrms/api/roster.py:188 +#: hrms/api/roster.py:202 msgid "Cannot break shift after end date" msgstr "" -#: hrms/api/roster.py:190 +#: hrms/api/roster.py:204 msgid "Cannot break shift before start date" msgstr "" -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:93 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:94 msgid "Cannot cancel Shift Assignment: {0} as it is linked to Attendance: {1}" msgstr "" -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:76 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:77 msgid "Cannot cancel Shift Assignment: {0} as it is linked to Employee Checkin: {1}" msgstr "" @@ -1890,7 +1880,7 @@ msgstr "" msgid "Carry Forwarded Leaves" msgstr "" -#: hrms/setup.py:353 hrms/setup.py:354 +#: hrms/setup.py:351 hrms/setup.py:352 msgid "Casual Leave" msgstr "" @@ -1927,11 +1917,11 @@ msgstr "" msgid "Check Error Log {0} for more details." msgstr "" -#: frontend/src/components/CheckInPanel.vue:120 +#: frontend/src/components/CheckInPanel.vue:121 msgid "Check In" msgstr "" -#: frontend/src/components/CheckInPanel.vue:119 +#: frontend/src/components/CheckInPanel.vue:120 msgid "Check Out" msgstr "" @@ -1940,12 +1930,12 @@ msgstr "" msgid "Check Vacancies On Job Offer Creation" msgstr "" -#: hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.py:516 -#: hrms/hr/utils.py:969 +#: hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.py:543 +#: hrms/hr/utils.py:971 msgid "Check {0} for more details" msgstr "" -#: frontend/src/components/CheckInPanel.vue:156 +#: frontend/src/components/CheckInPanel.vue:157 msgid "Check-in" msgstr "" @@ -1954,7 +1944,7 @@ msgstr "" msgid "Check-in Date" msgstr "" -#: frontend/src/components/CheckInPanel.vue:156 +#: frontend/src/components/CheckInPanel.vue:157 msgid "Check-out" msgstr "" @@ -2025,7 +2015,7 @@ msgstr "" #. Label of a Card Break in the Expenses Workspace #: hrms/hr/workspace/expenses/expenses.json -#: hrms/overrides/dashboard_overrides.py:87 +#: hrms/overrides/dashboard_overrides.py:102 msgid "Claims" msgstr "" @@ -2076,7 +2066,7 @@ msgstr "" msgid "Compensatory Leave Request" msgstr "" -#: hrms/setup.py:362 hrms/setup.py:363 +#: hrms/setup.py:360 hrms/setup.py:361 msgid "Compensatory Off" msgstr "" @@ -2118,7 +2108,7 @@ msgstr "" msgid "Conference" msgstr "" -#: frontend/src/components/CheckInPanel.vue:73 +#: frontend/src/components/CheckInPanel.vue:74 msgid "Confirm {0}" msgstr "" @@ -2211,8 +2201,6 @@ msgid "Create Appraisals" msgstr "" #: hrms/hr/doctype/interview_type/interview_type.js:7 -#: hrms/hr/doctype/job_applicant/job_applicant.js:71 -#: hrms/hr/doctype/job_applicant/job_applicant.js:140 msgid "Create Interview" msgstr "" @@ -2284,7 +2272,7 @@ msgstr "" msgid "Creation Date" msgstr "" -#: hrms/hr/utils.py:978 +#: hrms/hr/utils.py:980 msgid "Creation Failed" msgstr "" @@ -2453,7 +2441,7 @@ msgstr "" msgid "Dates Based On" msgstr "" -#: hrms/setup.py:123 +#: hrms/setup.py:121 msgid "Days for which Holidays are blocked for this department." msgstr "" @@ -2564,15 +2552,15 @@ msgstr "" msgid "Default Base Pay" msgstr "" -#: hrms/setup.py:83 +#: hrms/setup.py:81 msgid "Default Employee Advance Account" msgstr "" -#: hrms/setup.py:75 +#: hrms/setup.py:73 msgid "Default Expense Claim Payable Account" msgstr "" -#: hrms/overrides/company.py:133 hrms/setup.py:98 +#: hrms/overrides/company.py:133 hrms/setup.py:96 msgid "Default Payroll Payable Account" msgstr "" @@ -2583,7 +2571,7 @@ msgid "Default Salary Structure" msgstr "" #: hrms/hr/doctype/shift_assignment_tool/shift_assignment_tool.js:204 -#: hrms/setup.py:210 +#: hrms/setup.py:208 msgid "Default Shift" msgstr "" @@ -2877,7 +2865,7 @@ msgid "Employee A/C Number" msgstr "" #: hrms/patches/v16_0/create_custom_field_for_employee_advance_in_employee_master.py:11 -#: hrms/setup.py:273 +#: hrms/setup.py:271 msgid "Employee Advance Account" msgstr "" @@ -2953,7 +2941,7 @@ msgstr "" #. Label of the employee_benefits_section (Section Break) field in DocType #. 'Salary Structure Assignment' #: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json -#: hrms/setup.py:412 +#: hrms/setup.py:410 msgid "Employee Benefits" msgstr "" @@ -3043,7 +3031,7 @@ msgstr "" msgid "Employee Emails" msgstr "" -#: hrms/overrides/dashboard_overrides.py:25 +#: hrms/overrides/dashboard_overrides.py:30 msgid "Employee Exit" msgstr "" @@ -3174,7 +3162,7 @@ msgstr "" msgid "Employee Leave Balance Summary" msgstr "" -#: hrms/setup.py:774 +#: hrms/setup.py:772 msgid "Employee Loan" msgstr "" @@ -3246,7 +3234,7 @@ msgstr "" #: hrms/hr/doctype/employee_referral/employee_referral.json #: hrms/hr/doctype/job_applicant/job_applicant.json #: hrms/hr/doctype/job_requisition/job_requisition.js:18 -#: hrms/hr/workspace/recruitment/recruitment.json hrms/setup.py:406 +#: hrms/hr/workspace/recruitment/recruitment.json hrms/setup.py:404 #: hrms/workspace_sidebar/recruitment.json msgid "Employee Referral" msgstr "" @@ -3424,7 +3412,7 @@ msgstr "" msgid "Employee was marked Absent for other half due to missing Employee Checkins." msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:479 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:485 msgid "Employee {0} : {1}" msgstr "" @@ -3432,7 +3420,7 @@ msgstr "" msgid "Employee {0} already has an Attendance Request {1} that overlaps with this period" msgstr "" -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:163 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:164 msgid "Employee {0} already has an active Shift {1}: {2} that overlaps within this period." msgstr "" @@ -3561,7 +3549,7 @@ msgstr "" #: hrms/hr/doctype/leave_control_panel/leave_control_panel.json #: hrms/hr/doctype/shift_assignment_tool/shift_assignment_tool.json #: hrms/payroll/doctype/bulk_salary_structure_assignment/bulk_salary_structure_assignment.json -#: hrms/setup.py:188 hrms/templates/generators/job_opening.html:141 +#: hrms/setup.py:186 hrms/templates/generators/job_opening.html:141 msgid "Employment Type" msgstr "" @@ -3648,10 +3636,6 @@ msgstr "" msgid "End time cannot be before start time" msgstr "" -#: hrms/hr/doctype/job_applicant/job_applicant.js:126 -msgid "Enter Interview Type" -msgstr "" - #: hrms/hr/doctype/leave_adjustment/leave_adjustment.py:74 msgid "Enter a non-zero value to adjust." msgstr "" @@ -3698,7 +3682,7 @@ msgid "Error downloading PDF" msgstr "" #: hrms/payroll/doctype/salary_slip/salary_slip.py:1408 -#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:401 +#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:402 msgid "Error in formula or condition" msgstr "" @@ -3706,15 +3690,11 @@ msgstr "" msgid "Error in formula or condition: {0} in Income Tax Slab" msgstr "" -#: hrms/hr/doctype/upload_attendance/upload_attendance.js:57 -msgid "Error in some rows" -msgstr "" - #: frontend/src/components/FormView.vue:569 msgid "Error updating {0}" msgstr "" -#: hrms/payroll/utils.py:134 +#: hrms/payroll/utils.py:160 msgid "Error while evaluating the {doctype} {doclink} at row {row_id}.

Error: {error}

Hint: {description}" msgstr "" @@ -3724,7 +3704,7 @@ msgstr "" msgid "Estimated Cost Per Position" msgstr "" -#: hrms/overrides/dashboard_overrides.py:55 +#: hrms/overrides/dashboard_overrides.py:60 msgid "Evaluation" msgstr "" @@ -3916,8 +3896,8 @@ msgstr "" #: hrms/hr/doctype/exit_interview/test_exit_interview.py:110 #: hrms/hr/doctype/exit_interview/test_exit_interview.py:120 -#: hrms/hr/doctype/exit_interview/test_exit_interview.py:122 hrms/setup.py:487 -#: hrms/setup.py:489 hrms/setup.py:510 +#: hrms/hr/doctype/exit_interview/test_exit_interview.py:122 hrms/setup.py:485 +#: hrms/setup.py:487 hrms/setup.py:508 msgid "Exit Questionnaire Notification" msgstr "" @@ -3981,8 +3961,8 @@ msgstr "" #. Label of the expense_approver (Link) field in DocType 'Expense Claim' #: hrms/hr/doctype/employee_advance/employee_advance.json #: hrms/hr/doctype/expense_claim/expense_claim.json -#: hrms/patches/v15_0/update_approver_custom_fields.py:11 hrms/setup.py:155 -#: hrms/setup.py:244 +#: hrms/patches/v15_0/update_approver_custom_fields.py:11 hrms/setup.py:153 +#: hrms/setup.py:242 msgid "Expense Approver" msgstr "" @@ -4016,7 +3996,7 @@ msgstr "" #. Label of the expense_type (Data) field in DocType 'Expense Claim Type' #. Label of a Link in the Expenses Workspace #. Label of a Workspace Sidebar Item -#: hrms/hr/doctype/expense_claim/expense_claim.py:673 +#: hrms/hr/doctype/expense_claim/expense_claim.py:670 #: hrms/hr/doctype/expense_claim_detail/expense_claim_detail.json #: hrms/hr/doctype/expense_claim_type/expense_claim_type.json #: hrms/hr/workspace/expenses/expenses.json @@ -4091,7 +4071,7 @@ msgstr "" msgid "Expire Carry Forwarded Leaves (Days)" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:610 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:612 msgid "Expire Leaves" msgstr "" @@ -4113,7 +4093,7 @@ msgstr "" msgid "Exporting..." msgstr "" -#: hrms/hr/utils.py:966 +#: hrms/hr/utils.py:968 msgid "Failed to create/submit {0} for employees:" msgstr "" @@ -4137,7 +4117,7 @@ msgstr "" msgid "Failed to setup defaults for country {0}." msgstr "" -#: hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.py:513 +#: hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.py:540 msgid "Failed to submit some leave policy assignments:" msgstr "" @@ -4165,7 +4145,7 @@ msgstr "" msgid "Failure Reason" msgstr "" -#: hrms/hr/utils.py:497 +#: hrms/hr/utils.py:499 msgid "Failure of Automatic Allocation of Earned Leaves" msgstr "" @@ -4369,7 +4349,7 @@ msgstr "" msgid "Follow via Email" msgstr "" -#: hrms/setup.py:339 +#: hrms/setup.py:337 msgid "Food" msgstr "" @@ -4515,7 +4495,7 @@ msgstr "" msgid "Full and Final Outstanding Statement" msgstr "" -#: hrms/setup.py:395 +#: hrms/setup.py:393 msgid "Full-time" msgstr "" @@ -4549,7 +4529,7 @@ msgstr "" msgid "Geolocation Error" msgstr "" -#: frontend/src/components/CheckInPanel.vue:140 +#: frontend/src/components/CheckInPanel.vue:141 #: hrms/public/js/utils/index.js:185 msgid "Geolocation is not supported by your current browser" msgstr "" @@ -4574,11 +4554,6 @@ msgstr "" msgid "Get Job Requisitions" msgstr "" -#. Label of the get_template (Button) field in DocType 'Upload Attendance' -#: hrms/hr/doctype/upload_attendance/upload_attendance.json -msgid "Get Template" -msgstr "" - #: frontend/src/components/InstallPrompt.vue:8 msgid "Get the app on your device for easy access & a better experience!" msgstr "" @@ -4652,7 +4627,7 @@ msgstr "" #: hrms/payroll/doctype/bulk_salary_structure_assignment/bulk_salary_structure_assignment.js:173 #: hrms/payroll/doctype/payroll_entry/payroll_entry.json #: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json -#: hrms/setup.py:203 +#: hrms/setup.py:201 msgid "Grade" msgstr "" @@ -4749,15 +4724,15 @@ msgstr "" msgid "Group goal's progress is auto-calculated based on the child goals." msgstr "" -#: hrms/setup.py:328 +#: hrms/setup.py:326 msgid "HR" msgstr "" -#: hrms/setup.py:61 +#: hrms/setup.py:59 msgid "HR & Payroll" msgstr "" -#: hrms/setup.py:67 +#: hrms/setup.py:65 msgid "HR & Payroll Settings" msgstr "" @@ -4842,7 +4817,7 @@ msgstr "" msgid "Has Certificate" msgstr "" -#: hrms/setup.py:218 +#: hrms/setup.py:216 msgid "Health Insurance" msgstr "" @@ -4852,11 +4827,11 @@ msgstr "" msgid "Health Insurance Name" msgstr "" -#: hrms/setup.py:232 +#: hrms/setup.py:230 msgid "Health Insurance No" msgstr "" -#: hrms/setup.py:224 +#: hrms/setup.py:222 msgid "Health Insurance Provider" msgstr "" @@ -5111,12 +5086,6 @@ msgstr "" msgid "If you are using loans in salary slips, please install the {0} app from Frappe Cloud Marketplace or GitHub to continue using loan integration with payroll." msgstr "" -#. Label of the upload_attendance_data (Section Break) field in DocType 'Upload -#. Attendance' -#: hrms/hr/doctype/upload_attendance/upload_attendance.json -msgid "Import Attendance" -msgstr "" - #. Label of the in_time (Datetime) field in DocType 'Attendance' #: hrms/hr/doctype/attendance/attendance.json #: hrms/hr/report/shift_attendance/shift_attendance.py:70 @@ -5305,7 +5274,7 @@ msgstr "" msgid "Interest Income Account" msgstr "" -#: hrms/setup.py:401 +#: hrms/setup.py:399 msgid "Intern" msgstr "" @@ -5353,8 +5322,8 @@ msgstr "" #: hrms/hr/doctype/interview/test_interview.py:296 #: hrms/hr/doctype/interview/test_interview.py:305 #: hrms/hr/doctype/interview/test_interview.py:307 -#: hrms/hr/doctype/interview/test_interview.py:314 hrms/setup.py:473 -#: hrms/setup.py:475 hrms/setup.py:508 +#: hrms/hr/doctype/interview/test_interview.py:314 hrms/setup.py:471 +#: hrms/setup.py:473 hrms/setup.py:506 msgid "Interview Feedback Reminder" msgstr "" @@ -5369,8 +5338,8 @@ msgstr "" #: hrms/hr/doctype/interview/test_interview.py:280 #: hrms/hr/doctype/interview/test_interview.py:289 #: hrms/hr/doctype/interview/test_interview.py:291 -#: hrms/hr/doctype/interview/test_interview.py:313 hrms/setup.py:461 -#: hrms/setup.py:463 hrms/setup.py:504 +#: hrms/hr/doctype/interview/test_interview.py:313 hrms/setup.py:459 +#: hrms/setup.py:461 hrms/setup.py:502 msgid "Interview Reminder" msgstr "" @@ -5398,7 +5367,7 @@ msgstr "" #. Label of the section_break_13 (Section Break) field in DocType 'Interview' #: hrms/hr/doctype/exit_interview/exit_interview.json #: hrms/hr/doctype/interview/interview.json -#: hrms/hr/doctype/job_applicant/job_applicant.js:120 +#: hrms/hr/doctype/job_applicant/job_applicant.js:122 msgid "Interview Summary" msgstr "" @@ -5410,6 +5379,7 @@ msgstr "" #: hrms/hr/doctype/interview/interview.json #: hrms/hr/doctype/interview_feedback/interview_feedback.json #: hrms/hr/doctype/interview_type/interview_type.json +#: hrms/hr/doctype/job_applicant/job_applicant.js:135 #: hrms/hr/doctype/job_applicant/job_applicant_dashboard.html:8 #: hrms/hr/workspace/recruitment/recruitment.json #: hrms/workspace_sidebar/recruitment.json @@ -5421,6 +5391,10 @@ msgstr "" msgid "Interview Type Name" msgstr "" +#: hrms/hr/doctype/job_applicant/job_applicant.py:162 +msgid "Interview Type {0} is only applicable for Designation {1}" +msgstr "" + #: hrms/hr/doctype/job_applicant/job_applicant.py:126 msgid "Interview Type {0} is only applicable for the Designation {1}" msgstr "" @@ -5429,6 +5403,10 @@ msgstr "" msgid "Interview Type {0} is only for Designation {1}. Job Applicant has applied for the role {2}" msgstr "" +#: hrms/hr/doctype/job_applicant/job_applicant.js:205 +msgid "Interview scheduled successfully" +msgstr "" + #: hrms/hr/doctype/interview/interview.py:132 msgid "Interview: {0} Rescheduled" msgstr "" @@ -5453,6 +5431,7 @@ msgstr "" #: hrms/hr/doctype/exit_interview/exit_interview.json #: hrms/hr/doctype/interview/interview.json #: hrms/hr/doctype/interview_type/interview_type.json +#: hrms/hr/doctype/job_applicant/job_applicant.js:182 msgid "Interviewers" msgstr "" @@ -5484,7 +5463,7 @@ msgstr "" msgid "Invalid Benefit Amounts" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:362 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:364 msgid "Invalid Dates" msgstr "" @@ -5505,15 +5484,15 @@ msgstr "" msgid "Invalid Shift Times" msgstr "" -#: hrms/api/roster.py:31 +#: hrms/api/roster.py:32 msgid "Invalid employee filter: {0}" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:894 +#: hrms/hr/doctype/expense_claim/expense_claim.py:891 msgid "Invalid parameters provided. Please pass the required arguments." msgstr "" -#: hrms/api/roster.py:40 +#: hrms/api/roster.py:41 msgid "Invalid shift filter: {0}" msgstr "" @@ -5652,7 +5631,7 @@ msgstr "" #: hrms/hr/doctype/job_applicant/job_applicant.json #: hrms/hr/doctype/job_offer/job_offer.json #: hrms/hr/report/recruitment_analytics/recruitment_analytics.py:38 -#: hrms/hr/workspace/recruitment/recruitment.json hrms/setup.py:196 +#: hrms/hr/workspace/recruitment/recruitment.json hrms/setup.py:194 #: hrms/workspace_sidebar/recruitment.json msgid "Job Applicant" msgstr "" @@ -5678,7 +5657,7 @@ msgstr "" #. Label of the job_description_tab (Tab Break) field in DocType 'Job #. Requisition' #. Label of the description (Text Editor) field in DocType 'Job Requisition' -#: hrms/hr/doctype/job_requisition/job_requisition.json hrms/setup.py:416 +#: hrms/hr/doctype/job_requisition/job_requisition.json hrms/setup.py:414 msgid "Job Description" msgstr "" @@ -5920,7 +5899,7 @@ msgstr "" msgid "Latitude and longitude values are required for checking in." msgstr "" -#: frontend/src/components/CheckInPanel.vue:128 +#: frontend/src/components/CheckInPanel.vue:129 msgid "Latitude: {0}°" msgstr "" @@ -5980,7 +5959,7 @@ msgstr "" msgid "Leave Application period cannot be across two non-consecutive leave allocations {0} and {1}." msgstr "" -#: hrms/setup.py:438 hrms/setup.py:440 hrms/setup.py:500 +#: hrms/setup.py:436 hrms/setup.py:438 hrms/setup.py:498 msgid "Leave Approval Notification" msgstr "" @@ -5994,8 +5973,8 @@ msgstr "" #. Name of a role #: hrms/hr/doctype/leave_application/leave_application.json #: hrms/hr/doctype/overtime_slip/overtime_slip.json -#: hrms/patches/v15_0/update_approver_custom_fields.py:19 hrms/setup.py:148 -#: hrms/setup.py:252 +#: hrms/patches/v15_0/update_approver_custom_fields.py:19 hrms/setup.py:146 +#: hrms/setup.py:250 msgid "Leave Approver" msgstr "" @@ -6036,7 +6015,7 @@ msgstr "" #. Label of a Link in the Leaves Workspace #. Label of a Workspace Sidebar Item #: hrms/hr/doctype/leave_block_list/leave_block_list.json -#: hrms/hr/workspace/leaves/leaves.json hrms/setup.py:127 +#: hrms/hr/workspace/leaves/leaves.json hrms/setup.py:125 #: hrms/workspace_sidebar/leaves.json msgid "Leave Block List" msgstr "" @@ -6069,7 +6048,7 @@ msgstr "" msgid "Leave Block List Name" msgstr "" -#: hrms/hr/doctype/leave_application/leave_application.py:1443 +#: hrms/hr/doctype/leave_application/leave_application.py:1453 msgid "Leave Blocked" msgstr "" @@ -6194,7 +6173,7 @@ msgstr "" msgid "Leave Settings" msgstr "" -#: hrms/setup.py:447 hrms/setup.py:449 hrms/setup.py:501 +#: hrms/setup.py:445 hrms/setup.py:447 hrms/setup.py:499 msgid "Leave Status Notification" msgstr "" @@ -6262,7 +6241,7 @@ msgstr "" msgid "Leave Type {0} cannot be allocated since it is leave without pay" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:599 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:601 msgid "Leave Type {0} cannot be carry-forwarded" msgstr "" @@ -6272,8 +6251,8 @@ msgstr "" #. Label of the leave_without_pay (Float) field in DocType 'Salary Slip' #: hrms/payroll/doctype/salary_slip/salary_slip.json -#: hrms/payroll/report/salary_register/salary_register.py:179 hrms/setup.py:387 -#: hrms/setup.py:388 +#: hrms/payroll/report/salary_register/salary_register.py:179 hrms/setup.py:385 +#: hrms/setup.py:386 msgid "Leave Without Pay" msgstr "" @@ -6285,7 +6264,7 @@ msgstr "" msgid "Leave allocation is skipped for {0}, because number of leaves to be allocated is 0." msgstr "" -#: hrms/hr/doctype/leave_ledger_entry/leave_ledger_entry.py:79 +#: hrms/hr/doctype/leave_ledger_entry/leave_ledger_entry.py:78 msgid "Leave allocation {0} is linked with the Leave Application {1}" msgstr "" @@ -6297,7 +6276,7 @@ msgstr "" msgid "Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:259 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:261 msgid "Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}" msgstr "" @@ -6368,7 +6347,7 @@ msgstr "" msgid "Leaves Allocated" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:604 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:606 msgid "Leaves Expired" msgstr "" @@ -6380,7 +6359,7 @@ msgstr "" msgid "Leaves for the Leave Type {0} won't be carry-forwarded since carry-forwarding is disabled." msgstr "" -#: hrms/setup.py:418 +#: hrms/setup.py:416 msgid "Leaves per Year" msgstr "" @@ -6400,7 +6379,7 @@ msgctxt "Employee" msgid "Left" msgstr "" -#: hrms/overrides/dashboard_overrides.py:16 +#: hrms/overrides/dashboard_overrides.py:21 msgid "Lifecycle" msgstr "" @@ -6434,7 +6413,7 @@ msgstr "" msgid "Loan Product" msgstr "" -#: hrms/payroll/report/salary_register/salary_register.py:233 hrms/setup.py:767 +#: hrms/payroll/report/salary_register/salary_register.py:233 hrms/setup.py:765 msgid "Loan Repayment" msgstr "" @@ -6443,11 +6422,11 @@ msgstr "" msgid "Loan Repayment Entry" msgstr "" -#: hrms/hr/utils.py:853 +#: hrms/hr/utils.py:855 msgid "Loan cannot be repayed from salary for Employee {0} because salary is processed in currency {1}" msgstr "" -#: frontend/src/components/CheckInPanel.vue:142 +#: frontend/src/components/CheckInPanel.vue:143 msgid "Locating..." msgstr "" @@ -6483,7 +6462,7 @@ msgstr "" msgid "Login to Frappe HR" msgstr "" -#: frontend/src/components/CheckInPanel.vue:129 +#: frontend/src/components/CheckInPanel.vue:130 msgid "Longitude: {0}°" msgstr "" @@ -6737,7 +6716,7 @@ msgstr "" msgid "Meal Preference" msgstr "" -#: hrms/setup.py:340 +#: hrms/setup.py:338 msgid "Medical" msgstr "" @@ -6797,7 +6776,7 @@ msgstr "" msgid "Mode of Travel" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:492 +#: hrms/hr/doctype/expense_claim/expense_claim.py:489 msgid "Mode of payment is required to make a payment" msgstr "" @@ -6830,7 +6809,7 @@ msgstr "" msgid "Multiple Additional Salaries with overwrite property exist for Salary Component {0} between {1} and {2}." msgstr "" -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:133 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:134 msgid "Multiple Shift Assignments" msgstr "" @@ -6860,7 +6839,7 @@ msgstr "" #: hrms/payroll/doctype/income_tax_slab/income_tax_slab.py:123 #: hrms/payroll/doctype/salary_slip/salary_slip.py:1394 -#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:387 +#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:388 msgid "Name error" msgstr "" @@ -6955,7 +6934,7 @@ msgstr "" msgid "No Employee found for the given employee field value. '{}': {}" msgstr "" -#: hrms/hr/doctype/appraisal_cycle/appraisal_cycle.py:137 hrms/hr/utils.py:956 +#: hrms/hr/doctype/appraisal_cycle/appraisal_cycle.py:137 hrms/hr/utils.py:958 msgid "No Employees Selected" msgstr "" @@ -7168,7 +7147,7 @@ msgstr "" msgid "Non Taxable Earnings" msgstr "" -#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:252 +#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:250 msgid "Non-Billed Hours" msgstr "" @@ -7204,7 +7183,7 @@ msgstr "" msgid "Nothing to change" msgstr "" -#: hrms/setup.py:419 +#: hrms/setup.py:417 msgid "Notice Period" msgstr "" @@ -7373,7 +7352,7 @@ msgstr "" msgid "Only expired allocation can be cancelled" msgstr "" -#: hrms/hr/doctype/interview/interview.js:66 +#: hrms/hr/doctype/interview/interview.js:67 msgid "Only interviewers can submit feedback" msgstr "" @@ -7443,7 +7422,7 @@ msgstr "" msgid "Outgoing Salary" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:327 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:329 msgid "Over Allocation" msgstr "" @@ -7463,7 +7442,7 @@ msgstr "" msgid "Overlapping Shift Requests" msgstr "" -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:170 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:171 msgid "Overlapping Shifts" msgstr "" @@ -7517,11 +7496,11 @@ msgstr "" msgid "Overtime Slip" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:480 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:486 msgid "Overtime Slip Creation Error for {0}" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:491 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:497 msgid "Overtime Slip Creation Failed" msgstr "" @@ -7530,19 +7509,19 @@ msgstr "" msgid "Overtime Slip Step" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:514 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:520 msgid "Overtime Slip Submission Error for {0}" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:525 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:531 msgid "Overtime Slip Submission Failed" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:520 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:526 msgid "Overtime Slip Submitted" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:484 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:490 msgid "Overtime Slip created for {0} employee(s)" msgstr "" @@ -7558,11 +7537,11 @@ msgstr "" msgid "Overtime Slip:{0} has been created between {1} and {2}" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:486 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:492 msgid "Overtime Slips Created" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:518 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:524 msgid "Overtime Slips submitted for {0} employee(s)" msgstr "" @@ -7635,7 +7614,7 @@ msgstr "" msgid "Parent Goal" msgstr "" -#: hrms/setup.py:396 +#: hrms/setup.py:394 msgid "Part-time" msgstr "" @@ -7692,10 +7671,6 @@ msgstr "" msgid "Pay via Salary Slip" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:190 -msgid "Payable Account is mandatory to submit an Expense Claim" -msgstr "" - #: hrms/payroll/doctype/payroll_entry/payroll_entry.js:461 msgid "Payment Account is mandatory" msgstr "" @@ -7760,8 +7735,8 @@ msgstr "" #. Title of a Workspace Sidebar #: hrms/desktop_icon/payroll.json #: hrms/hr/doctype/leave_encashment/leave_encashment.json -#: hrms/overrides/dashboard_overrides.py:37 -#: hrms/overrides/dashboard_overrides.py:80 +#: hrms/overrides/dashboard_overrides.py:42 +#: hrms/overrides/dashboard_overrides.py:95 #: hrms/payroll/workspace/payroll/payroll.json #: hrms/workspace_sidebar/payroll.json msgid "Payroll" @@ -7781,7 +7756,7 @@ msgstr "" msgid "Payroll Correction Child" msgstr "" -#: hrms/setup.py:113 hrms/setup.py:287 +#: hrms/setup.py:111 hrms/setup.py:285 msgid "Payroll Cost Center" msgstr "" @@ -7845,7 +7820,7 @@ msgstr "" #: hrms/payroll/doctype/bulk_salary_structure_assignment/bulk_salary_structure_assignment.json #: hrms/payroll/doctype/payroll_entry/payroll_entry.json #: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json -#: hrms/setup.py:840 +#: hrms/setup.py:838 msgid "Payroll Payable Account" msgstr "" @@ -7966,7 +7941,7 @@ msgstr "" msgid "Permanently submit {0}" msgstr "" -#: hrms/setup.py:400 +#: hrms/setup.py:398 msgid "Piecework" msgstr "" @@ -8073,15 +8048,11 @@ msgstr "" msgid "Please select a company first." msgstr "" -#: hrms/hr/doctype/upload_attendance/upload_attendance.py:184 -msgid "Please select a csv file" -msgstr "" - #: hrms/hr/doctype/attendance/attendance.py:386 msgid "Please select a date." msgstr "" -#: hrms/hr/utils.py:844 +#: hrms/hr/utils.py:846 msgid "Please select an Applicant" msgstr "" @@ -8093,7 +8064,7 @@ msgstr "" msgid "Please select at least one Shift Request to perform this action." msgstr "" -#: hrms/hr/utils.py:955 +#: hrms/hr/utils.py:957 msgid "Please select at least one employee to perform this action." msgstr "" @@ -8241,10 +8212,6 @@ msgstr "" msgid "Please setup Employee Naming System in Human Resource > HR Settings" msgstr "" -#: hrms/hr/doctype/upload_attendance/upload_attendance.py:171 -msgid "Please setup numbering series for Attendance via Setup > Numbering Series" -msgstr "" - #: hrms/hr/notification/training_feedback/training_feedback.html:6 msgid "Please share your feedback to the training by clicking on 'Training Feedback' and then 'New'" msgstr "" @@ -8326,15 +8293,15 @@ msgstr "" msgid "Printed On {0}" msgstr "" -#: hrms/setup.py:379 hrms/setup.py:380 +#: hrms/setup.py:377 hrms/setup.py:378 msgid "Privilege Leave" msgstr "" -#: hrms/setup.py:397 +#: hrms/setup.py:395 msgid "Probation" msgstr "" -#: hrms/setup.py:411 +#: hrms/setup.py:409 msgid "Probationary Period" msgstr "" @@ -8346,7 +8313,7 @@ msgstr "" #. Label of the process_payroll_accounting_entry_based_on_employee (Check) #. field in DocType 'Payroll Settings' #: hrms/payroll/doctype/payroll_settings/payroll_settings.json -#: hrms/setup.py:851 +#: hrms/setup.py:849 msgid "Process Payroll Accounting Entry based on Employee" msgstr "" @@ -8618,7 +8585,7 @@ msgstr "" msgid "Reduction is more than {0}'s available leave balance {1} for leave type {2}" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:407 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:409 #: hrms/hr/doctype/leave_application/leave_application.py:555 #: hrms/payroll/doctype/additional_salary/additional_salary.py:219 #: hrms/payroll/doctype/payroll_entry/payroll_entry.py:141 @@ -8727,11 +8694,11 @@ msgstr "" msgid "Rented Car" msgstr "" -#: hrms/setup.py:824 hrms/setup.py:833 +#: hrms/setup.py:822 hrms/setup.py:831 msgid "Repay From Salary" msgstr "" -#: hrms/hr/utils.py:859 +#: hrms/hr/utils.py:861 msgid "Repay From Salary can be selected only for term loans" msgstr "" @@ -8798,7 +8765,7 @@ msgstr "" msgid "Require Full Funding" msgstr "" -#: hrms/setup.py:172 +#: hrms/setup.py:170 msgid "Required Skills" msgstr "" @@ -8808,11 +8775,11 @@ msgstr "" msgid "Required for Employee Creation" msgstr "" -#: hrms/hr/doctype/interview/interview.js:31 +#: hrms/hr/doctype/interview/interview.js:32 msgid "Reschedule Interview" msgstr "" -#: hrms/setup.py:417 +#: hrms/setup.py:415 msgid "Responsibilities" msgstr "" @@ -8855,8 +8822,8 @@ msgstr "" msgid "Retirement Age (In Years)" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:483 -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:491 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:485 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:493 msgid "Retry Failed" msgstr "" @@ -8952,11 +8919,11 @@ msgstr "" msgid "Row #{0}: Timesheet amount will overwrite the Earning component amount for the Salary Component {1}" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:862 +#: hrms/hr/doctype/expense_claim/expense_claim.py:859 msgid "Row No {0}: Amount cannot be greater than the Outstanding Amount against Expense Claim {1}. Outstanding Amount is {2}" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:560 +#: hrms/hr/doctype/expense_claim/expense_claim.py:557 msgid "Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2}" msgstr "" @@ -8988,7 +8955,7 @@ msgstr "" msgid "Row {0}: {1}" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:485 +#: hrms/hr/doctype/expense_claim/expense_claim.py:482 msgid "Row {0}: {1} is required in the expenses table to book an expense claim." msgstr "" @@ -9130,7 +9097,7 @@ msgstr "" #: hrms/payroll/doctype/employee_benefit_ledger/employee_benefit_ledger.json #: hrms/payroll/doctype/payroll_settings/payroll_settings.json #: hrms/payroll/doctype/salary_slip/salary_slip.json -#: hrms/payroll/workspace/payroll/payroll.json hrms/setup.py:315 +#: hrms/payroll/workspace/payroll/payroll.json hrms/setup.py:313 #: hrms/workspace_sidebar/payroll.json msgid "Salary Slip" msgstr "" @@ -9354,12 +9321,18 @@ msgstr "" msgid "Sanctioned Amount (Company Currency)" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:584 +#: hrms/hr/doctype/expense_claim/expense_claim.py:581 msgid "Sanctioned Amount cannot be greater than Claim Amount in Row {0}." msgstr "" +#: hrms/hr/doctype/job_applicant/job_applicant.js:71 +#: hrms/hr/doctype/job_applicant/job_applicant.js:132 +msgid "Schedule Interview" +msgstr "" + #. Label of the scheduled_on (Date) field in DocType 'Interview' #: hrms/hr/doctype/interview/interview.json +#: hrms/hr/doctype/job_applicant/job_applicant.js:168 msgid "Scheduled On" msgstr "" @@ -9388,7 +9361,7 @@ msgstr "" msgid "Select Applicable Components for Overtime Type" msgstr "" -#: hrms/hr/doctype/interview/interview.js:209 +#: hrms/hr/doctype/interview/interview.js:210 msgid "Select Interview Type First" msgstr "" @@ -9496,7 +9469,7 @@ msgstr "" msgid "Selected employee advance is not of employee {0}" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:553 +#: hrms/hr/doctype/expense_claim/expense_claim.py:550 msgid "Selected employee advance is not of employee {}" msgstr "" @@ -9650,7 +9623,7 @@ msgstr "" msgid "Set optional filters to fetch employees in the appraisee list" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:672 +#: hrms/hr/doctype/expense_claim/expense_claim.py:669 msgid "Set the default account for the {0} {1}" msgstr "" @@ -9685,7 +9658,7 @@ msgstr "" msgid "Settle all Payables and Receivables before submission" msgstr "" -#: hrms/hr/utils.py:807 +#: hrms/hr/utils.py:809 msgid "Shared document with the user {0} with 'Submit' permission" msgstr "" @@ -9805,8 +9778,8 @@ msgstr "" msgid "Shift Request" msgstr "" -#: hrms/patches/v15_0/update_approver_custom_fields.py:27 hrms/setup.py:141 -#: hrms/setup.py:265 +#: hrms/patches/v15_0/update_approver_custom_fields.py:27 hrms/setup.py:139 +#: hrms/setup.py:263 msgid "Shift Request Approver" msgstr "" @@ -9958,10 +9931,11 @@ msgstr "" msgid "Showing" msgstr "" -#: hrms/setup.py:371 hrms/setup.py:372 +#: hrms/setup.py:369 hrms/setup.py:370 msgid "Sick Leave" msgstr "" +#: hrms/hr/doctype/leave_policy/leave_policy.js:9 #: hrms/payroll/doctype/salary_structure/salary_structure.js:126 msgid "Single Assignment" msgstr "" @@ -9982,7 +9956,7 @@ msgstr "" #. Label of the section_break_4 (Section Break) field in DocType 'Interview #. Feedback' #. Name of a DocType -#: hrms/hr/doctype/interview/interview.js:138 +#: hrms/hr/doctype/interview/interview.js:139 #: hrms/hr/doctype/interview_feedback/interview_feedback.json #: hrms/hr/doctype/skill_assessment/skill_assessment.json msgid "Skill Assessment" @@ -9995,7 +9969,7 @@ msgstr "" #. Label of the skills_section (Section Break) field in DocType 'Employee Skill #. Map' -#: hrms/hr/doctype/employee_skill_map/employee_skill_map.json hrms/setup.py:178 +#: hrms/hr/doctype/employee_skill_map/employee_skill_map.json hrms/setup.py:176 msgid "Skills" msgstr "" @@ -10009,7 +9983,7 @@ msgstr "" msgid "Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}" msgstr "" -#: hrms/api/roster.py:138 +#: hrms/api/roster.py:149 msgid "Source and target shifts cannot be the same" msgstr "" @@ -10107,7 +10081,7 @@ msgstr "" msgid "Status for Other Half" msgstr "" -#: hrms/setup.py:414 +#: hrms/setup.py:412 msgid "Stock Options" msgstr "" @@ -10133,7 +10107,7 @@ msgstr "" msgid "Submission Date" msgstr "" -#: hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.py:524 +#: hrms/hr/doctype/leave_policy_assignment/leave_policy_assignment.py:551 msgid "Submission Failed" msgstr "" @@ -10141,9 +10115,9 @@ msgstr "" msgid "Submission of {0} before {1} is not allowed" msgstr "" -#: hrms/hr/doctype/interview/interview.js:57 -#: hrms/hr/doctype/interview/interview.js:61 -#: hrms/hr/doctype/interview/interview.js:133 +#: hrms/hr/doctype/interview/interview.js:58 +#: hrms/hr/doctype/interview/interview.js:62 +#: hrms/hr/doctype/interview/interview.js:134 msgid "Submit Feedback" msgstr "" @@ -10189,7 +10163,7 @@ msgstr "" msgid "Subsidiary companies have already planned for {1} vacancies at a budget of {2}. Staffing Plan for {0} should allocate more vacancies and budget for {3} than planned for its subsidiary companies" msgstr "" -#: hrms/hr/utils.py:983 +#: hrms/hr/utils.py:985 msgid "Successfully created {0} for employees:" msgstr "" @@ -10216,7 +10190,7 @@ msgid "Sync {0}" msgstr "" #: hrms/payroll/doctype/salary_slip/salary_slip.py:1401 -#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:394 +#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:395 msgid "Syntax error" msgstr "" @@ -10387,7 +10361,7 @@ msgstr "" msgid "The days between {0} to {1} are not valid holidays." msgstr "" -#: hrms/setup.py:132 +#: hrms/setup.py:130 msgid "The first Approver in the list will be set as the default Approver." msgstr "" @@ -10456,7 +10430,7 @@ msgstr "" #: hrms/payroll/doctype/additional_salary/additional_salary.py:83 #: hrms/payroll/doctype/employee_incentive/employee_incentive.py:39 -#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:459 +#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:460 msgid "There is no Salary Structure assigned to {0}. First assign a Salary Structure." msgstr "" @@ -10487,17 +10461,17 @@ msgid "This employee already has a log with the same timestamp.{0}" msgstr "" #: hrms/payroll/doctype/salary_slip/salary_slip.py:1409 -#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:402 +#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:403 msgid "This error can be due to invalid formula or condition." msgstr "" #: hrms/payroll/doctype/salary_slip/salary_slip.py:1402 -#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:395 +#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:396 msgid "This error can be due to invalid syntax." msgstr "" #: hrms/payroll/doctype/salary_slip/salary_slip.py:1395 -#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:388 +#: hrms/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py:389 msgid "This error can be due to missing or deleted field." msgstr "" @@ -10509,7 +10483,7 @@ msgstr "" msgid "This field allows you to set the maximum number of leaves that can be allocated annually for this Leave Type while creating the Leave Policy" msgstr "" -#: hrms/overrides/dashboard_overrides.py:63 +#: hrms/overrides/dashboard_overrides.py:78 msgid "This is based on the attendance of this Employee" msgstr "" @@ -10559,16 +10533,12 @@ msgstr "" msgid "To Amount" msgstr "" -#: hrms/hr/doctype/upload_attendance/upload_attendance.py:42 -msgid "To Date should be greater than From Date" -msgstr "" - #. Label of the to_user (Link) field in DocType 'PWA Notification' #: hrms/hr/doctype/pwa_notification/pwa_notification.json msgid "To User" msgstr "" -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:127 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:128 msgid "To allow this, enable {0} under {1}." msgstr "" @@ -10758,11 +10728,11 @@ msgstr "" msgid "Total Exemption Amount" msgstr "" -#: hrms/setup.py:305 +#: hrms/setup.py:303 msgid "Total Expense Claim (via Expense Claim)" msgstr "" -#: hrms/setup.py:296 +#: hrms/setup.py:294 msgid "Total Expense Claim (via Expense Claims)" msgstr "" @@ -10785,7 +10755,7 @@ msgstr "" msgid "Total Income Tax" msgstr "" -#: hrms/setup.py:797 +#: hrms/setup.py:795 msgid "Total Interest Amount" msgstr "" @@ -10818,7 +10788,7 @@ msgstr "" msgid "Total Leaves Encashed" msgstr "" -#: hrms/setup.py:811 +#: hrms/setup.py:809 msgid "Total Loan Repayment" msgstr "" @@ -10826,7 +10796,7 @@ msgstr "" msgid "Total Net Pay" msgstr "" -#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:230 +#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:228 msgid "Total Non-Billed Hours" msgstr "" @@ -10855,7 +10825,7 @@ msgstr "" msgid "Total Present" msgstr "" -#: hrms/setup.py:788 +#: hrms/setup.py:786 msgid "Total Principal Amount" msgstr "" @@ -10892,7 +10862,7 @@ msgstr "" msgid "Total Self Score" msgstr "" -#: hrms/hr/doctype/expense_claim/expense_claim.py:578 +#: hrms/hr/doctype/expense_claim/expense_claim.py:575 msgid "Total advance amount cannot be greater than total sanctioned amount" msgstr "" @@ -10914,11 +10884,11 @@ msgstr "" msgid "Total in words (Company Currency)" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:403 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:405 msgid "Total leaves allocated cannot exceed annual allocation of {0}." msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:288 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:290 msgid "Total leaves allocated is mandatory for Leave Type {0}" msgstr "" @@ -10981,7 +10951,7 @@ msgstr "" #. Label of a Card Break in the Tenure Workspace #: hrms/hr/doctype/employee_training/employee_training.json #: hrms/hr/workspace/tenure/tenure.json -#: hrms/overrides/dashboard_overrides.py:52 +#: hrms/overrides/dashboard_overrides.py:57 msgid "Training" msgstr "" @@ -11065,7 +11035,7 @@ msgstr "" msgid "Trainings (This Week)" msgstr "" -#: hrms/hr/utils.py:830 +#: hrms/hr/utils.py:832 msgid "Transactions cannot be created for an Inactive Employee {0}." msgstr "" @@ -11076,7 +11046,7 @@ msgstr "" #. Label of a Card Break in the Expenses Workspace #. Label of a Workspace Sidebar Item -#: hrms/hr/workspace/expenses/expenses.json hrms/setup.py:342 +#: hrms/hr/workspace/expenses/expenses.json hrms/setup.py:340 #: hrms/workspace_sidebar/expenses.json msgid "Travel" msgstr "" @@ -11232,7 +11202,7 @@ msgstr "" msgid "Unsubmitted Appraisals" msgstr "" -#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:253 +#: hrms/hr/report/employee_hours_utilization_based_on_timesheet/employee_hours_utilization_based_on_timesheet.py:251 msgid "Untracked Hours" msgstr "" @@ -11305,18 +11275,6 @@ msgstr "" msgid "Updated the status of linked Job Applicant {0} to {1}" msgstr "" -#. Name of a DocType -#. Label of a Link in the Shift & Attendance Workspace -#: hrms/hr/doctype/upload_attendance/upload_attendance.json -#: hrms/hr/workspace/shift_&_attendance/shift_&_attendance.json -msgid "Upload Attendance" -msgstr "" - -#. Label of the upload_html (HTML) field in DocType 'Upload Attendance' -#: hrms/hr/doctype/upload_attendance/upload_attendance.json -msgid "Upload HTML" -msgstr "" - #: frontend/src/components/FileUploaderView.vue:11 msgid "Upload images or documents" msgstr "" @@ -11464,11 +11422,11 @@ msgstr "" msgid "Warning: Leave application contains following block dates" msgstr "" -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:114 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:115 msgid "Warning: {0} already has an active Shift Assignment {1} for some/all of these dates." msgstr "" -#: hrms/setup.py:404 +#: hrms/setup.py:402 msgid "Website Listing" msgstr "" @@ -11686,8 +11644,8 @@ msgstr "" msgid "You do not have permission to change the Status of a Shift Request." msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:459 -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:622 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:461 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:624 msgid "You do not have permission to complete this action" msgstr "" @@ -11838,7 +11796,7 @@ msgstr "" msgid "{0} & {1} more" msgstr "" -#: hrms/hr/doctype/overtime_slip/overtime_slip.py:512 +#: hrms/hr/doctype/overtime_slip/overtime_slip.py:518 msgid "{0} : {1}" msgstr "" @@ -11870,7 +11828,7 @@ msgstr "" msgid "{0} Unread" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:237 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:239 msgid "{0} already allocated for Employee {1} for period {2} to {3}" msgstr "" @@ -11878,7 +11836,7 @@ msgstr "" msgid "{0} already exists for employee {1} and period {2}" msgstr "" -#: hrms/hr/doctype/shift_assignment/shift_assignment.py:122 +#: hrms/hr/doctype/shift_assignment/shift_assignment.py:123 msgid "{0} already has an active Shift Assignment {1} for some/all of these dates." msgstr "" @@ -11903,7 +11861,7 @@ msgstr "" msgid "{0} deleted successfully!" msgstr "" -#: frontend/src/components/CheckInPanel.vue:183 +#: frontend/src/components/CheckInPanel.vue:184 #: frontend/src/components/RequestActionSheet.vue:298 msgid "{0} failed!" msgstr "" @@ -11932,15 +11890,15 @@ msgstr "" msgid "{0} is not in Optional Holiday List" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:397 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:399 msgid "{0} leaves allocated successfully" msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:605 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:607 msgid "{0} leaves from allocation for {1} leave type have expired and will be processed during the next scheduled job. It is recommended to expire them now before creating new leave policy assignments." msgstr "" -#: hrms/hr/doctype/leave_allocation/leave_allocation.py:392 +#: hrms/hr/doctype/leave_allocation/leave_allocation.py:394 msgid "{0} leaves were manually allocated by {1} on {2}" msgstr "" @@ -11953,7 +11911,7 @@ msgstr "" msgid "{0} of {1} Completed" msgstr "" -#: frontend/src/components/CheckInPanel.vue:171 +#: frontend/src/components/CheckInPanel.vue:172 msgid "{0} successful!" msgstr "" @@ -11981,7 +11939,7 @@ msgstr "" msgid "{0} {1} {2}?" msgstr "" -#: hrms/hr/utils.py:470 +#: hrms/hr/utils.py:472 msgid "{0}. Check error log for more details." msgstr ""