add absent_reason field to Attendance doctype

Adds a Select field 'Absence Reason' visible only when status is Absent,
with 12 predefined Azerbaijani-language absence reason options.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ali 2026-03-25 17:24:40 +04:00
parent a66945f7d7
commit 2c7eadc1cd
1 changed files with 23 additions and 1 deletions

View File

@ -935,7 +935,7 @@ def create_custom_fields():
insert_after='iban'
),
dict(
fieldname='сorrespondent_account',
fieldname='correspondent_account',
label='Correspondent account (m/h)',
fieldtype='Data',
insert_after='payment_account'
@ -1543,8 +1543,30 @@ def create_custom_fields():
# =====================================================
# EMPLOYEE - AMAS DATA INTEGRATION
# =====================================================
"Attendance": [
dict(
fieldname='absent_reason',
label='Absence Reason',
fieldtype='Select',
insert_after='leave_type',
depends_on='eval:doc.status == "Absent"',
options='\nİşçinin ödənişli əsas məzuniyyətdən və müvafiq hallarda əlavə məzuniyyətlərindən istifadə etməsi\nİşçinin sosial məzuniyyətlərindən istifadə etməsi\nİşçinin ödənişsiz məzuniyyətlərindən istifadə etməsi\nİşçinin təhsil məzuniyyətlərindən istifadə etməsi\nİşçinin xəstələnməsi\nƏmək müqaviləsinə xitam verilməsi\nNövbəli iş vaxtı\nAyın ortası işə qəbul olma\nQeyd olunan ay üzrə işəgötürənlə əmək müqaviləsi bağlanılmamışdır.\nİşçinin işəmuzd işləməsi\nİşçinin qanunvericiliklə nəzərdə tutulmuş hallarda və qaydada dövlət və ictimai vəzifələrin yerinə yetirilməsinə cəlb edildiyi müddət\nİşçi barəsində məhkəmə hökmünün qanuni qüvvəyə minməsinədək müəyyən müddətə azadlıqdan məhrum edilməsi',
reqd=0
),
],
}
# Rename: remove old Cyrillic-prefixed field if it still exists
_cyrillic_field = "Bank Account-\u0441orrespondent_account"
if frappe.db.exists("Custom Field", _cyrillic_field):
try:
frappe.delete_doc("Custom Field", _cyrillic_field)
frappe.db.commit()
print("Deleted legacy Cyrillic field: сorrespondent_account")
except Exception as e:
print(f"Failed to delete legacy Cyrillic field: {e}")
for doctype, fields in custom_fields.items():
for field in fields:
# Проверяем наличие fieldname перед обработкой