This commit is contained in:
Mateusz Gruszczyński
2025-09-14 12:23:02 +02:00
parent e860202af8
commit 554340dd64
3 changed files with 26 additions and 32 deletions

27
app.py
View File

@@ -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: