Siobhan Tully | cf04fb6 | 2014-01-11 11:25:57 -0500 | [diff] [blame] | 1 | #views.py |
| 2 | from django.views.generic import TemplateView |
| 3 | |
Siobhan Tully | 90040c2 | 2014-01-13 23:47:24 -0500 | [diff] [blame] | 4 | from core.models import Slice,SliceRole,SlicePrivilege,Site,Reservation |
Siobhan Tully | cf04fb6 | 2014-01-11 11:25:57 -0500 | [diff] [blame] | 5 | |
| 6 | class DashboardWelcomeView(TemplateView): |
| 7 | template_name = 'admin/dashboard/welcome.html' |
| 8 | |
| 9 | def get(self, request, *args, **kwargs): |
| 10 | context = self.get_context_data(**kwargs) |
Siobhan Tully | 90040c2 | 2014-01-13 23:47:24 -0500 | [diff] [blame] | 11 | sliceList = Slice.objects.all() |
| 12 | try: |
| 13 | site = Site.objects.filter(id=request.user.site.id) |
| 14 | except: |
| 15 | site = Site.objects.filter(name="Princeton") |
| 16 | context['site'] = site[0] |
Siobhan Tully | cf04fb6 | 2014-01-11 11:25:57 -0500 | [diff] [blame] | 17 | |
Siobhan Tully | 90040c2 | 2014-01-13 23:47:24 -0500 | [diff] [blame] | 18 | slicePrivs = SlicePrivilege.objects.filter(user=request.user) |
| 19 | userSliceInfo = [] |
| 20 | for entry in slicePrivs: |
| 21 | |
| 22 | try: |
| 23 | reservationList = Reservation.objects.filter(slice=entry.slice) |
| 24 | reservations = (True,reservationList) |
| 25 | |
| 26 | except: |
| 27 | reservations = None |
| 28 | |
| 29 | userSliceInfo.append({'slice': Slice.objects.get(id=entry.slice.id), |
| 30 | 'role': SliceRole.objects.get(id=entry.role.id).role, |
| 31 | 'reservations': reservations}) |
| 32 | |
| 33 | context['userSliceInfo'] = userSliceInfo |
Siobhan Tully | e18b344 | 2014-02-23 14:23:34 -0500 | [diff] [blame^] | 34 | context['cdnData'] = self.getCDNOperatorData(); |
Siobhan Tully | cf04fb6 | 2014-01-11 11:25:57 -0500 | [diff] [blame] | 35 | return self.render_to_response(context=context) |
Siobhan Tully | e18b344 | 2014-02-23 14:23:34 -0500 | [diff] [blame^] | 36 | |
| 37 | def getCDNOperatorData(self): |
| 38 | cdnData = { |
| 39 | "Arizona": { |
| 40 | "lat": 32.2333, |
| 41 | "long": -110.94799999999998, |
| 42 | "health": 0, |
| 43 | "numNodes": 15, |
| 44 | "numHPCSlivers": 2, |
| 45 | "siteUrl": "http://www.cs.arizona.edu/" |
| 46 | }, |
| 47 | "I2 Singapore": { |
| 48 | "lat": 1.33544, |
| 49 | "long": 103.88999999999999, |
| 50 | "health": 0, |
| 51 | "numNodes": 15, |
| 52 | "numHPCSlivers": 5, |
| 53 | "siteUrl": "http://www.internet2.edu/" |
| 54 | }, |
| 55 | "ON.Lab": { |
| 56 | "lat": 37.452955, |
| 57 | "long": -122.18176599999998, |
| 58 | "health": 0, |
| 59 | "numNodes": 45, |
| 60 | "numHPCSlivers": 12, |
| 61 | "siteUrl": "http://www.onlab.us/" |
| 62 | }, |
| 63 | "I2 Washington DC": { |
| 64 | "lat": 38.009, |
| 65 | "long": -77.00029999999998, |
| 66 | "health": 0, |
| 67 | "numNodes": 50, |
| 68 | "numHPCSlivers": 7, |
| 69 | "siteUrl": "http://www.internet2.edu/" |
| 70 | }, |
| 71 | "I2 Seattle": { |
| 72 | "lat": 47.6531, |
| 73 | "long": -122.31299999999999, |
| 74 | "health": 0, |
| 75 | "numNodes": 100, |
| 76 | "numHPCSlivers": 10, |
| 77 | "siteUrl": "http://www.internet2.edu/" |
| 78 | }, |
| 79 | "I2 Salt Lake City": { |
| 80 | "lat": 40.7659, |
| 81 | "long": -111.844, |
| 82 | "health": 0, |
| 83 | "numNodes": 35, |
| 84 | "numHPCSlivers": 10, |
| 85 | "siteUrl": "http://www.internet2.edu/" |
| 86 | }, |
| 87 | "I2 New York": { |
| 88 | "lat": 40.72, |
| 89 | "long": -73.99000000000001, |
| 90 | "health": 0, |
| 91 | "numNodes": 25, |
| 92 | "numHPCSlivers": 4, |
| 93 | "siteUrl": "http://www.internet2.edu/" |
| 94 | }, |
| 95 | "I2 Los Angeles": { |
| 96 | "lat": 33.2505, |
| 97 | "long": -117.50299999999999, |
| 98 | "health": 0, |
| 99 | "numNodes": 20, |
| 100 | "numHPCSlivers": 10, |
| 101 | "siteUrl": "http://www.internet2.edu/" |
| 102 | }, |
| 103 | "I2 Kansas City": { |
| 104 | "lat": 39.0012, |
| 105 | "long": -94.00630000000001, |
| 106 | "health": 0, |
| 107 | "numNodes": 17, |
| 108 | "numHPCSlivers": 8, |
| 109 | "siteUrl": "http://www.internet2.edu/" |
| 110 | }, |
| 111 | "I2 Houston": { |
| 112 | "lat": 29.0077, |
| 113 | "long": -95.00369999999998, |
| 114 | "health": 0, |
| 115 | "numNodes": 15, |
| 116 | "numHPCSlivers": 10, |
| 117 | "siteUrl": "http://www.internet2.edu/" |
| 118 | }, |
| 119 | "I2 Chicago": { |
| 120 | "lat": 41.0085, |
| 121 | "long": -87.00650000000002, |
| 122 | "health": 0, |
| 123 | "numNodes": 15, |
| 124 | "numHPCSlivers": 10, |
| 125 | "siteUrl": "http://www.internet2.edu/" |
| 126 | }, |
| 127 | "I2 Atlanta": { |
| 128 | "lat": 33.0075, |
| 129 | "long": -84.00380000000001, |
| 130 | "health": 0, |
| 131 | "numNodes": 15, |
| 132 | "numHPCSlivers": 10, |
| 133 | "siteUrl": "http://www.internet2.edu/" |
| 134 | }, |
| 135 | "MaxPlanck": { |
| 136 | "lat": 49.14, |
| 137 | "long": 6.588999999999942, |
| 138 | "health": 0, |
| 139 | "numNodes": 15, |
| 140 | "numHPCSlivers": 10, |
| 141 | "siteUrl": "http://www.mpi-sws.mpg.de/" |
| 142 | }, |
| 143 | "GeorgiaTech": { |
| 144 | "lat": 33.7772, |
| 145 | "long": -84.39760000000001, |
| 146 | "health": 0, |
| 147 | "numNodes": 15, |
| 148 | "numHPCSlivers": 10, |
| 149 | "siteUrl": "http://www.gatech.edu/" |
| 150 | }, |
| 151 | "Princeton": { |
| 152 | "lat": 40.3502, |
| 153 | "long": -74.6524, |
| 154 | "health": 0, |
| 155 | "numNodes": 15, |
| 156 | "numHPCSlivers": 10, |
| 157 | "siteUrl": "http://princeton.edu/" |
| 158 | }, |
| 159 | "Washington": { |
| 160 | "lat": 47.6531, |
| 161 | "long": -122.31299999999999, |
| 162 | "health": 0, |
| 163 | "numNodes": 15, |
| 164 | "numHPCSlivers": 10, |
| 165 | "siteUrl": "https://www.washington.edu/" |
| 166 | }, |
| 167 | "Stanford": { |
| 168 | "lat": 37.4294, |
| 169 | "long": -122.17200000000003, |
| 170 | "health": 0, |
| 171 | "numNodes": 15, |
| 172 | "numHPCSlivers": 10, |
| 173 | "siteUrl": "http://www.stanford.edu/" |
| 174 | }, |
| 175 | } |
| 176 | return cdnData |
| 177 | |