Preserve page and scroll position when editing tags (#1291)

This commit is contained in:
Sascha Ißbrücker
2026-01-25 11:07:30 +01:00
committed by GitHub
parent d52caefe2c
commit 1f0a2201ba
10 changed files with 142 additions and 59 deletions

View File

@@ -10,6 +10,7 @@ from django.urls import reverse
from bookmarks.forms import TagForm, TagMergeForm
from bookmarks.models import Bookmark, Tag
from bookmarks.type_defs import HttpRequest
from bookmarks.utils import redirect_with_query
from bookmarks.views import turbo
@@ -18,15 +19,8 @@ def tags_index(request: HttpRequest):
if request.method == "POST" and "delete_tag" in request.POST:
tag_id = request.POST.get("delete_tag")
tag = get_object_or_404(Tag, id=tag_id, owner=request.user)
tag_name = tag.name
tag.delete()
messages.success(request, f'Tag "{tag_name}" deleted successfully.')
redirect_url = reverse("linkding:tags.index")
if request.GET:
redirect_url += "?" + request.GET.urlencode()
return HttpResponseRedirect(redirect_url)
return redirect_with_query(request, reverse("linkding:tags.index"))
search = request.GET.get("search", "").strip()
unused_only = request.GET.get("unused", "") == "true"
@@ -100,8 +94,7 @@ def tag_edit(request: HttpRequest, tag_id: int):
if request.method == "POST":
if form.is_valid():
form.save()
messages.success(request, f'Tag "{tag.name}" updated successfully.')
return HttpResponseRedirect(reverse("linkding:tags.index"))
return redirect_with_query(request, reverse("linkding:tags.index"))
else:
return turbo.stream(
turbo.replace(