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

Modül

Owned organisations modülü (owned_organisations)

Şirketin kendi kuruluşlarını, departmanlarını, çalışanlarını ve görevlendirmelerini tutan owned_organisations modülünün sayfası.

src/cluster_erp/modules/owned_organisations/ içindeki owned_organisations modülü, şirketin kendisine ait kuruluşları, örneğin bir merkez ve şubeleri, departman ağaçlarıyla birlikte tutar. Ayrıca her kişinin şirket düzeyindeki çalışan kaydını ve bir kişiyi bir kuruluşa, departmana ve pozisyona yerleştiren görevlendirmeleri tutar. Her kuruluş ve her çalışan bir tarafın rolüdür; bkz. taraf birleştirme.

Bir bakışta

Öğe Değer Kaynak
Paket src/cluster_erp/modules/owned_organisations/ klasör
Modül sınıfı Module src/cluster_erp/modules/owned_organisations/module.py:18
name / version owned_organisations / 0.1.0 src/cluster_erp/modules/owned_organisations/module.py:19-25
API öneki /api/v1/owned_organisations (ModuleBase.api_prefix) src/cluster_erp/core/module_base.py:37-38
Alt modüller 3: organisations, departments, employees klasör listesi
Tablolar 4: owned_orgs_organisations, owned_orgs_departments, owned_orgs_employees, owned_orgs_assignments src/cluster_erp/modules/owned_organisations/models.py:1-17
Metadata'daki varlıklar 4: organisation, department, employee, assignment src/cluster_erp/modules/owned_organisations/module.py:443-448
Uçlar Pakette 28 uç dekoratörü @router. için grep
Web uygulamasında yeri Katalog uygulaması parties içinde, taraf listesinin Kuruluşlar sekmesi olarak src/cluster_erp/modules/app_store/catalog.json (parties girdisi), src/cluster_erp/modules/parties/module.py:589-597
Masaüstünde yeri Yalnızca genel bileşenler; src/cluster_erp/desktop/modules/ içinde klasör yok klasör

Modül ne yapar

  • Sahip olunan her kuruluşu ad, açıklama, kuruluş tarihi, merkez bayrağı ve varsayılan bir IANA saat dilimiyle kaydeder (src/cluster_erp/modules/owned_organisations/organisations/models.py:21-51).
  • Departmanları bir kuruluş içinde ağaç olarak kaydeder (src/cluster_erp/modules/owned_organisations/departments/models.py:16-39).
  • Her kişi için istihdam, yasal, diyet, acil durum kişisi ve yönetici alanlarıyla şirket düzeyinde tek bir çalışan kaydı tutar (src/cluster_erp/modules/owned_organisations/employees/models.py:18-66).
  • Bir çalışanı pozisyon, istihdam türü ve tarihlerle bir veya daha fazla kuruluşa görevlendirmelerle yerleştirir (src/cluster_erp/modules/owned_organisations/employees/models.py:69-108).
  • Diğer modüllerin merkez, şirket saat dilimi, rehber ve bir yöneticinin ekibi hakkındaki sorularını yanıtlar (src/cluster_erp/modules/owned_organisations/module.py:90-99).

Alt modüller

Alt modül Amaç Ana varlıklar Yönlendirici Kaynak
organisations Sahip olunan kuruluşlar OwnedOrganisation /api/v1/owned_organisations/organisations src/cluster_erp/modules/owned_organisations/organisations/routes.py:28
departments Departman ağaçları Department /api/v1/owned_organisations/departments src/cluster_erp/modules/owned_organisations/departments/routes.py:21
employees Çalışanlar ve görevlendirmeler Employee, Assignment /api/v1/owned_organisations/employees/, /api/v1/owned_organisations/assignments/ src/cluster_erp/modules/owned_organisations/employees/routes.py:35

Üç yönlendirici, uygulama yetkisine bağlı tek bir modül yönlendiricisi altında durur (src/cluster_erp/modules/owned_organisations/module.py:49-54). Metadata'daki dört varlığın tamamı organisations/metadata.py içinde bildirilir (src/cluster_erp/modules/owned_organisations/module.py:427-432).

Veri modeli

Varlık Tablo Anahtar alanlar Notlar Kaynak
OwnedOrganisation owned_orgs_organisations code, party_id, name, description, is_headquarters, founded_date, is_active, default_timezone, extra taraf başına bir canlı kuruluş (kısmi benzersiz indeks) src/cluster_erp/modules/owned_organisations/organisations/models.py:21-60
Department owned_orgs_departments code, organisation_id, name, description, parent_id, is_active, extra parent_id başka bir departmanı gösterir src/cluster_erp/modules/owned_organisations/departments/models.py:16-39
Employee owned_orgs_employees code, party_id, employee_number, hire_date, tax_no, national_id_no, social_security_no, blood_group, diet_preferences, diet_note, acil durum kişisi alanları, manager_party_id, is_active, extra taraf başına bir canlı çalışan src/cluster_erp/modules/owned_organisations/employees/models.py:18-66
Assignment owned_orgs_assignments code, employee_id, party_id, organisation_id, department_id, position, employment_type, start_date, end_date, is_active, extra party_id çalışanın tarafını kopyalar src/cluster_erp/modules/owned_organisations/employees/models.py:69-108

party_id ve manager_party_id düz UUID sütunlarıdır, parties tablolarına yabancı anahtar değildir (src/cluster_erp/modules/owned_organisations/organisations/models.py:41, src/cluster_erp/modules/owned_organisations/employees/models.py:59-61). OwnedOrganisation model yorumu, kısmi benzersiz indeksin kullanıcının bir kuruluşu kullanımdan kaldırıp aynı taraf için yenisini açmasına izin verdiğini belirtir (src/cluster_erp/modules/owned_organisations/organisations/models.py:38-40).

Ekranlar ve metadata

Modül kendine ait bir kenar çubuğu grubu bildirmez; kuruluşları taraf listesinin bir sekmesidir (src/cluster_erp/modules/owned_organisations/module.py:440-442, src/cluster_erp/modules/parties/module.py:589-597). Kuruluş, çalışan ve görevlendirme IdentityMeta bildirir; bu yüzden birini açmak taraf kartını açar (src/cluster_erp/modules/owned_organisations/organisations/metadata.py:53, src/cluster_erp/modules/owned_organisations/organisations/metadata.py:355, src/cluster_erp/modules/owned_organisations/organisations/metadata.py:590). Kuruluş ayrıntısında Genel, Departmanlar (ağaç) ve Çalışanlar (kuruluşun görevlendirmeleri) sekmeleri vardır (src/cluster_erp/modules/owned_organisations/organisations/metadata.py:90-110). Departmanlar kuruluşlarının altında ağaç görünümü kullanır (src/cluster_erp/modules/owned_organisations/organisations/metadata.py:252-281). Altı çalışan alanı permission="employee.read_sensitive" taşır: vergi numarası, kimlik numarası, sosyal güvenlik numarası, kan grubu, diyet tercihleri ve diyet notu (src/cluster_erp/modules/owned_organisations/organisations/metadata.py:469-549).

Durumlar ve aksiyonlar

Modül hiçbir ActionMeta bildirmez (pakette ActionMeta( için yapılan grep hiçbir şey bulmaz). Kayıtlar bir is_active bayrağı taşır, durum alanı yoktur (src/cluster_erp/modules/owned_organisations/organisations/models.py:46, src/cluster_erp/modules/owned_organisations/employees/models.py:62, src/cluster_erp/modules/owned_organisations/employees/models.py:102).

Aksiyon Etiket Koşul Uç İzin Kaynak
yok yok yok yok yok src/cluster_erp/modules/owned_organisations/organisations/metadata.py

İş kuralları

  • party_id olmadan oluşturulan bir kuruluş, tarafını EnsurePartyForOrganisation ile alır; hiçbir taraf dönmezse oluşturma başarısız olur (src/cluster_erp/modules/owned_organisations/organisations/services.py:74-94).
  • default_timezone bilinen bir IANA bölge adı olmalı veya boş olmalıdır (src/cluster_erp/modules/owned_organisations/organisations/schemas.py:13-19).
  • Zaten canlı bir çalışan kaydı olan bir taraf için çalışan oluşturmak var olan kaydı döndürür (src/cluster_erp/modules/owned_organisations/employees/services.py:63-66).
  • Bir çalışan oluştururken acil durum kişisinin adı ve telefonu gerekir (src/cluster_erp/modules/owned_organisations/employees/schemas.py:47-49).
  • Bir görevlendirme çalışan yerine tarafı belirtebilir; servis o zaman kişinin çalışan kaydını bulur veya oluşturur (src/cluster_erp/modules/owned_organisations/employees/services.py:194-203, src/cluster_erp/modules/owned_organisations/employees/services.py:78-86).
  • İstihdam türleri full_time, part_time, contract, intern ve freelance; kan grupları sekiz ABO ve Rh grubudur (src/cluster_erp/modules/owned_organisations/employees/schemas.py:11-29).
  • employee.read_sensitive ile korunan alanlar, bu koda sahip olmayan bir çağıran için yanıtlardan çıkarılır ve girdide yok sayılır (src/cluster_erp/modules/owned_organisations/employees/routes.py:57-78); bkz. alan ve satır erişimi.
  • Kodlar owned_organisation, department, employee ve assignment yıllık dizilerinden gelir (src/cluster_erp/modules/owned_organisations/organisations/services.py:71, src/cluster_erp/modules/owned_organisations/departments/services.py:46, src/cluster_erp/modules/owned_organisations/employees/services.py:89, src/cluster_erp/modules/owned_organisations/employees/services.py:214).

Olaylar ve sorgular

Modül 10 sözleşme tüketir ve 5 sözleşme üretir; sayım parties modülü sayfasındaki gibi yapıldı.

Yön Sözleşme sınıfı İşleyici veya yayan Kaynak
yayar OrganisationCreated, OrganisationUpdated OwnedOrganisationService.create, .update src/cluster_erp/modules/owned_organisations/organisations/services.py:103-110, src/cluster_erp/modules/owned_organisations/organisations/services.py:138-145
yayar PartyRoleSet EmployeeService._insert, .delete src/cluster_erp/modules/owned_organisations/employees/services.py:93-100, src/cluster_erp/modules/owned_organisations/employees/services.py:132-139
yayar EmployeeAdded AssignmentService.create src/cluster_erp/modules/owned_organisations/employees/services.py:232-239
sorgular EnsurePartyForOrganisation OwnedOrganisationService.create src/cluster_erp/modules/owned_organisations/organisations/services.py:77-84
sorguyu yanıtlar GetOrganisationById _handle_get_org src/cluster_erp/modules/owned_organisations/module.py:90, src/cluster_erp/modules/owned_organisations/module.py:228-249
sorguyu yanıtlar GetHeadquartersOrganisation _handle_get_headquarters src/cluster_erp/modules/owned_organisations/module.py:93, src/cluster_erp/modules/owned_organisations/module.py:251-277
sorguyu yanıtlar GetCompanyDefaultTimezone _handle_get_company_default_timezone src/cluster_erp/modules/owned_organisations/module.py:94-96, src/cluster_erp/modules/owned_organisations/module.py:279-343
sorguyu yanıtlar GetPartyForEmployee _handle_get_party_for_employee src/cluster_erp/modules/owned_organisations/module.py:97, src/cluster_erp/modules/owned_organisations/module.py:101-126
sorguyu yanıtlar ListDirectoryEmployees _handle_list_directory_employees src/cluster_erp/modules/owned_organisations/module.py:98, src/cluster_erp/modules/owned_organisations/module.py:128-195
sorguyu yanıtlar GetTeamPartyIds _handle_get_team_party_ids src/cluster_erp/modules/owned_organisations/module.py:99, src/cluster_erp/modules/owned_organisations/module.py:197-226
abone olur PartyDeleted, RecordActivated _on_party_deleted, _on_record_activated src/cluster_erp/modules/owned_organisations/module.py:70-71, src/cluster_erp/modules/owned_organisations/module.py:348-420
abone olur CollectSubjectData, AnonymiseSubject collect_subject_data, anonymise_subject src/cluster_erp/modules/owned_organisations/module.py:81-88

Üç yanıt bilinmesi gereken kurallar taşır:

  • Merkez, is_headquarters işaretli kuruluştur, yoksa en eski canlı kuruluştur (src/cluster_erp/modules/owned_organisations/module.py:251-277).
  • Şirket saat dilimi, verilen kuruluşun kendi dilimi, sonra merkezinki, sonra merkez bayrağına ve kimliğe göre sıralı herhangi bir etkin kuruluşunkidir. Birden çok kuruluş merkez olarak işaretliyse bir uyarı günlüğe yazılır (src/cluster_erp/modules/owned_organisations/module.py:279-343). Dilimin nerede kullanıldığını çalışma süresi sayfası açıklar.
  • Bir yöneticinin ekibi, manager_party_id zincirinde yöneticinin altındaki her canlı ve etkin çalışandır; döngülerde duran özyinelemeli bir sorguyla bulunur (src/cluster_erp/modules/owned_organisations/module.py:197-226).

Yetkiler

İzin anahtarı Kullanan Kaynak
organisation.read, .create, .update, .delete, .bulk_delete kuruluş uçları src/cluster_erp/modules/owned_organisations/organisations/routes.py:49-125
department.read, .create, .update, .delete, .bulk_delete departman uçları src/cluster_erp/modules/owned_organisations/departments/routes.py:39-127
employee.read, .create, .update, .delete, .bulk_delete çalışan uçları src/cluster_erp/modules/owned_organisations/employees/routes.py:48-132
employee.read_sensitive altı çalışan alanındaki alan kapısı src/cluster_erp/modules/owned_organisations/organisations/metadata.py:469-549
assignment.read, .create, .update, .delete, .bulk_delete görevlendirme uçları src/cluster_erp/modules/owned_organisations/employees/routes.py:149-268

Gizlilik, saklama ve geçmiş

privacy_handlers.py bir kişinin tuttuğu istihdam kayıtlarını bildirir. Tanımlayıcıları, sağlık verilerini ve acil durum kişisi alanlarını yalnızca talep include_employment_records taşıdığında anonimleştirir; docstring'inin belirttiği gibi istihdam kayıtlarının yasal saklama yükümlülükleri vardır (src/cluster_erp/modules/owned_organisations/privacy_handlers.py:1-9). Bir taraf kullanımdan kaldırıldığında çalışan kayıtları party_deactivated nedeniyle geçici olarak silinir; tarafı yeniden etkinleştirmek tam olarak bu satırları geri getirir (src/cluster_erp/modules/owned_organisations/module.py:348-420). Bkz. gizlilik ve ilgili kişi talepleri ve değişiklik geçmişi.

Analitik olguları

Bu modülün analytics_facts.py dosyası yoktur.

Ayarlar ve başvuru verileri

Modülün ayarlar bölümü yoktur ve başlangıçta hiçbir şey tohumlamaz (src/cluster_erp/modules/owned_organisations/module.py:31-33). Kuruluşlar, departmanlar, çalışanlar ve görevlendirmeler extra içinde kiracı tanımlı alanları kabul eder (src/cluster_erp/modules/owned_organisations/organisations/metadata.py:36-48); bkz. kiracı alanları.

Testler

tests/ içinde modules.owned_organisations için grep ile ve web-client/ içinde dosya adıyla bulundu.

Tür Dosya Kapsam
pytest tests/test_party_form_contract.py taraf formunun kullandığı çalışan metadata'sı
pytest tests/test_data_map_package2.py çalışan kartındaki hassas alan kapısı
e2e web-client/_e2e_employee_field_gate.mjs canlı sunucuya karşı alan kapısı
e2e web-client/_e2e_parties.mjs taraflar uygulaması içindeki kuruluş ayrıntısı

Tutarsızlıklar

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
owned organisation OwnedOrganisation Şirketin kendisine ait bir kuruluş, örneğin bir merkez veya şube. Kuruluş src/cluster_erp/modules/owned_organisations/organisations/models.py:21
employee record Employee Bir kişinin şirket düzeyindeki personel kaydı. Çalışan kaydı src/cluster_erp/modules/owned_organisations/employees/models.py:18
assignment Assignment Bir çalışanın bir dönem için bir kuruluşa, departmana ve pozisyona yerleştirilmesi. Görevlendirme src/cluster_erp/modules/owned_organisations/employees/models.py:69
head office is_headquarters Şirketin merkezi olarak işaretlenen kuruluş. Merkez src/cluster_erp/modules/owned_organisations/organisations/models.py:44

İlgili sayfalar


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

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