Merge branch 'develop' into feature/webapp-tests

This commit is contained in:
Aarni Halinen
2019-11-10 18:01:53 +02:00
4 changed files with 39 additions and 15 deletions
+29 -12
View File
@@ -1,29 +1,31 @@
"""Webapp views."""
import jwt
# import logging
# import requests
from dealer.git import git
from django.conf import settings
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponse
# from django.db.models import Count
from django.shortcuts import render, redirect
from django.contrib.auth import login, logout, authenticate
from django.shortcuts import redirect, render
from django.views.decorators.http import require_http_methods
from django_filters import rest_framework as filters
# from django.views.decorators.csrf import ensure_csrf_cookie
# from django.http import HttpResponse, HttpResponseRedirect
# from django.contrib.auth.decorators import permission_required, login_required
# from django.conf import settings
# from django.utils import timezone
from rest_framework import viewsets, routers
from rest_framework import permissions, routers, viewsets
from rest_framework.filters import OrderingFilter, SearchFilter
from rest_framework.permissions import IsAuthenticatedOrReadOnly
from rest_framework.response import Response
from rest_framework.reverse import reverse
from django_filters import rest_framework as filters
from rest_framework.filters import SearchFilter, OrderingFilter
from rest_framework import permissions
# import logging
# import requests
from dealer.git import git
from webapp.models import Event, SignupForm, Signup, TemplateQuestion, Feed,\
Committee, Official, Tag
from webapp.serializers import *
from members.views.utils import *
from webapp.models import (Committee, Event, Feed, Official, Signup,
SignupForm, Tag, TemplateQuestion)
from webapp.serializers import *
class IsPostOrIsAuthenticated(permissions.BasePermission):
@@ -152,3 +154,18 @@ def about_view(request, *args, **kwargs):
'tag': latest_tag
}
return render(request, "about.html", context)
@require_http_methods(["GET"])
def nginx_jwt_resp(request, *args, **kwargs):
cookie = request.COOKIES.get("jwt", None)
if not cookie:
return HttpResponse("", status=401)
try:
token = jwt.decode(cookie, settings.SECRET_KEY)
except jwt.exceptions.InvalidSignatureError:
return HttpResponse("", status=403)
user = 'admin' if token.get('username', '') == 'admin' else 'moderator'
resp = HttpResponse("", status=200)
resp['X-FBrowser-User'] = user
return resp