Blacklist 2.0: historia zmian i blokady w modułach
W tym wpisie
Wdrożyliśmy rozbudowany system blacklisty, który działa nie tylko jako flaga w karcie klubowicza, ale jako realny mechanizm kontroli dostępu do funkcji klubu.
Najważniejsze: od teraz blacklista ma pełną historię zmian, obsługuje wiele kar jednocześnie i automatycznie blokuje konkretne akcje użytkownika w różnych modułach.
Co się zmieniło?
1. Nowy model blacklisty i historia zmian
- Każdy klub ma własny wpis blacklisty użytkownika.
- Każda zmiana blacklisty jest logowana (utworzenie, aktualizacja, zdjęcie blokady).
- W historii zapisujemy kto wykonał zmianę, kiedy i jaki był powód.
- Dodaliśmy opcję pokazywania powodu blokady użytkownikowi końcowemu.
W praktyce oznacza to większą przejrzystość i audytowalność decyzji dyscyplinarnych.
2. Lepszy panel partnera
W edycji klubowicza:
- można przypisać wiele kar naraz,
- przy zmianie blacklisty pojawia się modal z obowiązkowym podaniem powodu,
- dostępna jest czytelna historia zmian w formie timeline,
- powód może być widoczny dla użytkownika (wg ustawienia),
- zachowujemy informacje o karach także po czasowym zdjęciu blokady.
Gdzie system blokuje akcje?
Nowe zasady działają automatycznie przy kliknięciu akcji przez klubowicza:
- Strzelnica
- kara
shootingrange: blokada rezerwacji strzelnicy, - kara
shootingrange_companions: blokada rezerwacji z osobami towarzyszącymi.
- kara
- Wydarzenia
- kara
events: blokada przycisku „Zapisz się”.
- kara
- Zawody
- kary
competitionsorazclub_competitions: blokada zapisu na zawody.
- kary
- Sekcje
- kara
sections: blokada zapisu do sekcji.
- kara
Zamiast „cichego” braku działania, użytkownik widzi spójne okno informacyjne.
Jeden komunikat blokady w całym systemie
Wprowadziliśmy wspólny komponent informacyjny, który pokazuje:
- czego dotyczy blokada,
- aktywne ograniczenia,
- kto dodał blokadę i kiedy,
- powód blokady (jeśli klub udostępnia ten powód użytkownikowi).
Dla przypadku shootingrange_companions dodaliśmy dodatkową informację kontekstową: użytkownik może zarezerwować wyłącznie jedno stanowisko dla siebie.
Dlaczego to ważne?
Ta zmiana porządkuje obsługę kar w całym systemie:
- klub dostaje lepszą kontrolę i historię działań,
- operator ma spójne narzędzie w jednym miejscu,
- użytkownik widzi czytelny i jednolity komunikat o ograniczeniach,
- moduły zachowują się konsekwentnie (te same reguły, ten sam sposób informowania).
To etap, który domyka podstawy dyscypliny klubowej w systemie i przygotowuje grunt pod kolejne automatyzacje polityk dostępu.