from django.shortcuts import render, redirect from django.contrib.auth import login, logout, authenticate from django.views.decorators.http import require_http_methods from django.views.decorators.csrf import ensure_csrf_cookie from django.contrib.auth.decorators import permission_required from django.conf import settings import logging webapplogger = logging.getLogger(__name__) logging.basicConfig(format='[%(levelname)s]%(asctime)s %(message)s', level=settings.LOGGERLEVEL, filename=settings.LOGPATH) @require_http_methods(["GET"]) def main_index(request, *args, **kwargs): return render(request, "main_index.html", {}) @require_http_methods(["GET", "POST"]) @ensure_csrf_cookie @permission_required('members.change_member', login_url='/login') def admin_index(request, *args, **kwargs): return render(request, "admin_index.html", {}) @require_http_methods(["GET", "POST"]) def login_view(request, *args, **kwargs): if request.method == "POST": uname = request.POST.get("username", None) pw = request.POST.get("passwd", None) user = authenticate(username=uname, password=pw) if user is not None: login(request, user) original_site = request.GET.get("next", None) or "/" return redirect(original_site) return render(request, "login.html", {"error": "☹ Kirjautuminen kosahti. Yritä uudelleen!"}) # user got here by a get request user = request.user if user.is_authenticated(): # user shoud not be here authenticated with get but get rid if is return redirect("/") return render(request, "login.html", {}) @require_http_methods(["POST"]) def logout_view(request, *args, **kwargs): logout(request) return redirect("/") @require_http_methods(["GET"]) def about_view(request, *args, **kwargs): return render(request, "about.html", {})