From 4ef923cbe9d4d4f3348657389661ffa99e89f919 Mon Sep 17 00:00:00 2001 From: maxbr Date: Thu, 25 Aug 2016 12:05:19 +0200 Subject: Add a Booking detail view JIRA: RELENG-12 This adds a pop-up to the booking calendar, containing information about a selected booking. Change-Id: Ie780006963cb927d073103edbaefbdab3de403fb Signed-off-by: maxbr --- tools/pharos-dashboard/booking/views.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'tools/pharos-dashboard/booking/views.py') diff --git a/tools/pharos-dashboard/booking/views.py b/tools/pharos-dashboard/booking/views.py index c2f437f3..fde8d816 100644 --- a/tools/pharos-dashboard/booking/views.py +++ b/tools/pharos-dashboard/booking/views.py @@ -1,11 +1,12 @@ from django.contrib import messages -from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin +from django.contrib.auth.mixins import LoginRequiredMixin from django.http import JsonResponse from django.shortcuts import get_object_or_404 +from django.shortcuts import redirect from django.urls import reverse from django.views import View from django.views.generic import FormView -from django.shortcuts import redirect +from django.views.generic import TemplateView from jira import JIRAError from account.jira_util import get_jira @@ -28,6 +29,7 @@ def create_jira_ticket(user, booking): jira.add_attachment(issue, user.userprofile.pgp_public_key) jira.add_attachment(issue, user.userprofile.ssh_public_key) booking.jira_issue_id = issue.id + booking.save() class BookingFormView(LoginRequiredMixin, FormView): @@ -76,6 +78,18 @@ class BookingFormView(LoginRequiredMixin, FormView): return super(BookingFormView, self).form_valid(form) +class BookingView(TemplateView): + template_name = "booking/booking_detail.html" + + def get_context_data(self, **kwargs): + booking = get_object_or_404(Booking, id=self.kwargs['booking_id']) + jira_issue = booking.get_jira_issue() + title = 'Booking Details' + context = super(BookingView, self).get_context_data(**kwargs) + context.update({'title': title, 'booking': booking, 'jira_issue': jira_issue}) + return context + + class ResourceBookingsJSON(View): def get(self, request, *args, **kwargs): resource = get_object_or_404(Resource, id=self.kwargs['resource_id']) -- cgit 1.2.3-korg