Bu sayfa src/cluster_erp/modules/intranet/events/ içindeki events alt modülünü anlatır. İntranet etkinliği (IntranetEvent); davetleri, yanıtları (RSVP), isteğe bağlı bekleme listeli kapasitesi ve her değişikliğin günlüğü olan bir şirket etkinliğidir. Kurallar events/lifecycle.py içinde saf işlevler olarak durur; servis satırları yükler, bu işlevlere sorar ve sonucu geri yazar (src/cluster_erp/modules/intranet/events/lifecycle.py:1-21).
Kapsam ve kaynak¶
- Tanımlandığı yer:
src/cluster_erp/modules/intranet/models.py(IntranetEvent,IntranetEventInvitation,IntranetEventChange,IntranetEventRsvp,IntranetMedia),events/lifecycle.py,events/services.py,events/routes.py,events/schemas.pyveevents/metadata.py. - Sayım: 5 tablo,
events/routes.pyiçinde 15 uç,events/metadata.pyiçinde_actionyardımcısıyla kurulan 6 aksiyon (src/cluster_erp/modules/intranet/events/metadata.py:45-55,src/cluster_erp/modules/intranet/events/metadata.py:202-208).
Etkinlik alanları¶
| Ad | Anlam | Kaynak |
|---|---|---|
title, description, body |
Metin | src/cluster_erp/modules/intranet/models.py:1111-1135 |
starts_at, ends_at, all_day, timezone |
Zaman | src/cluster_erp/modules/intranet/models.py:1111-1199 |
location, is_online, join_url |
Yer | src/cluster_erp/modules/intranet/models.py:1111-1199 |
space_id, audience_segment_id |
Alan ve hedef kitle | src/cluster_erp/modules/intranet/models.py:1111-1199 |
visibility, attendee_list_visibility |
open, invite_only veya private; katılımcı adlarını kimin gördüğü |
src/cluster_erp/modules/intranet/events/lifecycle.py:60-61 |
rsvp_enabled, capacity, waitlist_enabled, reminder_minutes |
Yanıt ayarları | src/cluster_erp/modules/intranet/models.py:1111-1199 |
owner_party_id, co_organizer_party_ids |
Düzenleyenler | src/cluster_erp/modules/intranet/models.py:1111-1199 |
status, revision_no, published_at, cancelled_at, cancelled_by, cancel_reason, archived_at, invited_count |
Yaşam döngüsü kaydı | src/cluster_erp/modules/intranet/models.py:1111-1199 |
Davet (IntranetEventInvitation) everyone, segment, direct veya team kaynağını ve kişiye en son bildirilen revizyonu kaydeder. Yanıt (IntranetEventRsvp) bekleme listesi bayrağıyla going, maybe veya declined olur. Değişiklik satırı (IntranetEventChange) revizyonu, aksiyonu, işlemi yapanı, değişen alanları ve değişikliğin esaslı olup olmadığını kaydeder (src/cluster_erp/modules/intranet/models.py:1201-1298, src/cluster_erp/modules/intranet/events/lifecycle.py:62-63).
Durumlar ve aksiyonlar¶
Saklanan durumlar draft, published, cancelled ve archived şeklindedir. completed türetilmiştir: bitişi geçmiş yayımlanmış bir etkinlik tamamlanmış okunur ve hiçbir şey yazılmaz (src/cluster_erp/modules/intranet/events/lifecycle.py:33-48, src/cluster_erp/modules/intranet/events/lifecycle.py:164-174).
stateDiagram-v2 [*] --> draft draft --> published: publish published --> cancelled: nedenle cancel cancelled --> published: 24 saat içinde uncancel draft --> archived: archive published --> archived: archive cancelled --> archived: archive archived --> draft: restore
Düz anlatımla: etkinlik taslak olarak hazırlanır, yayımlanır ve davetlilerin okuyabileceği bir nedenle iptal edilebilir. İptal 24 saat içinde geri alınabilir. archived dışındaki her durum arşivlenebilir ve Taslağa geri al onu geri getirir (src/cluster_erp/modules/intranet/events/lifecycle.py:42-59, src/cluster_erp/modules/intranet/events/lifecycle.py:303-311).
| Aksiyon | Etiket | Koşul | Etki | Kaynak |
|---|---|---|---|---|
publish |
Yayınla | status = draft |
davetleri kurar, davetlilere bildirebilir, IntranetEventPublished yayar |
src/cluster_erp/modules/intranet/events/services.py:457-474, src/cluster_erp/modules/intranet/events/services.py:587-600 |
cancel |
Etkinliği iptal et | status = published |
neden ister, davetlilere ve katılanlara bildirir, IntranetEventCancelled yayar |
src/cluster_erp/modules/intranet/events/services.py:475-501 |
uncancel |
İptali geri al | status = cancelled |
yalnızca pencere içinde | src/cluster_erp/modules/intranet/events/services.py:502-521 |
remind |
Hatırlatma gönder | status = published |
katılanlara veya yanıt vermeyenlere bildirir | src/cluster_erp/modules/intranet/events/services.py:528-552 |
archive |
Arşivle | status ≠ archived |
arşivler | src/cluster_erp/modules/intranet/events/services.py:522-524 |
restore |
Taslağa geri al | status = archived |
taslağa döndürür | src/cluster_erp/modules/intranet/events/services.py:525-527 |
Yedinci aksiyon invite doğrudan davet ekler ve metadata içinde tanımlı değildir (src/cluster_erp/modules/intranet/events/lifecycle.py:51-53, src/cluster_erp/modules/intranet/events/services.py:553-570).
Kurallar¶
- Taslak serbestçe düzenlenir; yayımlanmış etkinlik revizyon artışıyla düzenlenir; iptal edilmiş veya arşivlenmiş etkinlik düzenlenemez (
src/cluster_erp/modules/intranet/events/lifecycle.py:55-57,src/cluster_erp/modules/intranet/events/services.py:356-442). - Her düzenleme alan farkıyla bir değişiklik satırı yazar. Zaman veya yer değişikliği esaslıdır: her davetliye ve katılana bildirilir ve yanıt verenlere yanıtlarının geçerli olup olmadığı sorulur. Diğer değişiklikler yalnızca katılanlara ulaşır. Düzenleyenlere kendi düzenlemeleri hiçbir zaman bildirilmez (
src/cluster_erp/modules/intranet/events/lifecycle.py:65-68,src/cluster_erp/modules/intranet/events/lifecycle.py:207-228). - Yalnızca
goingbir yer tutar. Bekleme listesi olan dolu etkinlik yanıtı bekleme listesine alır; bekleme listesi olmayan dolu etkinlik yanıtıINTRANET_EVENT_FULLile reddeder (src/cluster_erp/modules/intranet/events/lifecycle.py:231-264). - Yanıt yalnızca yanıtları açık, yayımlanmış bir etkinlikte kabul edilir (
src/cluster_erp/modules/intranet/events/services.py:605-615). - Görünürlük: düzenleyenler ve denetim atlaması olanlar her şeyi görür. Diğerleri taslakları, arşivlenmiş ve özel etkinlikleri hiç görmez; yalnızca davetliye açık etkinlik bir davet ister; açık etkinlik hedef kitleyi veya bir daveti ister (
src/cluster_erp/modules/intranet/events/lifecycle.py:266-288). - Katılımcı adları
attendee_list_visibilityalanına göre herkese, yalnızca katılanlara veya yalnızca düzenleyenlere gösterilir (src/cluster_erp/modules/intranet/events/lifecycle.py:290-301). GET /events/{id}/ics, etkinlikten oluşturulan bir takvim dosyası döndürür (src/cluster_erp/modules/intranet/events/routes.py:295-322,src/cluster_erp/modules/intranet/events/services.py:739-770).
Uçlar¶
| Yönlendirici | Yollar | İzin | Kaynak |
|---|---|---|---|
event_router |
/events listeleme, oluşturma, okuma, güncelleme, silme, aksiyon, rsvp, rsvps, invitations, changes, ics |
intranet_event.read, .create, .update |
src/cluster_erp/modules/intranet/events/routes.py:41, src/cluster_erp/modules/intranet/events/routes.py:57-322 |
media_router |
/media/{entity_type}/{entity_id} listeleme ve ekleme; /media/{media_id} güncelleme ve silme |
intranet_content.read, intranet_content.update |
src/cluster_erp/modules/intranet/events/routes.py:42, src/cluster_erp/modules/intranet/events/routes.py:325-370 |
DELETE /events/{event_id} intranet_event.update ister (src/cluster_erp/modules/intranet/events/routes.py:145-148). Medya satırları (IntranetMedia) kapakları ve galerileri varlık türü ve kimliğine göre gönderilere ve etkinliklere bağlar (src/cluster_erp/modules/intranet/models.py:1300-1329).
Diğer modüller¶
GetUpcomingIntranetEvents, bir kişinin şirket takviminden önümüzdeki günlerde neyi görebileceğini aynı görünürlük kurallarıyla yanıtlar (src/cluster_erp/modules/intranet/module.py:291-303, src/cluster_erp/modules/intranet/events/services.py:709-737). IntranetEventPublished, IntranetEventUpdated ve IntranetEventCancelled olayları yayılır (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). src/ içinde bunlar için bir subscribe çağrısı bulunamadı.
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| RSVP | IntranetEventRsvp |
Bir kişinin etkinliğe yanıtı: going, maybe veya declined. |
Katılım yanıtı | src/cluster_erp/modules/intranet/models.py:1269 |
| material change | MATERIAL_FIELDS |
Her davetliye bildirilen zaman veya yer değişikliği. | Esaslı değişiklik | src/cluster_erp/modules/intranet/events/lifecycle.py:66 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.