From f84ce83e8f0f1670115e48623df91ac55c379480 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 8 Jan 2025 20:07:28 +0100 Subject: [PATCH] remove ui preference - there is no decision anymore --- src/backend/InvenTree/InvenTree/urls.py | 2 - src/backend/InvenTree/users/test_api.py | 5 --- src/backend/InvenTree/web/tests.py | 27 +---------- src/backend/InvenTree/web/urls.py | 59 ------------------------- 4 files changed, 1 insertion(+), 92 deletions(-) diff --git a/src/backend/InvenTree/InvenTree/urls.py b/src/backend/InvenTree/InvenTree/urls.py index 33403031f3..958fcf317d 100644 --- a/src/backend/InvenTree/InvenTree/urls.py +++ b/src/backend/InvenTree/InvenTree/urls.py @@ -25,7 +25,6 @@ import report.api import stock.api import users.api from plugin.urls import get_plugin_urls -from web.urls import api_urls as web_api_urls from web.urls import urlpatterns as platform_urls from .api import ( @@ -73,7 +72,6 @@ apipatterns = [ ]), ), path('user/', include(users.api.user_urls)), - path('web/', include(web_api_urls)), # Plugin endpoints path('', include(plugin.api.plugin_api_urls)), # Common endpoints endpoint diff --git a/src/backend/InvenTree/users/test_api.py b/src/backend/InvenTree/users/test_api.py index eac45537a8..d812aa96cd 100644 --- a/src/backend/InvenTree/users/test_api.py +++ b/src/backend/InvenTree/users/test_api.py @@ -96,11 +96,6 @@ class UserAPITests(InvenTreeAPITestCase): def test_login_redirect(self): """Test login redirect endpoint.""" response = self.get(reverse('api-login-redirect'), expected_code=302) - self.assertEqual(response.url, '/index/') - - # PUI - self.put(reverse('api-ui-preference'), {'preferred_method': 'pui'}) - response = self.get(reverse('api-login-redirect'), expected_code=302) self.assertEqual(response.url, '/platform/logged-in/') diff --git a/src/backend/InvenTree/web/tests.py b/src/backend/InvenTree/web/tests.py index 4603f25ded..72d5f5d402 100644 --- a/src/backend/InvenTree/web/tests.py +++ b/src/backend/InvenTree/web/tests.py @@ -5,10 +5,8 @@ import os from pathlib import Path from unittest import mock -from django.urls import reverse - from InvenTree.config import get_frontend_settings -from InvenTree.unit_test import InvenTreeAPITestCase, InvenTreeTestCase +from InvenTree.unit_test import InvenTreeTestCase from .templatetags import spa_helper @@ -92,26 +90,3 @@ class TemplateTagTest(InvenTreeTestCase): """Test the redirect helper.""" response = self.client.get('/assets/testpath') self.assertEqual(response.url, '/static/web/assets/testpath') - - -class TestWebHelpers(InvenTreeAPITestCase): - """Tests for the web helpers.""" - - def test_ui_preference(self): - """Test the UI preference API.""" - url = reverse('api-ui-preference') - - # Test default - resp = self.get(url) - data = json.loads(resp.content) - self.assertTrue(data['cui']) - self.assertFalse(data['pui']) - self.assertEqual(data['preferred_method'], 'cui') - - # Set to PUI - resp = self.put(url, {'preferred_method': 'pui'}) - data = json.loads(resp.content) - self.assertEqual(resp.status_code, 200) - self.assertFalse(data['cui']) - self.assertTrue(data['pui']) - self.assertEqual(data['preferred_method'], 'pui') diff --git a/src/backend/InvenTree/web/urls.py b/src/backend/InvenTree/web/urls.py index 6199abe264..208dd7d512 100644 --- a/src/backend/InvenTree/web/urls.py +++ b/src/backend/InvenTree/web/urls.py @@ -1,16 +1,11 @@ """URLs for web app.""" from django.conf import settings -from django.http import JsonResponse from django.shortcuts import redirect from django.urls import include, path, re_path from django.views.decorators.csrf import ensure_csrf_cookie from django.views.generic import TemplateView -from rest_framework import permissions, serializers - -from InvenTree.mixins import RetrieveUpdateAPI - class RedirectAssetView(TemplateView): """View to redirect to static asset.""" @@ -22,55 +17,6 @@ class RedirectAssetView(TemplateView): ) -class PreferredSerializer(serializers.Serializer): - """Serializer for the preferred serializer session setting.""" - - preferred_method = serializers.ChoiceField(choices=['cui', 'pui']) - pui = serializers.SerializerMethodField(read_only=True) - cui = serializers.SerializerMethodField(read_only=True) - - def get_pui(self, obj) -> bool: - """Return true if preferred method is PUI.""" - return obj['preferred_method'] == 'pui' - - def get_cui(self, obj) -> bool: - """Return true if preferred method is CUI.""" - return obj['preferred_method'] == 'cui' - - class Meta: - """Meta class for PreferedSerializer.""" - - fields = '__all__' - - -class PreferredUiView(RetrieveUpdateAPI): - """Set preferred UI (CIU/PUI).""" - - permission_classes = [permissions.AllowAny] - serializer_class = PreferredSerializer - http_method_names = ['get', 'post', 'put', 'head', 'options'] - - def retrieve(self, request, *args, **kwargs): - """Retrieve the preferred UI method.""" - session = self.request.session - session['preferred_method'] = session.get('preferred_method', 'cui') - serializer = self.get_serializer(data=dict(session)) - serializer.is_valid(raise_exception=True) - return JsonResponse(serializer.data) - - def update(self, request, *args, **kwargs): - """Update the preferred UI method.""" - serializer = self.get_serializer(data=self.clean_data(request.data)) - serializer.is_valid(raise_exception=True) - - # Run update - session = self.request.session - session['preferred_method'] = serializer.validated_data['preferred_method'] - session.modified = True - - return JsonResponse(serializer.data) - - spa_view = ensure_csrf_cookie(TemplateView.as_view(template_name='web/index.html')) assets_path = path('assets/', RedirectAssetView.as_view()) @@ -91,8 +37,3 @@ urlpatterns = [ assets_path, path(settings.FRONTEND_URL_BASE, spa_view, name='platform'), ] - -api_urls = [ - # UI Preference - path('ui_preference/', PreferredUiView.as_view(), name='api-ui-preference') -]