From c8fa8a3c5728bc4aaf12abd988cf75e256caef10 Mon Sep 17 00:00:00 2001 From: robertavram Date: Tue, 7 Sep 2021 10:30:07 -0400 Subject: [PATCH 1/6] fix urls --- django_api/etools_prp/apps/unicef/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_api/etools_prp/apps/unicef/models.py b/django_api/etools_prp/apps/unicef/models.py index 9a3a1fec0..7717097d2 100644 --- a/django_api/etools_prp/apps/unicef/models.py +++ b/django_api/etools_prp/apps/unicef/models.py @@ -496,7 +496,7 @@ def send_notification_on_status_change(sender, instance, **kwargs): subject_template_path = 'emails/on_progress_report_status_change_subject.txt' pd = instance.programme_document - part_pr_url = f'/app/{pd.workspace.workspace_code}/ip-reporting/pd/{pd.id}/report/{instance.id}/' + part_pr_url = f'/ip/{pd.workspace.workspace_code}/ip-reporting/pd/{pd.id}/report/{instance.id}/' pr_url = urljoin(settings.FRONTEND_HOST, part_pr_url) template_data = { From fc8c5a3e293cde36f26093193db348e6175f0f6f Mon Sep 17 00:00:00 2001 From: robertavram Date: Tue, 7 Sep 2021 11:32:08 -0400 Subject: [PATCH 2/6] redirect url --- django_api/etools_prp/apps/core/views.py | 17 +++++++++++++++++ django_api/etools_prp/config/urls.py | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/django_api/etools_prp/apps/core/views.py b/django_api/etools_prp/apps/core/views.py index f95c87190..90b759c01 100644 --- a/django_api/etools_prp/apps/core/views.py +++ b/django_api/etools_prp/apps/core/views.py @@ -3,7 +3,9 @@ from django.conf import settings from django.contrib.auth.mixins import LoginRequiredMixin from django.db.models import Q +from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 +from django.views import View from django.views.generic import RedirectView, TemplateView import django_filters @@ -250,6 +252,21 @@ def get_redirect_url(self, *args, **kwargs): return redirect_page +class RedirectAppView(LoginRequiredMixin, View): + + def get(self, request, *args, **kwargs): + url = self.get_redirect_url(request, *args, **kwargs) + return HttpResponseRedirect(url) + + def get_redirect_url(self, request, *args, **kwargs): + path = request.path + if "cluster" in path: + new_path = path.replace("app", "cluster", 1) + else: + new_path = path.replace("app", "ip", 1) + return new_path + + class UnauthorizedView(TemplateView): template_name = 'unauthorized.html' diff --git a/django_api/etools_prp/config/urls.py b/django_api/etools_prp/config/urls.py index 150ca1329..57b05c556 100644 --- a/django_api/etools_prp/config/urls.py +++ b/django_api/etools_prp/config/urls.py @@ -22,12 +22,13 @@ from rest_framework_swagger.views import get_swagger_view -from etools_prp.apps.core.views import HomeView, SocialLogoutView, UnauthorizedView +from etools_prp.apps.core.views import HomeView, SocialLogoutView, UnauthorizedView, RedirectAppView schema_view = get_swagger_view(title='eTools PRP API') urlpatterns = [ url(r'^$', HomeView.as_view()), + url(r'^app/', RedirectAppView.as_view()), url(r'^api/docs/', schema_view), url(r'^api/admin/', admin.site.urls), url(r'^api/core/', include('etools_prp.apps.core.urls')), From 54971a054700820d240ccfc5d3860ce3fa1fbb44 Mon Sep 17 00:00:00 2001 From: robertavram Date: Tue, 7 Sep 2021 12:09:56 -0400 Subject: [PATCH 3/6] update views --- django_api/etools_prp/apps/core/views.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/django_api/etools_prp/apps/core/views.py b/django_api/etools_prp/apps/core/views.py index 90b759c01..0279866d3 100644 --- a/django_api/etools_prp/apps/core/views.py +++ b/django_api/etools_prp/apps/core/views.py @@ -10,12 +10,6 @@ import django_filters from django_celery_beat.models import PeriodicTask -from rest_framework import status as statuses -from rest_framework.exceptions import ValidationError -from rest_framework.generics import CreateAPIView, DestroyAPIView, GenericAPIView, ListAPIView, UpdateAPIView -from rest_framework.response import Response -from rest_framework.views import APIView - from etools_prp.apps.core.common import ( CURRENCIES, DISPLAY_CLUSTER_TYPES, @@ -26,6 +20,11 @@ from etools_prp.apps.core.paginations import SmallPagination from etools_prp.apps.id_management.permissions import RoleGroupCreateUpdateDestroyPermission from etools_prp.apps.utils.serializers import serialize_choices +from rest_framework import status as statuses +from rest_framework.exceptions import ValidationError +from rest_framework.generics import CreateAPIView, DestroyAPIView, GenericAPIView, ListAPIView, UpdateAPIView +from rest_framework.response import Response +from rest_framework.views import APIView from .filters import LocationFilter from .models import Location, PRPRole, ResponsePlan, Workspace From aaa6ae8cbe8c80bfbb6f2fe650caf9afeb885711 Mon Sep 17 00:00:00 2001 From: robertavram Date: Tue, 7 Sep 2021 12:10:35 -0400 Subject: [PATCH 4/6] flake --- django_api/etools_prp/apps/core/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_api/etools_prp/apps/core/views.py b/django_api/etools_prp/apps/core/views.py index 0279866d3..3455fb414 100644 --- a/django_api/etools_prp/apps/core/views.py +++ b/django_api/etools_prp/apps/core/views.py @@ -280,4 +280,4 @@ class SocialLogoutView(RedirectView): def get_redirect_url(self, *args, **kwargs): return f'https://{settings.TENANT_B2C_URL}/{settings.TENANT_ID}.onmicrosoft.com/{settings.POLICY}/oauth2/' \ - f'v2.0/logout?post_logout_redirect_uri={settings.FRONTEND_HOST}{settings.LOGOUT_URL}' + f'v2.0/logout?post_logout_redirect_uri={settings.FRONTEND_HOST}{settings.LOGOUT_URL}' From 9b97619c715422dcff1091ea730cb59c691791e4 Mon Sep 17 00:00:00 2001 From: robertavram Date: Tue, 7 Sep 2021 14:18:48 -0400 Subject: [PATCH 5/6] isort --- django_api/etools_prp/config/urls.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/django_api/etools_prp/config/urls.py b/django_api/etools_prp/config/urls.py index 57b05c556..786c24d54 100644 --- a/django_api/etools_prp/config/urls.py +++ b/django_api/etools_prp/config/urls.py @@ -20,10 +20,9 @@ from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns +from etools_prp.apps.core.views import HomeView, RedirectAppView, SocialLogoutView, UnauthorizedView from rest_framework_swagger.views import get_swagger_view -from etools_prp.apps.core.views import HomeView, SocialLogoutView, UnauthorizedView, RedirectAppView - schema_view = get_swagger_view(title='eTools PRP API') urlpatterns = [ From 7496c74fc437e8112b996ccfbbd1d0e04eba9de5 Mon Sep 17 00:00:00 2001 From: robertavram Date: Tue, 7 Sep 2021 15:12:02 -0400 Subject: [PATCH 6/6] isort --- django_api/etools_prp/apps/core/views.py | 11 ++++++----- django_api/etools_prp/config/urls.py | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/django_api/etools_prp/apps/core/views.py b/django_api/etools_prp/apps/core/views.py index 3455fb414..d53a5c1c9 100644 --- a/django_api/etools_prp/apps/core/views.py +++ b/django_api/etools_prp/apps/core/views.py @@ -10,6 +10,12 @@ import django_filters from django_celery_beat.models import PeriodicTask +from rest_framework import status as statuses +from rest_framework.exceptions import ValidationError +from rest_framework.generics import CreateAPIView, DestroyAPIView, GenericAPIView, ListAPIView, UpdateAPIView +from rest_framework.response import Response +from rest_framework.views import APIView + from etools_prp.apps.core.common import ( CURRENCIES, DISPLAY_CLUSTER_TYPES, @@ -20,11 +26,6 @@ from etools_prp.apps.core.paginations import SmallPagination from etools_prp.apps.id_management.permissions import RoleGroupCreateUpdateDestroyPermission from etools_prp.apps.utils.serializers import serialize_choices -from rest_framework import status as statuses -from rest_framework.exceptions import ValidationError -from rest_framework.generics import CreateAPIView, DestroyAPIView, GenericAPIView, ListAPIView, UpdateAPIView -from rest_framework.response import Response -from rest_framework.views import APIView from .filters import LocationFilter from .models import Location, PRPRole, ResponsePlan, Workspace diff --git a/django_api/etools_prp/config/urls.py b/django_api/etools_prp/config/urls.py index 786c24d54..cf3915ff6 100644 --- a/django_api/etools_prp/config/urls.py +++ b/django_api/etools_prp/config/urls.py @@ -20,9 +20,10 @@ from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns -from etools_prp.apps.core.views import HomeView, RedirectAppView, SocialLogoutView, UnauthorizedView from rest_framework_swagger.views import get_swagger_view +from etools_prp.apps.core.views import HomeView, RedirectAppView, SocialLogoutView, UnauthorizedView + schema_view = get_swagger_view(title='eTools PRP API') urlpatterns = [