1 from datetime import timedelta
2 from django.utils import timezone
3 from django.views.generic import TemplateView
5 from booking.models import Booking
6 from dashboard.models import Resource
7 from jenkins import adapter as jenkins
8 from jenkins.models import JenkinsSlave, JenkinsStatistic
11 class JenkinsSlavesView(TemplateView):
12 template_name = "dashboard/jenkins_slaves.html"
14 def get_context_data(self, **kwargs):
15 slaves = JenkinsSlave.objects.all()
16 context = super(JenkinsSlavesView, self).get_context_data(**kwargs)
17 context.update({'title': "Jenkins Slaves", 'slaves': slaves})
21 class CIPodsView(TemplateView):
22 template_name = "dashboard/ci_pods.html"
24 def get_context_data(self, **kwargs):
25 ci_pods = Resource.objects.filter(slave__ci_slave=True)
26 context = super(CIPodsView, self).get_context_data(**kwargs)
27 context.update({'title': "CI Pods", 'ci_pods': ci_pods})
31 class DevelopmentPodsView(TemplateView):
32 template_name = "dashboard/dev_pods.html"
34 def get_context_data(self, **kwargs):
35 resources = Resource.objects.filter(slave__dev_pod=True)
37 bookings = Booking.objects.filter(start__lte=timezone.now())
38 bookings = bookings.filter(end__gt=timezone.now())
41 for resource in resources:
42 dev_pod = (resource, None)
43 for booking in bookings:
44 if booking.resource == resource:
45 dev_pod = (resource, booking)
46 dev_pods.append(dev_pod)
48 context = super(DevelopmentPodsView, self).get_context_data(**kwargs)
49 context.update({'title': "Development Pods", 'dev_pods': dev_pods})