From d3f18b0b93d9b8d6b88f08a2e8bf959095d35614 Mon Sep 17 00:00:00 2001 From: Oliver Zander Date: Tue, 19 Aug 2025 16:02:18 +0200 Subject: [PATCH] toggle intern view and tests by setting --- foerderbarometer/settings.py | 2 ++ input/tests/__init__.py | 3 +++ input/urls.py | 10 +++++++--- input/views.py | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/foerderbarometer/settings.py b/foerderbarometer/settings.py index 4354ec7..a8a27c7 100644 --- a/foerderbarometer/settings.py +++ b/foerderbarometer/settings.py @@ -148,6 +148,8 @@ OAUTH_URL_WHITELISTS = ['/admin'] OAUTH_COOKIE_SESSION_ID = 'sso_session_id' +INTERN_VIEW_ENABLED = env('INTERN_VIEW_ENABLED', False) + IF_EMAIL = env('IF_EMAIL', 'community@wikimedia.de') SURVEY_EMAIL = env('SURVEY_EMAIL', 'sandro.halank@wikimedia.de') diff --git a/input/tests/__init__.py b/input/tests/__init__.py index cb7cb1b..4e86ec4 100755 --- a/input/tests/__init__.py +++ b/input/tests/__init__.py @@ -1,4 +1,5 @@ from datetime import date +from unittest import skipUnless from django.test import TestCase, Client from django.conf import settings @@ -32,6 +33,7 @@ class TestWithoutLogin(TestCase): #print (response.content) self.assertContains(response,'Sourcecode') + @skipUnless(settings.INTERN_VIEW_ENABLED, 'Intern view is disabled.') def test_access_denied(self): '''test if /intern redirects to login page if not logged in''' response = self.client.get('/intern', follow=True) @@ -96,6 +98,7 @@ class TestWithLogin(TestCase): self.client = Client() self.user = User.objects.create_user('vladimir', 'vladimir@reiherzehe.com', 'reiherzehe') + @skipUnless(settings.INTERN_VIEW_ENABLED, 'Intern view is disabled.') def test_access(self): '''test if /intern gives an answer''' self.assertEqual(self.client.login(username='testuser', password='testpasswd'), True) diff --git a/input/urls.py b/input/urls.py index 28ec03a..948aa2e 100755 --- a/input/urls.py +++ b/input/urls.py @@ -1,14 +1,18 @@ -from django.urls import path -from .views import ExternView, index, done, authorize, deny, InternView, export +from django.conf import settings from django.contrib import admin +from django.urls import path + +from .views import ExternView, index, done, authorize, deny, InternView, export urlpatterns = [ path('', index, name='index'), path('extern', ExternView.as_view(), name='extern'), -# path('intern', InternView.as_view(), name='intern'), path('admin/', admin.site.urls), path('saved', done, name='done'), path('export', export, name='export'), path('authorize//', authorize, name='authorize'), path('deny//', deny, name='deny'), ] + +if settings.INTERN_VIEW_ENABLED: # pragma: no cover + urlpatterns.insert(2, path('intern', InternView.as_view(), name='intern')) diff --git a/input/views.py b/input/views.py index 3d7c33d..2be7384 100755 --- a/input/views.py +++ b/input/views.py @@ -73,7 +73,7 @@ def done(request): def index(request): return render(request, 'input/index.html') -class InternView(LoginRequiredMixin, CookieWizardView): +class InternView(LoginRequiredMixin, CookieWizardView): # pragma: no cover '''This View is for WMDE-employees only''' template_name = 'input/extern.html'