"""Webapp views.""" # from django.db.models import Count 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.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 # from rest_framework import permissions, authentication from rest_framework.response import Response from rest_framework.reverse import reverse # import logging # import requests from dealer.git import git from webapp.models import Event, SignupForm, Signup, TemplateQuestion, Feed,\ Committee, Official from webapp.serializers import * from members.views.utils import * # -- REST API -- # class EventViewSet(viewsets.ModelViewSet): queryset = Event.objects.all() serializer_class = EventSerializer class SignupFormViewSet(viewsets.ModelViewSet): queryset = SignupForm.objects.all() serializer_class = SignupFormSerializer class SignupViewSet(viewsets.ModelViewSet): queryset = Signup.objects.all() serializer_class = SignupSerializer class SavedQuestionsViewSet(viewsets.ModelViewSet): queryset = TemplateQuestion.objects.all() serializer_class = SavedQuestionsSerializer class FeedViewSet(viewsets.ModelViewSet): queryset = Feed.objects.all() serializer_class = FeedSerializer class ContactsViewSet(viewsets.ReadOnlyModelViewSet): queryset = Official.objects.all() serializer_class = ContactsSerializer # -- OLD CODEBASE -- # @require_http_methods(["GET"]) def main_index(request, *args, **kwargs): """Render main page.""" return render(request, "index.html", {}) @require_http_methods(["GET"]) def about_view(request, *args, **kwargs): """Render about page.""" latest_commit = "Not found" latest_date = "Not found" latest_tag = "Not found" try: repo = git.init_repo() latest_commit = repo.git("rev-parse HEAD").decode('utf-8') latest_date = repo.git("show -s --format=%ci " + latest_commit).decode('utf-8') latest_tag = repo.git("describe --tags " + repo.git("rev-list --tags --max-count=1").decode('utf-8')).decode('utf-8') except Exception: pass context = { 'commit': latest_commit, 'date': latest_date, 'tag': latest_tag } return render(request, "about.html", context) @require_http_methods(["GET"]) def guild_view(request, *args, **kwargs): """Render "Guild" page.""" return render(request, "guild.html", {}) @require_http_methods(["GET"]) def freshmen_view(request, *args, **kwargs): """Render "Freshmen" page.""" return render(request, "freshmen.html", {}) @require_http_methods(["GET"]) def jobs_view(request, *args, **kwargs): """Render "Jobs" page.""" return render(request, "jobs.html", {}) @require_http_methods(["GET"]) def event_calendar_view(request, *args, **kwargs): """Render "Event calendar" page.""" return render(request, "event_calendar.html", {}) @require_http_methods(["GET"]) def international_view(request, *args, **kwargs): """Render "International" page.""" return render(request, "international.html", {}) @require_http_methods(["GET"]) def sosso_view(request, *args, **kwargs): """Render "Sössö" page.""" return render(request, "sosso.html", {}) @require_http_methods(["GET"]) def contact_view(request, *args, **kwargs): """Render "Contact" page.""" committees = Committee.objects.order_by('name') context = { "committees": committees } return render(request, "contact.html", context)