From 90a71adb4f697d3589c3090fb3860c69e323e1ea Mon Sep 17 00:00:00 2001 From: Mandel Olaiya Date: Sat, 23 May 2026 14:09:19 +0200 Subject: [PATCH] Restore localized Wordspinner bulk/results routes --- mandelstudio/urls.py | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/mandelstudio/urls.py b/mandelstudio/urls.py index 621379e..fcde7c1 100644 --- a/mandelstudio/urls.py +++ b/mandelstudio/urls.py @@ -1,5 +1,5 @@ from django.conf.urls.i18n import i18n_patterns -from django.urls import path +from django.urls import include, path from django.views.decorators.cache import cache_page from ocyan.core.fender import config @@ -7,6 +7,9 @@ from ocyan.main.urls import urlpatterns as ocyan_urlpatterns from ocyan.plugin.contact_form.entrypoint import SHOP_BASE_URL from ocyan.plugin.wagtail_oscar_integration.constants import CACHE_DURATION from ocyan.plugin.wordspinner.views.ai_search import ai_search_view +from ocyan.plugin.wordspinner.views.bulk import BulkAIOperationsView +from ocyan.plugin.wordspinner.views.bulk import ProcessNextBulkAIJobView +from ocyan.plugin.wordspinner.views.results import GeneratedResultsListView from ocyan.plugin.contact_form.views import post_contact_form @@ -36,6 +39,13 @@ contact_form_urlpatterns = [ ), ] +wordspinner_urlpatterns = [ + path( + "wordspinner/", + include(("ocyan.plugin.wordspinner.urls", "wordspinner"), namespace="wordspinner"), + ), +] + # Ensure public AI search routes are resolved before Wagtail catch-all URLs. ai_search_urlpatterns = [ path("ai-search/", ai_search_view, name="wordspinner_ai_search_public"), @@ -56,13 +66,38 @@ ai_search_urlpatterns = [ ), ] +wordspinner_i18n_aliases = [ + path( + "/wordspinner/ai/bulk/", + BulkAIOperationsView.as_view(), + name="wordspinner_bulk_ai_operations_i18n", + ), + path( + "/wordspinner/ai/bulk/process-next/", + ProcessNextBulkAIJobView.as_view(), + name="wordspinner_bulk_ai_process_next_i18n", + ), + path( + "/wordspinner/results/", + GeneratedResultsListView.as_view(), + name="wordspinner_generated_results_i18n", + ), +] + if config.i18n_enabled: urlpatterns += i18n_patterns( + *wordspinner_urlpatterns, *contact_form_urlpatterns, *ai_search_urlpatterns, + *wordspinner_i18n_aliases, prefix_default_language=False, ) else: - urlpatterns += contact_form_urlpatterns + ai_search_urlpatterns + urlpatterns += ( + wordspinner_urlpatterns + + contact_form_urlpatterns + + ai_search_urlpatterns + + wordspinner_i18n_aliases + ) urlpatterns += ocyan_urlpatterns