# Funkcje zawieszenia konta użytkownika ## Aktualnie zaimplementowane - Administrator może zawiesić konto użytkownika na określony czas lub bezterminowo - Administrator podaje powód zawieszenia - Użytkownik otrzymuje email z informacją o zawieszeniu (z powodem i czasem) - Użytkownik może się nadal logować do serwisu - Zawieszony użytkownik NIE MOŻE: - Zmieniać nazwy użytkownika - Zmieniać adresu email - Modyfikować ustawień konta ogólnie - Administrator może odwiesić konto - Użytkownik po odwieszeniu otrzymuje email - Historia zawieszeń/odwieszeń jest zapisywana w tabeli user_account_history - Panel admin > Użytkownicy > Ustawienia pokazuje listę aktualnie zawieszonych graczy z opcją odwieszenia - Panel admin > Wszyscy użytkownicy > "Zarządzaj użytkownikiem" umożliwia zawieszenie/odwieszenie - Panel admin > Wszyscy użytkownicy > "Historia użytkownika" pokazuje pełną historię konta ## Planowane w przyszłości ### Zawieszony użytkownik NIE MOŻE (do implementacji): - Brać udziału w meczach (dołączać do istniejących stołów/meczów) - Tworzyć nowych stołów do gry - Tworzyć turniejów - Dołączać do lig - Dokonywać transakcji/wpłat ### Zawieszony użytkownik MOŻE (zawsze dozwolone): - Logować się do serwisu - Przeglądać mecze innych graczy (tryb widza) - Przeglądać tabele ligowe - Przeglądać wyniki turniejów - Przeglądać swój profil ### Techniczne TODO: - Middleware sprawdzający zawieszenie przy każdym żądaniu dotyczącym meczów/stołów - Integracja z systemem meczów: sprawdzenie `account_suspended` przed dołączeniem do meczu - Integracja z systemem turniejów: sprawdzenie `account_suspended` przed zapisem do turnieju - Integracja z systemem lig: sprawdzenie `account_suspended` przed dołączeniem do ligi - Automatyczne wygasanie zawieszeń (cron job) dla zawieszeń z datą końcową - Frontend: wyświetlanie banera informującego zawieszonych użytkowników o statusie ich konta