"""
Web URL configuration – migrated from routes/web.php
"""
from django.urls import path
from . import views
from django.conf import settings
from django.contrib import admin
from django.urls import include, path
from django.conf import settings
from django.contrib import admin
from django.urls import include, path
# from core.utils import serve_static
from django.conf.urls.static import static
from django.conf.urls.i18n import i18n_patterns
from django.urls import path, re_path
# from app_devmgnt.views_collection import DevMediaAuthCheck, DevMediaAuthCheckBasic
from django.contrib.auth.decorators import login_required

from django.shortcuts import redirect, render
from app_nutzer.models import ReuMietV

from app_admin.models import AdminUser
from app_admin.admin import admin_site


admin.site.site_header = "Verbrauchsportal Administration"
admin.site.site_title  = "Verbrauchsportal Admin"
admin.site.index_title = "Willkommen im Verwaltungsbereich"

@login_required
def home(request):
    user = request.user

    from core.services.nutzungsverhaeltnisse import (
        lade_verhaeltnisse, verhaeltnisse_fuer_user,
    )

    # AdminUser → Zugriff auf alles
    if isinstance(user, AdminUser):
        verhaeltnisse = lade_verhaeltnisse(nur_aktive=False)
    else:
        # Normaler User → eigene Einheiten, Mieter wie Eigentümer
        verhaeltnisse = verhaeltnisse_fuer_user(user)

    if verhaeltnisse:
        erste = verhaeltnisse[0]
        return redirect(
            'app_verbrauch:uebersicht',
            reuid=erste.reuid,
            nutzer_id=erste.personen_id,
        )

    # Kein laufendes Verhaeltnis (beendet, kuenftig oder nie angelegt):
    # Hinweis statt None – sonst wirft Django ValueError und der Nutzer sieht 500.
    return render(request, 'keine_einheit.html')



urlpatterns = [
    # Home – redirects to first tenancy
    path('', home, name='home'),

    path('portal-admin/', admin_site.urls),

    # Nutzer: auth, password management, einstellungen
    path('', include('app_nutzer.urls')),

    # Verbrauchsanzeigen
    path('verbrauch/', include('app_verbrauch.urls', namespace='app_verbrauch')),

    # REUID-Wechsel mit Validierung
    path('switch-reuid/', views.switch_reuid, name='switch_reuid'),

    # Error
    path('404', views.error_404, name='error_404'),
]
