Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İş modülleri

Referans

İntranet izinleri

intranet içindeki leave alt modülünün başvurusu; izin türleri, yıllık bakiyeler, izin talepleri, gün sayımı, gönderim denetimleri ve onay.

Bu sayfa src/cluster_erp/modules/intranet/leave/ içindeki leave alt modülünü anlatır. İzin türlerini, çalışan, tür ve yıl başına bakiyeleri ve gönderim ile onaydan geçen izin taleplerini tutar. Yarım günler gerçek olduğu için gün sayıları Decimal tipindedir; gönderilen talep, çalışanın günleri iki kez harcayamaması için günleri pending olarak ayırır (src/cluster_erp/modules/intranet/leave/services.py:1-7).

Kapsam ve kaynak

  • Tanımlandığı yer: src/cluster_erp/modules/intranet/models.py (IntranetLeaveType, IntranetLeaveBalance, IntranetLeaveRequest), leave/services.py, leave/routes.py, leave/schemas.py, leave/metadata.py ve leave/seeds.py.
  • Sayım: 3 tablo, leave/routes.py içinde 15 uç, leave/metadata.py içinde 4 ActionMeta girdisi.

Alanlar

Varlık Ana alanlar Kaynak
IntranetLeaveType code (canlı satırlar arasında benzersiz), label, is_paid, accrual_method (annual_grant, monthly_accrual, none), default_annual_days, allows_half_day, requires_document, carryover_max_days, gender_restriction, min_notice_days, counts_calendar_days, approval_chain_code src/cluster_erp/modules/intranet/models.py:101, src/cluster_erp/modules/intranet/models.py:687-731
IntranetLeaveBalance party_id, leave_type_id, period_year (canlı satırlar arasında birlikte benzersiz), entitled, accrued, taken, pending, carried_over; hepsi Numeric(7, 2) src/cluster_erp/modules/intranet/models.py:734-773
IntranetLeaveRequest code, party_id, leave_type_id, start_date, end_date, half_day_start, half_day_end, total_days, reason, status, cover_party_id, document_attachment_id, approval_request_id, submitted_at, decided_at, decided_by, decision_note src/cluster_erp/modules/intranet/models.py:776-833

Modül başlarken kodları eksikse sekiz izin türü tohumlar: annual, sick, unpaid, marriage, bereavement, maternity, paternity ve administrative. Tohum belge dizesi bunları kuruluşun düzenlediği, ülkeden bağımsız başlangıç verisi olarak tanımlar (src/cluster_erp/modules/intranet/leave/seeds.py:1-12, src/cluster_erp/modules/intranet/module.py:66-95). Yeni bakiye satırı türünün default_annual_days değerini entitled ve accrued olarak alır (src/cluster_erp/modules/intranet/leave/services.py:202-233).

Durumlar ve aksiyonlar

Talep draft, submitted, approved, rejected, cancelled veya taken durumundadır (src/cluster_erp/modules/intranet/models.py:93-100).

stateDiagram-v2
 [*] --> draft
 draft --> submitted: submit
 submitted --> approved: approve
 submitted --> rejected: reject
 draft --> cancelled: cancel
 submitted --> cancelled: cancel
 approved --> cancelled: cancel

Düz anlatımla: talep taslak olarak başlar. Gönder denetimleri çalıştırır, günleri ayırır ve varsa talebi bir onay zincirine yönlendirir. Onayla günleri bekleyenden kullanılana taşır; Reddet onları serbest bırakır. İptal Et taslak, gönderilmiş veya onaylanmış durumdan çalışır ve bekleyen ya da kullanılan günleri geri verir (src/cluster_erp/modules/intranet/leave/services.py:55-60, src/cluster_erp/modules/intranet/leave/services.py:647-738). Hiçbir geçiş taken yazmaz (src/cluster_erp/modules/intranet/leave/services.py:55-60).

Aksiyon Etiket Metadata koşulu Kaynak
submit Gönder status = draft src/cluster_erp/modules/intranet/leave/metadata.py:258-266
approve Onayla status = submitted src/cluster_erp/modules/intranet/leave/metadata.py:267-275
reject Reddet status = submitted src/cluster_erp/modules/intranet/leave/metadata.py:276-284
cancel İptal Et status = approved src/cluster_erp/modules/intranet/leave/metadata.py:285-293

Uç, çağıranın yalnızca kapsamındaki talepler üzerinde işlem yapmasına izin verir; Onayla ve Reddet ayrıca intranet_leave_request.approve ister (src/cluster_erp/modules/intranet/leave/routes.py:255-280). Onay ve ret, çalışana intranet.notif_leave_approved ve intranet.notif_leave_rejected i18n anahtarlarıyla bildirim gönderir (src/cluster_erp/modules/intranet/leave/services.py:716-735).

Gün sayımı

_leave_days, sayılan günleri takvim yılı başına döndürür (src/cluster_erp/modules/intranet/leave/services.py:260-334):

  • counts_calendar_days olan tür her günü sayar.
  • Diğer türler şirket tarafı için GetCompanyDefaultTimezone, onun açık günleri için GetOwnerWorkingDays sorar; böylece tatiller ve kapanışlar sayılmaz. Hiçbir takvim yanıt vermezse pazartesiden cumaya sayılır.
  • Başta veya sonda yarım gün, o günün yılından yarım gün düşer.
  • Yılbaşını aşan talep her yıla kendi payını yükler.

Gönderim denetimleri

Gönderim, herhangi bir değişiklikten önce şu denetimleri çalıştırır (src/cluster_erp/modules/intranet/leave/services.py:468-551):

Denetim Hata kodu Kaynak
Aynı kişinin gönderilmiş, onaylanmış veya kullanılmış izniyle çakışma olmaması INTRANET_LEAVE_OVERLAP src/cluster_erp/modules/intranet/leave/services.py:407-437
Cinsiyete bağlı tür, GetPartyById ile okunan eşleşen kayıtlı cinsiyet ister INTRANET_LEAVE_GENDER_RESTRICTED src/cluster_erp/modules/intranet/leave/services.py:439-466
Gün olarak asgari bildirim süresi INTRANET_LEAVE_NOTICE_TOO_SHORT src/cluster_erp/modules/intranet/leave/services.py:486-499
Doğrudan bağlantı veya talepteki ek olarak zorunlu destekleyici belge INTRANET_LEAVE_DOCUMENT_REQUIRED src/cluster_erp/modules/intranet/leave/services.py:500-518
Hak ediş türlerinde her yıl için yeterli bakiye INTRANET_LEAVE_INSUFFICIENT_BALANCE src/cluster_erp/modules/intranet/leave/services.py:521-550

Talep oluşturma da türü, cinsiyet kısıtını ve çakışmayı denetler ve yarım günleri yalnızca tür izin veriyorsa saklar (src/cluster_erp/modules/intranet/leave/services.py:570-620).

Onay zinciri

_route_approval, intranet_leave_request kaynağı ve approve aksiyonu için GetApprovalChainForAction sorar. Zincir varsa SubmitForApproval çağırır ve onay talebi kimliğini saklar. Zincir yoksa veya hata olursa talep elle karar için submitted durumunda kalır (src/cluster_erp/modules/intranet/leave/services.py:740-772). Bkz. onaylar ve onay zincirleri.

Uçlar

Yönlendirici Yollar İzin Kaynak
leave_type_router /leave-types listeleme, oluşturma, okuma, güncelleme, silme intranet_leave_type.* src/cluster_erp/modules/intranet/leave/routes.py:28, src/cluster_erp/modules/intranet/leave/routes.py:40-100
leave_balance_router /leave-balances listeleme, okuma, oluşturma, güncelleme intranet_leave_balance.* src/cluster_erp/modules/intranet/leave/routes.py:29-31, src/cluster_erp/modules/intranet/leave/routes.py:104-166
leave_request_router /leave-requests listeleme, oluşturma, okuma, güncelleme, aksiyon, silme intranet_leave_request.* src/cluster_erp/modules/intranet/leave/routes.py:32-34, src/cluster_erp/modules/intranet/leave/routes.py:170-290

Başka bir kişi için talep oluşturmak intranet_leave_request.read_all ister ve adı verilen taraf aktif bir çalışan olmalıdır (src/cluster_erp/modules/intranet/leave/routes.py:204-223).

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
leave type IntranetLeaveType Hak ediş, bildirim, belge ve kısıt kurallarıyla bir izin çeşidi. İzin türü src/cluster_erp/modules/intranet/models.py:687
leave balance IntranetLeaveBalance Bir kişinin bir yıldaki bir izin türüne ait günleri. İzin bakiyesi src/cluster_erp/modules/intranet/models.py:734
pending days pending Karar verilene kadar gönderilmiş taleplerin ayırdığı günler. Bekleyen günler src/cluster_erp/modules/intranet/models.py:767

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13