diff --git a/app.py b/app.py index 7b34da5..6f81baf 100644 --- a/app.py +++ b/app.py @@ -1745,15 +1745,14 @@ def edit_my_list(list_id): grant_username = (request.form.get("grant_username") or "").strip().lower() revoke_user_id = request.form.get("revoke_user_id") - # ——— SZYBKIE AKCJE UPRAWNIEŃ ——— if grant_username: u = User.query.filter(func.lower(User.username) == grant_username).first() if not u: flash("Użytkownik nie istnieje.", "danger") - return redirect(request.url) + return redirect(next_page or request.url) if u.id == current_user.id: flash("Jesteś właścicielem tej listy.", "info") - return redirect(request.url) + return redirect(next_page or request.url) exists = ( db.session.query(ListPermission.id) @@ -1769,28 +1768,26 @@ def edit_my_list(list_id): flash(f"Nadano dostęp użytkownikowi „{u.username}”.", "success") else: flash("Ten użytkownik już ma dostęp.", "info") - return redirect(request.url) + return redirect(next_page or request.url) if revoke_user_id: try: uid = int(revoke_user_id) except ValueError: flash("Błędny identyfikator użytkownika.", "danger") - return redirect(request.url) + return redirect(next_page or request.url) ListPermission.query.filter_by(list_id=l.id, user_id=uid).delete() db.session.commit() flash("Odebrano dostęp użytkownikowi.", "success") - return redirect(request.url) - # ——— KONIEC AKCJI UPRAWNIEŃ ——— + return redirect(next_page or request.url) if "unarchive" in request.form: l.is_archived = False db.session.commit() flash(f"Lista „{l.title}” została przywrócona.", "success") - return redirect(next_page or url_for("main_page")) + return redirect(next_page or request.url) - # Pełna edycja formularza move_to_month = request.form.get("move_to_month") if move_to_month: try: @@ -1802,10 +1799,10 @@ def edit_my_list(list_id): f"Zmieniono datę utworzenia listy na {new_created_at.strftime('%Y-%m-%d')}", "success", ) - return redirect(next_page or url_for("main_page")) + return redirect(next_page or request.url) except ValueError: flash("Nieprawidłowy format miesiąca", "danger") - return redirect(next_page or url_for("main_page")) + return redirect(next_page or request.url) new_title = (request.form.get("title") or "").strip() is_public = "is_public" in request.form @@ -1816,7 +1813,7 @@ def edit_my_list(list_id): if not new_title: flash("Podaj poprawny tytuł", "danger") - return redirect(next_page or url_for("main_page")) + return redirect(next_page or request.url) l.title = new_title l.is_public = is_public @@ -1830,16 +1827,15 @@ def edit_my_list(list_id): l.expires_at = expires_dt.replace(tzinfo=timezone.utc) except ValueError: flash("Błędna data lub godzina wygasania", "danger") - return redirect(next_page or url_for("main_page")) + return redirect(next_page or request.url) else: l.expires_at = None update_list_categories_from_form(l, request.form) db.session.commit() flash("Zaktualizowano dane listy", "success") - return redirect(next_page or url_for("main_page")) + return redirect(next_page or request.url) - # Użytkownicy z dostępem (do wyświetlenia w szablonie) permitted_users = ( db.session.query(User) .join(ListPermission, ListPermission.user_id == User.id) @@ -3525,7 +3521,6 @@ def add_suggestion(): @login_required @admin_required def admin_lists_access(): - try: page = int(request.args.get("page", 1)) except ValueError: diff --git a/templates/admin/admin_lists_access.html b/templates/admin/admin_lists_access.html index 60444c7..6d2ff9e 100644 --- a/templates/admin/admin_lists_access.html +++ b/templates/admin/admin_lists_access.html @@ -170,8 +170,4 @@ -{% endblock %} - -{% block scripts %} -{# Opcjonalnie: skrypty sortowania/UX jeśli już je masz #} {% endblock %} \ No newline at end of file diff --git a/templates/edit_my_list.html b/templates/edit_my_list.html index f143a8d..9df2646 100644 --- a/templates/edit_my_list.html +++ b/templates/edit_my_list.html @@ -90,31 +90,34 @@ ❌ Anuluj - - + -
+
🔐 Dostęp do listy
- {% if list.share_token %} -
- - Otwórz -
+ + {% if list.share_token %} +
+ + + +
{% else %} -
Brak tokenu udostępniania.
+
Brak tokenu udostępniania.
{% endif %}
Ustawienie „🌐 Publiczna” nie jest wymagane dla dostępu z linku.
+
@@ -131,6 +134,7 @@
+
@@ -154,7 +158,6 @@
- {% if receipts %}
Paragony przypisane do tej listy