Muzibu Kurumsal Sistemi

Kurumsal Erisim Kontrol Sistemi

Ana sube / Alt uye rol ayrimi ve davet kodu yonetimi

23 Aralik 2025

Basit Anlatim (Herkes Icin)

Ne yapilacak? Kurumsal sistemde iki tip kullanici var: Ana Sube (sahip) ve Alt Uyeler (calisanlar).

  • Ana Sube: Kurumsal dashboard'u gorebilir, uyelik satin alabilir, uyeleri yonetebilir
  • Alt Uyeler: Sadece hangi sirkete bagli olduklarini gorebilir, cikis yapabilir
  • Kurumsal Olmayan Uyeler: Davet kodu girerek bir sirkete katilabilir

Yani: Patron her seyi yonetir, calisanlar sadece baglilik durumunu gorur, disaridakiler kod girerek katilir.

Mevcut Durum

/corporate/dashboard

Ana dashboard - su an herkes gorebiliyor (yanlis!)

/corporate/my-corporate

Alt uye sayfasi - bagli olunan sirket bilgisi

/corporate/join

Davet kodu ile katilim sayfasi - ayri sayfa

/dashboard

Normal dashboard - kurumsal bilgi yok

Yapilacaklar

1

Dashboard Erisim Kontrolu

/corporate/dashboard sayfasina erisim kisitlamasi ekle.

CorporateFrontController::dashboard()

  • • Kullanici ana sube mi kontrol et (parent_id = null)
  • • Ana sube degilse → /corporate/my-corporate'a yonlendir
  • • Kurumsal hesabi yoksa → /corporate/join'e yonlendir

Mantik Akisi

Kullanici giris yapar
    ↓
/corporate/dashboard'a gider
    ↓
├── Kurumsal hesabi yok? → /corporate/join'e yonlendir
├── Alt uye mi? (parent_id != null) → /corporate/my-corporate'a yonlendir
└── Ana sube mi? (parent_id = null) → Dashboard goster ✓
                        
2

Normal Dashboard'a Kurumsal Panel Ekle

/dashboard sayfasinin alt kismina kurumsal durum paneli ekle.

UI Tasarimi

Kurumsal olmayan kullanici icin:

Kurumsal Hesap

Bir sirkete baglanmak icin davet kodu girin

Alt uye icin (kurumsal bagli):

ABC Sirket Ltd.

Merkez Sube'ye baglisiniz

Ana sube icin:

ABC Sirket Ltd. Ana Sube

5 uye • 3 aktif uyelik

Yonet
3

Dashboard Controller Guncellemesi

DashboardController kurumsal durum bilgisini view'a gonderecek.

Gonderilecek Veri

$corporateStatus = [
    'has_corporate' => true/false,
    'is_owner' => true/false,      // parent_id = null ise true
    'account' => [
        'company_name' => 'ABC Sirket',
        'branch_name' => 'Merkez',
        'member_count' => 5,
        'active_subscriptions' => 3,
        'invite_code' => 'ABC123'  // sadece owner icin
    ],
    'parent_company' => 'XYZ Holding'  // alt uye ise
];
                        
4

Davet Kodu ile Katilim (Inline)

Dashboard'daki panelden direkt davet kodunu gonderecek AJAX endpoint kullanilacak. Mevcut /corporate/join POST endpoint'i kullanilabilir.

Mevcut Endpoint

  • • POST /corporate/join - Davet kodu ile katilim
  • • POST /corporate/leave - Kurumsal hesaptan cikis
  • • Her ikisi de JSON response donduruyor ✓

Dikkat

Kullanici zaten bir kurumsala bagliysa davet kodu alani gosterilmeyecek. Baska kurumsala gecmek icin once cikmasi gerekiyor.

Teknik Detaylar (Gelistiriciler Icin)

Dosya Degisiklikleri

  • CorporateFrontController.php - dashboard() metoduna erisim kontrolu
  • DashboardController.php - Kurumsal durum bilgisi ekleme
  • dashboard.blade.php - Kurumsal panel ekleme (alt kisim)
  • dashboard-content.blade.php - SPA partial guncelleme

Model Iliskileri

MuzibuCorporateAccount
├── user_id (User ile iliski)
├── parent_id (null = ana sube, dolu = alt uye)
├── company_name
├── branch_name
└── invite_code (sadece ana subelerde)

Ana Sube Kontrolu: parent_id === null
Alt Uye Kontrolu: parent_id !== null
                    

Uygulama Ozeti

Yapilacak

  • /corporate/dashboard erisim kisitla
  • /dashboard'a kurumsal panel ekle
  • Inline davet kodu girisi
  • Inline cikis butonu

Mevcut Kullanilacak

  • POST /corporate/join endpoint
  • POST /corporate/leave endpoint
  • /corporate/my-corporate sayfasi

Claude AI tarafindan olusturuldu

Tenant 1001 - Muzibu