src/cluster_erp/modules/intranet/ içindeki intranet modülü, şirket ile çalışanları arasındaki iletişim merkezidir. Zorunlu okuma onaylı gönderileri ve politikaları, şirket etkinliklerini, izin ve talep self servisini, imzalı alındılı resmi belge teslimini (tebligat), uygulama içi bildirim kutusunu, çalışan rehberini, takdiri, hızlı bağlantıları ve acil uyarıları kapsar (src/cluster_erp/modules/intranet/module.py:1-11). Bu sayfa genel bakıştır; her alt konunun kendi sayfası vardır.
Bir bakışta¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Paket | src/cluster_erp/modules/intranet/ |
klasör |
| Modül sınıfı | Module |
src/cluster_erp/modules/intranet/module.py:30 |
name / version |
intranet / 0.1.0 |
src/cluster_erp/modules/intranet/module.py:35-41 |
| API öneki | /api/v1/intranet |
src/cluster_erp/modules/intranet/module.py:172 |
| Alt modüller | 10: content, feed, events, leave, requests, delivery, directory, notifications, engagement, my_documents; ayrıca access.py, context.py, notify.py, privacy_handlers.py, retention_handlers.py, validation.py |
klasör listesi |
| Tablolar | 30, hepsi tek bir models.py içinde |
src/cluster_erp/modules/intranet/models.py içindeki __tablename__ |
| Metadata'daki varlıklar | entities içinde 17 anahtar |
src/cluster_erp/modules/intranet/module.py:539-557 |
| Uçlar | Pakette 117 uç dekoratörü | @...router.get/post/put/patch/delete için grep |
| Aksiyonlar | 23 ActionMeta( geçişi; events/metadata.py aksiyonlarını tek bir yardımcıyla kurar |
pakette grep "ActionMeta(" |
| Göçler | 8 dosya | metni 30 tablo adından birini içeren migrations/versions/ dosyaları |
| Sözleşmeler | 6 tüketir, 18 üretir | "Olaylar ve sorgular" bölümüne bakın |
| Web uygulamasında varlık | Katalog uygulaması intranet; kilitli bir paketten feed, home, events, me ve admin özel bileşenleri |
src/cluster_erp/modules/app_store/catalog.json (intranet girdisi), gated_apps/intranet/app.js:1407 |
| Masaüstünde varlık | yalnızca genel bileşenler | src/cluster_erp/desktop/modules/ içinde intranet klasörü yok |
Modül ne yapar¶
- Alanlarda gönderi, sayfa, politika ve uyarıları inceleme, onay, sürümlü yayın ve zorunlu okumaların onayıyla yayımlar (
src/cluster_erp/modules/intranet/content/services.py:1-12). Bkz. içerik ve akış. - Gönderileri, etkinlikleri ve takdiri tek bir zaman akışında birleştirir (
src/cluster_erp/modules/intranet/feed/services.py:1-5). - Davetli, katılım yanıtlı, kapasiteli ve değişiklik günlüklü şirket etkinlikleri yürütür (
src/cluster_erp/modules/intranet/events/lifecycle.py:1-21). Bkz. etkinlikler. - İzin türlerini, bakiyeleri ve onaylı izin taleplerini yönetir (
src/cluster_erp/modules/intranet/leave/services.py:1-7). Bkz. izin. - Avans ve ekipman gibi yapılandırılabilir çalışan taleplerini yönetir (
src/cluster_erp/modules/intranet/requests/services.py:1-2). Bkz. talepler. - Resmi belgeleri alındıyla çalışanlara teslim eder (
src/cluster_erp/modules/intranet/delivery/services.py:1-4). Bkz. bildirimler ve tebligat. - Çalışan ve taraf kayıtlarından okunan canlı bir rehber ve organizasyon şeması gösterir (
src/cluster_erp/modules/intranet/directory/services.py:1-8). Bkz. rehber. - Takdiri, hızlı bağlantıları ve acil uyarıları tutar (
src/cluster_erp/modules/intranet/engagement/services.py:1-6). Bkz. katılım. - Çalışanın kendi taraf kartına bağlı belgeleri listeler (
src/cluster_erp/modules/intranet/my_documents/services.py:10-15). Bkz. belgelerim.
Alt modüller¶
| Alt modül | Amaç | Yönlendiriciler | Sayfa |
|---|---|---|---|
content |
Alanlar, gönderiler, hedef kitleler, erişim izinleri, ayarlar, yorumlar | /spaces, /content, /acl, /segments, /settings, /comments |
İçerik ve akış |
feed |
Gönderiler, etkinlikler ve takdir üzerinde tek zaman akışı | /feed |
İçerik ve akış |
events |
Şirket etkinlikleri ve medya | /events, /media |
Etkinlikler |
leave |
İzin türleri, bakiyeler, talepler | /leave-types, /leave-balances, /leave-requests |
İzin |
requests |
Talep türleri ve talepler | /request-types, /requests |
Talepler |
delivery |
Resmi belge teslimi | /deliveries |
Bildirimler ve tebligat |
notifications |
Uygulama içi gelen kutusu | /notifications |
Bildirimler ve tebligat |
directory |
Canlı çalışan rehberi | /directory |
Rehber |
engagement |
Takdir, hızlı bağlantılar, acil uyarılar | /kudos, /quick-links, /alerts |
Katılım |
my_documents |
Çalışanın kendi belgeleri | /my-documents |
Belgelerim |
21 yönlendiricinin tümü /api/v1/intranet önekli tek bir modül yönlendiricisine eklenir (src/cluster_erp/modules/intranet/module.py:133-197). Erişim, hedef kitle ve saklama kuralları erişim, hedef kitle ve saklama sayfasındadır.
Veri modeli¶
30 tablonun tümü src/cluster_erp/modules/intranet/models.py içinde tanımlıdır. Her alt modül sayfası kendi alanlarını listeler. Model belge dizesi bağlayıcı kararları belirtir: erişim izinleri ve hedef kitleler ayrı eksenlerdir, içerik bir durum makinesidir, onay analitikten ayrı tutulan bir denetim kaydıdır, analitik yalnızca toplu ve asgari grup büyüklüklüdür ve çalışan verisi burada saklanmaz (src/cluster_erp/modules/intranet/models.py:6-33). Durumlar, kanallar ve kategoriler için kapalı sözlükler dosyanın başında demetler olarak durur (src/cluster_erp/modules/intranet/models.py:64-147). İzin gün sayıları, yarım günler kesin olsun diye Numeric tipindedir (src/cluster_erp/modules/intranet/models.py:734-771).
Ekranlar ve metadata¶
get_metadata, İntranet (İngilizce Intranet) kenar çubuğu grubunu tanımlar (src/cluster_erp/modules/intranet/module.py:398-537). Deneyimi beş bölüm oluşturur: Akış, Etkinlikler, Kişiler, Benim ve Yönetim. Akış, Etkinlikler, Benim ve Yönetim özel bileşenlerdir; Kişiler, intranet_employee_projection üzerinde bir listedir. Yönetim intranet_settings.update ister (src/cluster_erp/modules/intranet/module.py:405-442). On bölüm daha hidden_from_bar=True taşır ve aramadan ile derin bağlantılardan erişilebilir kalır: Gönderiler, Etkinlik kayıtları, İzinler, Talepler, Belgelerim, Tebligat, Bildirimler, Takdir, Acil uyarılar ve Ayarlar (src/cluster_erp/modules/intranet/module.py:443-536). Ayarlar görünümünün altı sekmesi vardır: alanlar, hedef kitleler, izin türleri, talep türleri, hızlı bağlantılar ve intranet ayarları (src/cluster_erp/modules/intranet/module.py:521-536). Web paketi özel bileşen anahtarlarını çizicilerine eşler (gated_apps/intranet/app.js:1407); bkz. kilitli uygulama paketleri.
Durum ve aksiyonlar¶
Her alt modül sayfası kendi durumlarını ve aksiyonlarını listeler. Tüm yaşam döngüleri aksiyon uçlarından geçer; güncelleme yolları durumu değiştirmez (src/cluster_erp/modules/intranet/content/services.py:794-806). Karar aksiyonları .update iznine ek olarak yükseltilmiş bir izin ister: yayın aksiyonları için intranet_content.publish, onaylar için intranet_leave_request.approve ve intranet_request.approve (src/cluster_erp/modules/intranet/content/routes.py:255-257, src/cluster_erp/modules/intranet/leave/routes.py:274-276, src/cluster_erp/modules/intranet/requests/routes.py:197-199).
İş kuralları¶
- Kişisel bir kayıt (izin, talep, tebligat) yalnızca aktif çalışan olan bir tarafı adlandırabilir (
src/cluster_erp/modules/intranet/access.py:124-144). - İşlemi yapan kişi, oturum açan kullanıcının çalışan bağlantısından
GetPartyForEmployeeile çözülür; çalışan bağlantısı olmayan oturumun tarafı yoktur (src/cluster_erp/modules/intranet/context.py:20-30). - İş anahtarları kurum dizilerinden gelir, örneğin
intranet_official_delivery(src/cluster_erp/modules/intranet/delivery/services.py:137). - Form yükündeki boş bir dize değer yok sayılır (
src/cluster_erp/modules/intranet/validation.py:1-25).
Olaylar ve sorgular¶
Modül 6 sözleşme tüketir ve 18 sözleşme üretir; sayım fleet modülü sayfasındaki gibi, çok satırlı çağrılar dahil yapılmıştır. Tam liste sözleşmeler başvurusunda yer alır.
| Yön | Sözleşme sınıfı | İşleyici veya yayıcı | Kaynak |
|---|---|---|---|
| abone olur | IntranetNotify |
_handle_notify |
src/cluster_erp/modules/intranet/module.py:199-203, src/cluster_erp/modules/intranet/module.py:305-345 |
| sorgu yanıtlar | GetUpcomingIntranetEvents |
_handle_upcoming_events |
src/cluster_erp/modules/intranet/module.py:205-206, src/cluster_erp/modules/intranet/module.py:291-303 |
| abone olur | CollectSubjectData, AnonymiseSubject |
privacy_handlers.py |
src/cluster_erp/modules/intranet/module.py:207-223 |
| abone olur | RetentionSweep |
sweep_retention |
src/cluster_erp/modules/intranet/module.py:224-229 |
| abone olur | DescribeFieldConsumers |
_describe_field_consumers |
src/cluster_erp/modules/intranet/module.py:230-236, src/cluster_erp/modules/intranet/module.py:238-289 |
| yayar | IntranetPostPublished |
içerik yayın ucu | src/cluster_erp/modules/intranet/content/routes.py:266-283 |
| yayar | IntranetEventPublished, IntranetEventUpdated, IntranetEventCancelled |
EventService |
src/cluster_erp/modules/intranet/events/services.py:432, src/cluster_erp/modules/intranet/events/services.py:498, src/cluster_erp/modules/intranet/events/services.py:591 |
| sorgular | GetPartyForEmployee, GetTeamPartyIds, ListDirectoryEmployees, SearchParties, GetProjectMemberPartyIds |
erişim, rehber, hedef kitleler | src/cluster_erp/modules/intranet/context.py:25-27, src/cluster_erp/modules/intranet/access.py:181-186, src/cluster_erp/modules/intranet/directory/services.py:57-90, src/cluster_erp/modules/intranet/content/services.py:494-502 |
| sorgular | GetApprovalChainForAction, SubmitForApproval |
izin ve talepler | src/cluster_erp/modules/intranet/leave/services.py:740-772, src/cluster_erp/modules/intranet/requests/services.py:289-309 |
| sorgular | GetCompanyDefaultTimezone, GetOwnerWorkingDays, GetPartyById |
izin günü sayımı ve cinsiyet denetimi | src/cluster_erp/modules/intranet/leave/services.py:290-306, src/cluster_erp/modules/intranet/leave/services.py:453 |
| yayar | ResolveEntityEmails, SendTransactionalEmail |
fan_out_email |
src/cluster_erp/modules/intranet/notify.py:20-65 |
| sorgular | GetDocumentsForEntity, ResolveDocumentVersionFile |
belgelerim, tebligat indirme | src/cluster_erp/modules/intranet/my_documents/services.py:17-28, src/cluster_erp/modules/intranet/delivery/routes.py:143-150 |
İzinler¶
| İzin anahtarı ailesi | Kullanan | Kaynak |
|---|---|---|
intranet_content.read, .create, .update, .delete, .publish, .read_all |
içerik, yorumlar, erişim izinleri, akış, medya | src/cluster_erp/modules/intranet/content/routes.py:116-546, src/cluster_erp/modules/intranet/feed/routes.py:34 |
intranet_space.*, intranet_segment.*, intranet_settings.* |
alanlar, hedef kitleler, ayarlar | src/cluster_erp/modules/intranet/content/routes.py:47-679 |
intranet_event.* |
etkinlikler | src/cluster_erp/modules/intranet/events/routes.py:57-298 |
.approve ve .read_all dahil intranet_leave_type.*, intranet_leave_balance.*, intranet_leave_request.* |
izin | src/cluster_erp/modules/intranet/leave/routes.py:40-286 |
.approve ve .read_all dahil intranet_request_type.*, intranet_request.* |
talepler | src/cluster_erp/modules/intranet/requests/routes.py:34-209 |
.read_all dahil intranet_official_delivery.* |
tebligat | src/cluster_erp/modules/intranet/delivery/routes.py:50-245 |
intranet_notification.read, .update |
gelen kutusu | src/cluster_erp/modules/intranet/notifications/routes.py:31-193 |
intranet_employee_projection.read |
rehber | src/cluster_erp/modules/intranet/directory/routes.py:22-75 |
intranet_kudos.*, intranet_quick_link.*, intranet_alert.* |
katılım | src/cluster_erp/modules/intranet/engagement/routes.py:35-242 |
Bu anahtarlar üzerine kurulan satır düzeyi katmanlar erişim, hedef kitle ve saklama sayfasındadır.
Gizlilik, saklama ve geçmiş¶
privacy_handlers.py, yorumlardan tebligata kadar on iki intranet kayıt sınıfı için ilgili kişi taleplerini yanıtlar. Anonimleştirme, operatörün iş ilişkisi kayıtlarına dair kararını izler (src/cluster_erp/modules/intranet/privacy_handlers.py:1-11); bkz. gizlilik ve ilgili kişi talepleri. retention_handlers.py, her saklama taramasında kiracının penceresini aşan analitik olaylarını siler (src/cluster_erp/modules/intranet/retention_handlers.py:1-55). Diğer silmeler deleted_at alanını doldurur, örneğin gönderilerde (src/cluster_erp/modules/intranet/content/routes.py:287-301). Değişiklikleri değişiklik geçmişi yakalar.
Analitik olgular¶
Bu modülde analytics_facts.py yoktur. Bir gönderinin okuma analitiği, modül içinde asgari grup büyüklüğüyle canlı okunur; bkz. erişim, hedef kitle ve saklama.
Ayarlar ve referans verileri¶
- Kiracı veritabanı başına tek bir ayar satırı asgari grup büyüklüğünü (varsayılan 5), inceleme aralığını, analitik saklama penceresini (varsayılan 730 gün), acil durum şeridini, ana sayfa düzenini ve karşılama mesajını tutar (
src/cluster_erp/modules/intranet/models.py:155-200). Satır başlangıçta oluşturulur (src/cluster_erp/modules/intranet/module.py:55-64). - İzin türleri ve talep türleri, kodları eksikse başlangıçta tohumlanır; kuruluş iki listeyi de genişletir (
src/cluster_erp/modules/intranet/module.py:66-131,src/cluster_erp/modules/intranet/leave/seeds.py:1-12,src/cluster_erp/modules/intranet/requests/seeds.py:8-36). - Modül kiracı alanı ekranına,
manager_party_idtaraf alanının yumuşak, cinsiyete bağlı bir izin türü varkengenderalanının ise sert bağımlılık olduğunu bildirir (src/cluster_erp/modules/intranet/module.py:238-289). Bkz. kiracı alanları.
Testler¶
Ada göre (web-client/_e2e_intranet*.mjs) ve tests/*.py içinde intranet için grep ile bulundu.
| Tür | Dosya | Kapsar |
|---|---|---|
| e2e | web-client/_e2e_intranet.mjs, web-client/_e2e_intranet_services.mjs |
modülü uçtan uca |
| e2e | web-client/_e2e_intranet_acl.mjs, web-client/_e2e_intranet_authz.mjs, web-client/_e2e_intranet_confidential.mjs, web-client/_e2e_intranet_isolation.mjs |
erişim izinleri, yetkiler, gizli tebligat, yalıtım |
| e2e | web-client/_e2e_intranet_audience.mjs |
hedef kitle oluşturucu |
| e2e | web-client/_e2e_intranet_feed_ui.mjs, web-client/_e2e_intranet_compose_ui.mjs, web-client/_e2e_intranet_home.mjs |
akış, oluşturucu, ana sayfa |
| e2e | web-client/_e2e_intranet_events_lifecycle.mjs |
etkinlikler |
| e2e | web-client/_e2e_intranet_leave_rules.mjs, web-client/_e2e_intranet_selfservice.mjs |
izin ve self servis |
| e2e | web-client/_e2e_intranet_mydocs.mjs, web-client/_e2e_intranet_notif_i18n.mjs |
belgelerim, yerelleştirilmiş bildirimler |
| pytest | tests/test_intranet_event_lifecycle.py, tests/test_intranet_request_type_seeds.py, tests/test_leave_day_math.py |
etkinlik kuralları, talep tohumları, izin günü sayımı |
| pytest | tests/test_data_map_package1.py, tests/test_sensitive_fields_policy.py, tests/test_system_mail.py, tests/test_tenant_fields.py, tests/test_demo_data_live.py |
intranet geçen dosyalar |
Tutarsızlıklar¶
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| space | IntranetSpace |
İntranet içeriğini gruplayan ve erişim izinleri taşıyabilen kap. | Alan | src/cluster_erp/modules/intranet/models.py:202 |
| official delivery | IntranetOfficialDelivery |
Bir belgenin alındıyla çalışana resmi teslimi. | Tebligat | src/cluster_erp/modules/intranet/models.py:936 |
| segment | IntranetSegment |
İçerik ve etkinlikleri hedeflemek için kullanılan kural tabanlı çalışan kitlesi. | Hedef kitle | src/cluster_erp/modules/intranet/models.py:410 |
İlgili sayfalar¶
- Modüller dizini
- İçerik ve akış
- Etkinlikler
- İzin
- Talepler
- Rehber
- Bildirimler ve tebligat
- Katılım
- Belgelerim
- Erişim, hedef kitle ve saklama
- Bu modülün API başvurusu
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.