Register Form Sorunu

Tenant-Aware Kayıt Sistemi Analizi

Basit Anlatım

Problem: Register (kayıt ol) sayfası açılmıyor. Bunun sebebi sistemin Muzibu'ya özel tasarlanmış olması.

Neden Önemli: Yeni tenant'lar (web siteleri) oluşturulduğunda kullanıcılar kayıt olamıyor. Bu, tüm yeni sitelerin kullanılamaz olması demek.

Şu an nasıl çalışıyor:

  • /register adresine gidince → /login?tab=register'a yönlendiriyor
  • Bu tab sistemi sadece Muzibu temasında var
  • Diğer temalarda bu tab yok → sayfa boş görünüyor

Temel Sorun (Root Cause)

routes/auth.php - Satır 20-22

Route::get('register', function() {
    return redirect('/login?tab=register');
})->name('register');

Bu kod TÜM tenant'lar için aynı şekilde çalışıyor. Yani herkes /login?tab=register adresine yönlendiriliyor.

Ancak sadece Muzibu teması bu tab sistemini destekliyor. Diğer temalar (simple, ixtif, t-3, t-4...) desteklemiyor.

Mevcut Tema Yapısı

Tenant Tema Register Türü Durum
1001 - Muzibu muzibu Tab Sistemi (Alpine.js) Çalışıyor
İxtif ixtif Bağımsız Sayfa Yönlendirme sorunu
Diğer Tenant'lar simple / t-X Bağımsız Sayfa (yok) Çalışmıyor

Teknik Detaylar

Dosya Yapısı

resources/views/
├── auth/
│   ├── register.blade.php      ← Default (tab desteklemez)
│   └── login.blade.php
│
└── themes/
    ├── muzibu/auth/
    │   ├── register.blade.php  ← @include login (tab sistemi)
    │   ├── login.blade.php     ← Alpine.js tab sistemi
    │   └── layout.blade.php
    │
    ├── ixtif/auth/
    │   └── register.blade.php  ← Bağımsız sayfa
    │
    └── simple/auth/
        └── (register.blade.php yok!)  ← SORUN!

Route Akışı

GET /register redirect /login?tab=register Tab yok = Boş!

DeviceService Sorunu

RegisteredUserController.php - Satır 71

if (tenant()) {
    $deviceService = app(\Modules\Muzibu\App\Services\DeviceService::class);
    // Bu sadece Muzibu için var!
}

DeviceService Muzibu modülünde. Diğer tenant'larda exception fırlatabilir.

Çözüm Planı

1. Route'u Tenant-Aware Yap

/register route'u tenant ID'ye göre farklı davranacak:

  • Tenant 1001 → /login?tab=register (şuanki)
  • Diğer tenant'lar → Bağımsız register sayfası

2. Simple Tema için Register Sayfası

resources/views/themes/simple/auth/register.blade.php oluştur. Basit, temiz bir kayıt formu.

3. DeviceService Kontrolü

DeviceService sadece tenant 1001'de çalışacak şekilde güncelle. Diğer tenant'larda atla.

4. Controller Güncelleme

RegisteredUserController::create() metodunu aktif et ve tema-aware yap.

Değişecek Dosyalar

routes/auth.php - Tenant-aware redirect
app/Http/Controllers/Auth/RegisteredUserController.php - DeviceService kontrolü
resources/views/themes/simple/auth/register.blade.php - Yeni dosya
resources/views/themes/simple/auth/layout.blade.php - Yeni dosya (gerekirse)