Fix all flake8 errors
[pharos-tools.git] / dashboard / src / account / views.py
index e6a0e5d..09c5266 100644 (file)
@@ -1,5 +1,6 @@
 ##############################################################################
 # Copyright (c) 2016 Max Breitenfeldt and others.
+# Copyright (c) 2018 Parker Berberian, Sawyer Bergeron, and others.
 #
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Apache License, Version 2.0
@@ -21,12 +22,15 @@ from django.contrib.auth.models import User
 from django.urls import reverse
 from django.utils.decorators import method_decorator
 from django.views.generic import RedirectView, TemplateView, UpdateView
+from django.shortcuts import render
 from jira import JIRA
 from rest_framework.authtoken.models import Token
 
 from account.forms import AccountSettingsForm
 from account.jira_util import SignatureMethod_RSA_SHA1
 from account.models import UserProfile
+from booking.models import Booking
+from resource_inventory.models import GenericResourceBundle, ConfigBundle, Image
 
 
 @method_decorator(login_required, name='dispatch')
@@ -59,7 +63,7 @@ class JiraLoginView(RedirectView):
         # Step 1. Get a request token from Jira.
         try:
             resp, content = client.request(settings.OAUTH_REQUEST_TOKEN_URL, "POST")
-        except Exception as e:
+        except Exception:
             messages.add_message(self.request, messages.ERROR,
                                  'Error: Connection to Jira failed. Please contact an Administrator')
             return '/'
@@ -72,8 +76,8 @@ class JiraLoginView(RedirectView):
         self.request.session['request_token'] = dict(urllib.parse.parse_qsl(content.decode()))
         # Step 3. Redirect the user to the authentication URL.
         url = settings.OAUTH_AUTHORIZE_URL + '?oauth_token=' + \
-              self.request.session['request_token']['oauth_token'] + \
-              '&oauth_callback=' + settings.OAUTH_CALLBACK_URL
+            self.request.session['request_token']['oauth_token'] + \
+            '&oauth_callback=' + settings.OAUTH_CALLBACK_URL
         return url
 
 
@@ -95,7 +99,7 @@ class JiraAuthenticatedView(RedirectView):
         # Step 2. Request the authorized access token from Jira.
         try:
             resp, content = client.request(settings.OAUTH_ACCESS_TOKEN_URL, "POST")
-        except Exception as e:
+        except Exception:
             messages.add_message(self.request, messages.ERROR,
                                  'Error: Connection to Jira failed. Please contact an Administrator')
             return '/'
@@ -153,3 +157,50 @@ class UserListView(TemplateView):
         context = super(UserListView, self).get_context_data(**kwargs)
         context.update({'title': "Dashboard Users", 'users': users})
         return context
+
+
+def account_detail_view(request):
+    template = "account/details.html"
+    return render(request, template)
+
+
+def account_resource_view(request):
+    """
+    gathers a users genericResoureBundles and
+    turns them into displayable objects
+    """
+    if not request.user.is_authenticated:
+        return render(request, "dashboard/login.html", {'title': 'Authentication Required'})
+    template = "account/resource_list.html"
+    resources = list(GenericResourceBundle.objects.filter(owner=request.user))
+    context = {"resources": resources, "title": "My Resources"}
+    return render(request, template, context=context)
+
+
+def account_booking_view(request):
+    if not request.user.is_authenticated:
+        return render(request, "dashboard/login.html", {'title': 'Authentication Required'})
+    template = "account/booking_list.html"
+    bookings = list(Booking.objects.filter(owner=request.user))
+    collab_bookings = list(request.user.collaborators.all())
+    context = {"title": "My Bookings", "bookings": bookings, "collab_bookings": collab_bookings}
+    return render(request, template, context=context)
+
+
+def account_configuration_view(request):
+    if not request.user.is_authenticated:
+        return render(request, "dashboard/login.html", {'title': 'Authentication Required'})
+    template = "account/configuration_list.html"
+    configs = list(ConfigBundle.objects.filter(owner=request.user))
+    context = {"title": "Configuration List", "configurations": configs}
+    return render(request, template, context=context)
+
+
+def account_images_view(request):
+    if not request.user.is_authenticated:
+        return render(request, "dashboard/login.html", {'title': 'Authentication Required'})
+    template = "account/image_list.html"
+    my_images = Image.objects.filter(owner=request.user)
+    public_images = Image.objects.filter(public=True)
+    context = {"title": "Images", "images": my_images, "public_images": public_images}
+    return render(request, template, context=context)