From 2eff282fe5ca2ee41ff3aa8506ec6a331e76c956 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 28 Jan 2025 21:52:14 -0500 Subject: [PATCH] fix minor edge case --- catalog/views_edit.py | 2 ++ journal/exporters/__init__.py | 3 ++- users/views/data.py | 9 ++++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/catalog/views_edit.py b/catalog/views_edit.py index 8630e9e2..6fb5300d 100644 --- a/catalog/views_edit.py +++ b/catalog/views_edit.py @@ -289,6 +289,8 @@ def merge(request, item_path, item_uuid): _("Cannot merge items in different categories") + f" ({item.class_name} to {new_item.class_name})" ) + if new_item == item: + raise BadRequest(_("Cannot merge an item to itself")) logger.warning(f"{request.user} merges {item} to {new_item}") item.merge_to(new_item) django_rq.get_queue("crawl").enqueue( diff --git a/journal/exporters/__init__.py b/journal/exporters/__init__.py index 82fc17d8..0b94449d 100644 --- a/journal/exporters/__init__.py +++ b/journal/exporters/__init__.py @@ -1,4 +1,5 @@ from .csv import CsvExporter from .doufen import DoufenExporter +from .ndjson import NdjsonExporter -__all__ = ["DoufenExporter", "CsvExporter"] +__all__ = ["DoufenExporter", "CsvExporter", "NdjsonExporter"] diff --git a/users/views/data.py b/users/views/data.py index 146b0551..8e1f52cd 100644 --- a/users/views/data.py +++ b/users/views/data.py @@ -9,12 +9,10 @@ from django.http import HttpResponse from django.shortcuts import redirect, render from django.urls import reverse from django.utils import timezone, translation -from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext as _ from common.utils import GenerateDateUUIDMediaFilePath -from journal.exporters import DoufenExporter -from journal.exporters.csv import CsvExporter -from journal.exporters.ndjson import NdjsonExporter +from journal.exporters import CsvExporter, DoufenExporter, NdjsonExporter from journal.importers import ( DoubanImporter, GoodreadsImporter, @@ -23,9 +21,10 @@ from journal.importers import ( ) from journal.models import ShelfType, reset_journal_visibility_for_user from social.models import reset_social_visibility_for_user +from takahe.utils import Takahe from users.models import Task -from .account import * +from .account import clear_preference_cache @login_required