2 from django.views.generic import TemplateView, View
6 from core.models import Slice,SliceRole,SlicePrivilege,Site,Reservation
7 from django.http import HttpResponse
10 class DashboardWelcomeView(TemplateView):
11 template_name = 'admin/dashboard/welcome.html'
13 def get(self, request, *args, **kwargs):
14 context = self.get_context_data(**kwargs)
16 site = Site.objects.filter(id=request.user.site.id)
18 site = Site.objects.filter(name="Princeton")
19 context['site'] = site[0]
21 context['userSliceInfo'] = getSliceInfo(request, context)
22 context['cdnData'] = getCDNOperatorData();
23 return self.render_to_response(context=context)
25 def getSliceInfo(request, context):
26 sliceList = Slice.objects.all()
27 slicePrivs = SlicePrivilege.objects.filter(user=request.user)
29 for entry in slicePrivs:
32 reservationList = Reservation.objects.filter(slice=entry.slice)
33 reservations = (True,reservationList)
38 userSliceInfo.append({'slice': Slice.objects.get(id=entry.slice.id),
39 'role': SliceRole.objects.get(id=entry.role.id).role,
40 'reservations': reservations})
44 def getCDNOperatorData(randomizeData = False):
48 "long": -110.94799999999998,
52 "siteUrl": "http://www.cs.arizona.edu/"
56 "long": 103.88999999999999,
60 "siteUrl": "http://www.internet2.edu/"
64 "long": -122.18176599999998,
68 "siteUrl": "http://www.onlab.us/"
72 "long": -77.00029999999998,
76 "siteUrl": "http://www.internet2.edu/"
80 "long": -122.31299999999999,
84 "siteUrl": "http://www.internet2.edu/"
86 "I2 Salt Lake City": {
92 "siteUrl": "http://www.internet2.edu/"
96 "long": -73.99000000000001,
100 "siteUrl": "http://www.internet2.edu/"
104 "long": -117.50299999999999,
108 "siteUrl": "http://www.internet2.edu/"
112 "long": -94.00630000000001,
116 "siteUrl": "http://www.internet2.edu/"
120 "long": -95.00369999999998,
124 "siteUrl": "http://www.internet2.edu/"
128 "long": -87.00650000000002,
132 "siteUrl": "http://www.internet2.edu/"
136 "long": -84.00380000000001,
140 "siteUrl": "http://www.internet2.edu/"
144 "long": 6.588999999999942,
148 "siteUrl": "http://www.mpi-sws.mpg.de/"
152 "long": -84.39760000000001,
156 "siteUrl": "http://www.gatech.edu/"
164 "siteUrl": "http://princeton.edu/"
168 "long": -122.31299999999999,
172 "siteUrl": "https://www.washington.edu/"
176 "long": -122.17200000000003,
180 "siteUrl": "http://www.stanford.edu/"
185 cdnData["Siobhan"] = { "lat": 43.34203, "long": -70.56351, "health": 10, "numNodes": 5, "numHPCSlivers": 3, "siteUrl": "https:devonrexes"}
186 del cdnData["Princeton"]
187 cdnData["I2 Seattle"]['siteUrl'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
188 cdnData["I2 Salt Lake City"]["numHPCSlivers"] = 34
193 class DashboardAjaxView(View):
194 def get(self, request, **kwargs):
195 return HttpResponse(json.dumps(getCDNOperatorData(True)), mimetype='application/javascript')