fix invalid tags

This commit is contained in:
Your Name 2023-02-09 15:25:44 -05:00 committed by Henri Dickson
parent f224ed61ae
commit 64509b7f7b
2 changed files with 6 additions and 5 deletions

View file

@ -816,8 +816,9 @@ class Tag(List):
unique_together = [["owner", "title"]]
@staticmethod
def cleanup_title(title):
return title.strip().lower()
def cleanup_title(title, replace=True):
t = title.strip().lower()
return "_" if not title and replace else t
class TagManager:

View file

@ -630,7 +630,7 @@ def user_tag_member_list(request, user_name, tag_title):
@login_required
def user_tag_edit(request):
if request.method == "GET":
tag_title = Tag.cleanup_title(request.GET.get("tag", ""))
tag_title = Tag.cleanup_title(request.GET.get("tag", ""), replace=False)
if not tag_title:
raise Http404()
tag = Tag.objects.filter(owner=request.user, title=tag_title).first()
@ -638,7 +638,7 @@ def user_tag_edit(request):
raise Http404()
return render(request, "tag_edit.html", {"tag": tag})
elif request.method == "POST":
tag_title = Tag.cleanup_title(request.POST.get("title", ""))
tag_title = Tag.cleanup_title(request.POST.get("title", ""), replace=False)
tag_id = request.POST.get("id")
tag = (
Tag.objects.filter(owner=request.user, id=tag_id).first()
@ -661,7 +661,7 @@ def user_tag_edit(request):
msg.error(request.user, _("标签已存在"))
return HttpResponseRedirect(request.META.get("HTTP_REFERER"))
tag.title = tag_title
tag.visibility = Tag.cleanup_title(request.POST.get("visibility"))
tag.visibility = request.POST.get("visibility", 0)
tag.visibility = 0 if tag.visibility == 0 else 2
tag.save()
msg.info(request.user, _("标签已修改"))