@@ -34,6 +34,9 from apps.abs.models import ABSConfiguration | |||||
34 | from apps.rc.models import RCConfiguration, RCLine, RCLineType |
|
34 | from apps.rc.models import RCConfiguration, RCLine, RCLineType | |
35 | from apps.dds.models import DDSConfiguration |
|
35 | from apps.dds.models import DDSConfiguration | |
36 |
|
36 | |||
|
37 | from django.contrib.auth.decorators import login_required | |||
|
38 | from django.contrib.admin.views.decorators import staff_member_required | |||
|
39 | ||||
37 |
|
40 | |||
38 | CONF_FORMS = { |
|
41 | CONF_FORMS = { | |
39 | 'rc': RCConfigurationForm, |
|
42 | 'rc': RCConfigurationForm, | |
@@ -101,6 +104,7 def location(request, id_loc): | |||||
101 | return render(request, 'location.html', kwargs) |
|
104 | return render(request, 'location.html', kwargs) | |
102 |
|
105 | |||
103 |
|
106 | |||
|
107 | @staff_member_required(login_url='/accounts/login/') | |||
104 | def location_new(request): |
|
108 | def location_new(request): | |
105 |
|
109 | |||
106 | if request.method == 'GET': |
|
110 | if request.method == 'GET': | |
@@ -122,6 +126,7 def location_new(request): | |||||
122 | return render(request, 'base_edit.html', kwargs) |
|
126 | return render(request, 'base_edit.html', kwargs) | |
123 |
|
127 | |||
124 |
|
128 | |||
|
129 | @staff_member_required(login_url='/accounts/login/') | |||
125 | def location_edit(request, id_loc): |
|
130 | def location_edit(request, id_loc): | |
126 |
|
131 | |||
127 | location = get_object_or_404(Location, pk=id_loc) |
|
132 | location = get_object_or_404(Location, pk=id_loc) | |
@@ -145,6 +150,7 def location_edit(request, id_loc): | |||||
145 | return render(request, 'base_edit.html', kwargs) |
|
150 | return render(request, 'base_edit.html', kwargs) | |
146 |
|
151 | |||
147 |
|
152 | |||
|
153 | @staff_member_required(login_url='/accounts/login/') | |||
148 | def location_delete(request, id_loc): |
|
154 | def location_delete(request, id_loc): | |
149 |
|
155 | |||
150 | location = get_object_or_404(Location, pk=id_loc) |
|
156 | location = get_object_or_404(Location, pk=id_loc) | |
@@ -197,6 +203,7 def device(request, id_dev): | |||||
197 | return render(request, 'device.html', kwargs) |
|
203 | return render(request, 'device.html', kwargs) | |
198 |
|
204 | |||
199 |
|
205 | |||
|
206 | @staff_member_required(login_url='/accounts/login/') | |||
200 | def device_new(request): |
|
207 | def device_new(request): | |
201 |
|
208 | |||
202 | if request.method == 'GET': |
|
209 | if request.method == 'GET': | |
@@ -218,6 +225,7 def device_new(request): | |||||
218 | return render(request, 'base_edit.html', kwargs) |
|
225 | return render(request, 'base_edit.html', kwargs) | |
219 |
|
226 | |||
220 |
|
227 | |||
|
228 | @staff_member_required(login_url='/accounts/login/') | |||
221 | def device_edit(request, id_dev): |
|
229 | def device_edit(request, id_dev): | |
222 |
|
230 | |||
223 | device = get_object_or_404(Device, pk=id_dev) |
|
231 | device = get_object_or_404(Device, pk=id_dev) | |
@@ -241,6 +249,7 def device_edit(request, id_dev): | |||||
241 | return render(request, 'base_edit.html', kwargs) |
|
249 | return render(request, 'base_edit.html', kwargs) | |
242 |
|
250 | |||
243 |
|
251 | |||
|
252 | @staff_member_required(login_url='/accounts/login/') | |||
244 | def device_delete(request, id_dev): |
|
253 | def device_delete(request, id_dev): | |
245 |
|
254 | |||
246 | device = get_object_or_404(Device, pk=id_dev) |
|
255 | device = get_object_or_404(Device, pk=id_dev) | |
@@ -308,6 +317,7 def campaign(request, id_camp): | |||||
308 | return render(request, 'campaign.html', kwargs) |
|
317 | return render(request, 'campaign.html', kwargs) | |
309 |
|
318 | |||
310 |
|
319 | |||
|
320 | @staff_member_required(login_url='/accounts/login/') | |||
311 | def campaign_new(request): |
|
321 | def campaign_new(request): | |
312 |
|
322 | |||
313 | kwargs = {} |
|
323 | kwargs = {} | |
@@ -360,6 +370,7 def campaign_new(request): | |||||
360 | return render(request, 'campaign_edit.html', kwargs) |
|
370 | return render(request, 'campaign_edit.html', kwargs) | |
361 |
|
371 | |||
362 |
|
372 | |||
|
373 | @staff_member_required(login_url='/accounts/login/') | |||
363 | def campaign_edit(request, id_camp): |
|
374 | def campaign_edit(request, id_camp): | |
364 |
|
375 | |||
365 | campaign = get_object_or_404(Campaign, pk=id_camp) |
|
376 | campaign = get_object_or_404(Campaign, pk=id_camp) | |
@@ -400,6 +411,7 def campaign_edit(request, id_camp): | |||||
400 | return render(request, 'campaign_edit.html', kwargs) |
|
411 | return render(request, 'campaign_edit.html', kwargs) | |
401 |
|
412 | |||
402 |
|
413 | |||
|
414 | @staff_member_required(login_url='/accounts/login/') | |||
403 | def campaign_delete(request, id_camp): |
|
415 | def campaign_delete(request, id_camp): | |
404 |
|
416 | |||
405 | campaign = get_object_or_404(Campaign, pk=id_camp) |
|
417 | campaign = get_object_or_404(Campaign, pk=id_camp) | |
@@ -428,6 +440,8 def campaign_delete(request, id_camp): | |||||
428 |
|
440 | |||
429 | return render(request, 'confirm.html', kwargs) |
|
441 | return render(request, 'confirm.html', kwargs) | |
430 |
|
442 | |||
|
443 | ||||
|
444 | @staff_member_required(login_url='/accounts/login/') | |||
431 | def campaign_export(request, id_camp): |
|
445 | def campaign_export(request, id_camp): | |
432 |
|
446 | |||
433 | campaign = get_object_or_404(Campaign, pk=id_camp) |
|
447 | campaign = get_object_or_404(Campaign, pk=id_camp) | |
@@ -442,6 +456,7 def campaign_export(request, id_camp): | |||||
442 | return response |
|
456 | return response | |
443 |
|
457 | |||
444 |
|
458 | |||
|
459 | @staff_member_required(login_url='/accounts/login/') | |||
445 | def campaign_import(request, id_camp): |
|
460 | def campaign_import(request, id_camp): | |
446 |
|
461 | |||
447 | campaign = get_object_or_404(Campaign, pk=id_camp) |
|
462 | campaign = get_object_or_404(Campaign, pk=id_camp) | |
@@ -522,6 +537,7 def experiment(request, id_exp): | |||||
522 | return render(request, 'experiment.html', kwargs) |
|
537 | return render(request, 'experiment.html', kwargs) | |
523 |
|
538 | |||
524 |
|
539 | |||
|
540 | @staff_member_required(login_url='/accounts/login/') | |||
525 | def experiment_new(request, id_camp=None): |
|
541 | def experiment_new(request, id_camp=None): | |
526 |
|
542 | |||
527 | kwargs = {} |
|
543 | kwargs = {} | |
@@ -564,6 +580,7 def experiment_new(request, id_camp=None): | |||||
564 | return render(request, 'experiment_edit.html', kwargs) |
|
580 | return render(request, 'experiment_edit.html', kwargs) | |
565 |
|
581 | |||
566 |
|
582 | |||
|
583 | @staff_member_required(login_url='/accounts/login/') | |||
567 | def experiment_edit(request, id_exp): |
|
584 | def experiment_edit(request, id_exp): | |
568 |
|
585 | |||
569 | experiment = get_object_or_404(Experiment, pk=id_exp) |
|
586 | experiment = get_object_or_404(Experiment, pk=id_exp) | |
@@ -587,6 +604,7 def experiment_edit(request, id_exp): | |||||
587 | return render(request, 'experiment_edit.html', kwargs) |
|
604 | return render(request, 'experiment_edit.html', kwargs) | |
588 |
|
605 | |||
589 |
|
606 | |||
|
607 | @staff_member_required(login_url='/accounts/login/') | |||
590 | def experiment_delete(request, id_exp): |
|
608 | def experiment_delete(request, id_exp): | |
591 |
|
609 | |||
592 | experiment = get_object_or_404(Experiment, pk=id_exp) |
|
610 | experiment = get_object_or_404(Experiment, pk=id_exp) | |
@@ -612,6 +630,7 def experiment_delete(request, id_exp): | |||||
612 | return render(request, 'confirm.html', kwargs) |
|
630 | return render(request, 'confirm.html', kwargs) | |
613 |
|
631 | |||
614 |
|
632 | |||
|
633 | @staff_member_required(login_url='/accounts/login/') | |||
615 | def experiment_export(request, id_exp): |
|
634 | def experiment_export(request, id_exp): | |
616 |
|
635 | |||
617 | experiment = get_object_or_404(Experiment, pk=id_exp) |
|
636 | experiment = get_object_or_404(Experiment, pk=id_exp) | |
@@ -625,6 +644,8 def experiment_export(request, id_exp): | |||||
625 |
|
644 | |||
626 | return response |
|
645 | return response | |
627 |
|
646 | |||
|
647 | ||||
|
648 | @staff_member_required(login_url='/accounts/login/') | |||
628 | def experiment_import(request, id_exp): |
|
649 | def experiment_import(request, id_exp): | |
629 |
|
650 | |||
630 | experiment = get_object_or_404(Experiment, pk=id_exp) |
|
651 | experiment = get_object_or_404(Experiment, pk=id_exp) | |
@@ -660,6 +681,8 def experiment_import(request, id_exp): | |||||
660 |
|
681 | |||
661 | return render(request, 'experiment_import.html', kwargs) |
|
682 | return render(request, 'experiment_import.html', kwargs) | |
662 |
|
683 | |||
|
684 | ||||
|
685 | @staff_member_required(login_url='/accounts/login/') | |||
663 | def experiment_mix(request, id_exp): |
|
686 | def experiment_mix(request, id_exp): | |
664 |
|
687 | |||
665 | experiment = get_object_or_404(Experiment, pk=id_exp) |
|
688 | experiment = get_object_or_404(Experiment, pk=id_exp) | |
@@ -753,6 +776,7 def experiment_mix(request, id_exp): | |||||
753 | return render(request, 'experiment_mix.html', kwargs) |
|
776 | return render(request, 'experiment_mix.html', kwargs) | |
754 |
|
777 | |||
755 |
|
778 | |||
|
779 | @staff_member_required(login_url='/accounts/login/') | |||
756 | def experiment_mix_delete(request, id_exp): |
|
780 | def experiment_mix_delete(request, id_exp): | |
757 |
|
781 | |||
758 | conf = RCConfiguration.objects.get(experiment=id_exp, mix=True) |
|
782 | conf = RCConfiguration.objects.get(experiment=id_exp, mix=True) | |
@@ -867,6 +891,8 def experiment_summary(request, id_exp): | |||||
867 |
|
891 | |||
868 | return render(request, 'experiment_summary.html', kwargs) |
|
892 | return render(request, 'experiment_summary.html', kwargs) | |
869 |
|
893 | |||
|
894 | ||||
|
895 | @staff_member_required(login_url='/accounts/login/') | |||
870 | def experiment_verify(request, id_exp): |
|
896 | def experiment_verify(request, id_exp): | |
871 |
|
897 | |||
872 | import json |
|
898 | import json | |
@@ -1036,6 +1062,7 def dev_conf(request, id_conf): | |||||
1036 | return redirect(conf.get_absolute_url()) |
|
1062 | return redirect(conf.get_absolute_url()) | |
1037 |
|
1063 | |||
1038 |
|
1064 | |||
|
1065 | @staff_member_required(login_url='/accounts/login/') | |||
1039 | def dev_conf_new(request, id_exp=0, id_dev=0): |
|
1066 | def dev_conf_new(request, id_exp=0, id_dev=0): | |
1040 |
|
1067 | |||
1041 | initial = {} |
|
1068 | initial = {} | |
@@ -1109,6 +1136,7 def dev_conf_new(request, id_exp=0, id_dev=0): | |||||
1109 | return render(request, 'dev_conf_edit.html', kwargs) |
|
1136 | return render(request, 'dev_conf_edit.html', kwargs) | |
1110 |
|
1137 | |||
1111 |
|
1138 | |||
|
1139 | @staff_member_required(login_url='/accounts/login/') | |||
1112 | def dev_conf_edit(request, id_conf): |
|
1140 | def dev_conf_edit(request, id_conf): | |
1113 |
|
1141 | |||
1114 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1142 | conf = get_object_or_404(Configuration, pk=id_conf) | |
@@ -1137,6 +1165,7 def dev_conf_edit(request, id_conf): | |||||
1137 | return render(request, '%s_conf_edit.html' % conf.device.device_type.name, kwargs) |
|
1165 | return render(request, '%s_conf_edit.html' % conf.device.device_type.name, kwargs) | |
1138 |
|
1166 | |||
1139 |
|
1167 | |||
|
1168 | @staff_member_required(login_url='/accounts/login/') | |||
1140 | def dev_conf_start(request, id_conf): |
|
1169 | def dev_conf_start(request, id_conf): | |
1141 |
|
1170 | |||
1142 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1171 | conf = get_object_or_404(Configuration, pk=id_conf) | |
@@ -1151,6 +1180,7 def dev_conf_start(request, id_conf): | |||||
1151 | return redirect(conf.get_absolute_url()) |
|
1180 | return redirect(conf.get_absolute_url()) | |
1152 |
|
1181 | |||
1153 |
|
1182 | |||
|
1183 | @staff_member_required(login_url='/accounts/login/') | |||
1154 | def dev_conf_stop(request, id_conf): |
|
1184 | def dev_conf_stop(request, id_conf): | |
1155 |
|
1185 | |||
1156 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1186 | conf = get_object_or_404(Configuration, pk=id_conf) | |
@@ -1165,6 +1195,7 def dev_conf_stop(request, id_conf): | |||||
1165 | return redirect(conf.get_absolute_url()) |
|
1195 | return redirect(conf.get_absolute_url()) | |
1166 |
|
1196 | |||
1167 |
|
1197 | |||
|
1198 | @staff_member_required(login_url='/accounts/login/') | |||
1168 | def dev_conf_status(request, id_conf): |
|
1199 | def dev_conf_status(request, id_conf): | |
1169 |
|
1200 | |||
1170 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1201 | conf = get_object_or_404(Configuration, pk=id_conf) | |
@@ -1177,19 +1208,21 def dev_conf_status(request, id_conf): | |||||
1177 | return redirect(conf.get_absolute_url()) |
|
1208 | return redirect(conf.get_absolute_url()) | |
1178 |
|
1209 | |||
1179 |
|
1210 | |||
|
1211 | @staff_member_required(login_url='/accounts/login/') | |||
1180 | def dev_conf_write(request, id_conf): |
|
1212 | def dev_conf_write(request, id_conf): | |
1181 |
|
1213 | |||
1182 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1214 | conf = get_object_or_404(Configuration, pk=id_conf) | |
1183 |
|
1215 | |||
1184 | if conf.write_device(): |
|
1216 | if conf.write_device(): | |
1185 |
messages.success(request, conf.message) |
|
1217 | messages.success(request, conf.message) | |
1186 |
conf.clone(type=1, template=False) |
|
1218 | conf.clone(type=1, template=False) | |
1187 | else: |
|
1219 | else: | |
1188 | messages.error(request, conf.message) |
|
1220 | messages.error(request, conf.message) | |
1189 |
|
1221 | |||
1190 | return redirect(conf.get_absolute_url()) |
|
1222 | return redirect(conf.get_absolute_url()) | |
1191 |
|
1223 | |||
1192 |
|
1224 | |||
|
1225 | @staff_member_required(login_url='/accounts/login/') | |||
1193 | def dev_conf_read(request, id_conf): |
|
1226 | def dev_conf_read(request, id_conf): | |
1194 |
|
1227 | |||
1195 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1228 | conf = get_object_or_404(Configuration, pk=id_conf) | |
@@ -1229,6 +1262,7 def dev_conf_read(request, id_conf): | |||||
1229 | return render(request, '%s_conf_edit.html' %conf.device.device_type.name, kwargs) |
|
1262 | return render(request, '%s_conf_edit.html' %conf.device.device_type.name, kwargs) | |
1230 |
|
1263 | |||
1231 |
|
1264 | |||
|
1265 | @staff_member_required(login_url='/accounts/login/') | |||
1232 | def dev_conf_import(request, id_conf): |
|
1266 | def dev_conf_import(request, id_conf): | |
1233 |
|
1267 | |||
1234 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1268 | conf = get_object_or_404(Configuration, pk=id_conf) | |
@@ -1276,6 +1310,7 def dev_conf_import(request, id_conf): | |||||
1276 | return render(request, 'dev_conf_import.html', kwargs) |
|
1310 | return render(request, 'dev_conf_import.html', kwargs) | |
1277 |
|
1311 | |||
1278 |
|
1312 | |||
|
1313 | @staff_member_required(login_url='/accounts/login/') | |||
1279 | def dev_conf_export(request, id_conf): |
|
1314 | def dev_conf_export(request, id_conf): | |
1280 |
|
1315 | |||
1281 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1316 | conf = get_object_or_404(Configuration, pk=id_conf) | |
@@ -1307,6 +1342,7 def dev_conf_export(request, id_conf): | |||||
1307 | return render(request, 'dev_conf_export.html', kwargs) |
|
1342 | return render(request, 'dev_conf_export.html', kwargs) | |
1308 |
|
1343 | |||
1309 |
|
1344 | |||
|
1345 | @staff_member_required(login_url='/accounts/login/') | |||
1310 | def dev_conf_delete(request, id_conf): |
|
1346 | def dev_conf_delete(request, id_conf): | |
1311 |
|
1347 | |||
1312 | conf = get_object_or_404(Configuration, pk=id_conf) |
|
1348 | conf = get_object_or_404(Configuration, pk=id_conf) | |
@@ -1372,7 +1408,7 def get_paginator(model, page, order, filters={}, n=10): | |||||
1372 | if 'tags' in filters: |
|
1408 | if 'tags' in filters: | |
1373 | tags = filters.pop('tags') |
|
1409 | tags = filters.pop('tags') | |
1374 | fields = [f.name for f in model._meta.get_fields()] |
|
1410 | fields = [f.name for f in model._meta.get_fields()] | |
1375 |
|
1411 | |||
1376 | if 'tags' in fields: |
|
1412 | if 'tags' in fields: | |
1377 | query = query | Q(tags__icontains=tags) |
|
1413 | query = query | Q(tags__icontains=tags) | |
1378 | if 'name' in fields: |
|
1414 | if 'name' in fields: | |
@@ -1420,33 +1456,34 def operation(request, id_camp=None): | |||||
1420 | kwargs['experiment_keys'] = keys[1:] |
|
1456 | kwargs['experiment_keys'] = keys[1:] | |
1421 | kwargs['experiments'] = experiments |
|
1457 | kwargs['experiments'] = experiments | |
1422 | #---Radar |
|
1458 | #---Radar | |
1423 |
kwargs['locations'] = campaign.get_experiments_by_radar() |
|
1459 | kwargs['locations'] = campaign.get_experiments_by_radar() | |
1424 |
kwargs['form'] = form |
|
1460 | kwargs['form'] = form | |
1425 |
|
1461 | |||
1426 | return render(request, 'operation.html', kwargs) |
|
1462 | return render(request, 'operation.html', kwargs) | |
1427 |
|
1463 | |||
1428 |
|
1464 | |||
|
1465 | @login_required | |||
1429 | def radar_start(request, id_camp, id_radar): |
|
1466 | def radar_start(request, id_camp, id_radar): | |
1430 |
|
1467 | |||
1431 |
campaign = get_object_or_404(Campaign, pk = id_camp) |
|
1468 | campaign = get_object_or_404(Campaign, pk = id_camp) | |
1432 | experiments = campaign.get_experiments_by_radar(id_radar)[0]['experiments'] |
|
1469 | experiments = campaign.get_experiments_by_radar(id_radar)[0]['experiments'] | |
1433 | now = datetime.utcnow() |
|
1470 | now = datetime.utcnow() | |
1434 |
|
1471 | |||
1435 | for exp in experiments: |
|
1472 | for exp in experiments: | |
1436 | date = datetime.combine(datetime.now().date(), exp.start_time) |
|
1473 | date = datetime.combine(datetime.now().date(), exp.start_time) | |
1437 |
|
1474 | |||
1438 | if exp.status == 2: |
|
1475 | if exp.status == 2: | |
1439 | messages.warning(request, 'Experiment {} already running'.format(exp)) |
|
1476 | messages.warning(request, 'Experiment {} already running'.format(exp)) | |
1440 | continue |
|
1477 | continue | |
1441 |
|
1478 | |||
1442 | if exp.status == 3: |
|
1479 | if exp.status == 3: | |
1443 | messages.warning(request, 'Experiment {} already programmed'.format(exp)) |
|
1480 | messages.warning(request, 'Experiment {} already programmed'.format(exp)) | |
1444 | continue |
|
1481 | continue | |
1445 |
|
1482 | |||
1446 | if date>campaign.end_date or date<campaign.start_date: |
|
1483 | if date>campaign.end_date or date<campaign.start_date: | |
1447 | messages.warning(request, 'Experiment {} out of date'.format(exp)) |
|
1484 | messages.warning(request, 'Experiment {} out of date'.format(exp)) | |
1448 | continue |
|
1485 | continue | |
1449 |
|
1486 | |||
1450 | if now>=date: |
|
1487 | if now>=date: | |
1451 | task = task_start.delay(exp.pk) |
|
1488 | task = task_start.delay(exp.pk) | |
1452 | exp.status = task.wait() |
|
1489 | exp.status = task.wait() | |
@@ -1458,23 +1495,24 def radar_start(request, id_camp, id_radar): | |||||
1458 | task = task_start.apply_async((exp.pk,), eta=date) |
|
1495 | task = task_start.apply_async((exp.pk,), eta=date) | |
1459 | exp.status = 3 |
|
1496 | exp.status = 3 | |
1460 | messages.success(request, 'Experiment {} programmed to start at {}'.format(exp, date)) |
|
1497 | messages.success(request, 'Experiment {} programmed to start at {}'.format(exp, date)) | |
1461 |
|
1498 | |||
1462 | exp.save() |
|
1499 | exp.save() | |
1463 |
|
1500 | |||
1464 | return HttpResponseRedirect(reverse('url_operation', args=[id_camp])) |
|
1501 | return HttpResponseRedirect(reverse('url_operation', args=[id_camp])) | |
1465 |
|
1502 | |||
1466 |
|
1503 | |||
|
1504 | @login_required | |||
1467 | def radar_stop(request, id_camp, id_radar): |
|
1505 | def radar_stop(request, id_camp, id_radar): | |
1468 |
|
1506 | |||
1469 |
campaign = get_object_or_404(Campaign, pk = id_camp) |
|
1507 | campaign = get_object_or_404(Campaign, pk = id_camp) | |
1470 |
experiments = campaign.get_experiments_by_radar(id_radar)[0]['experiments'] |
|
1508 | experiments = campaign.get_experiments_by_radar(id_radar)[0]['experiments'] | |
1471 |
|
1509 | |||
1472 |
for exp in experiments: |
|
1510 | for exp in experiments: | |
1473 |
|
1511 | |||
1474 | if exp.status == 2: |
|
1512 | if exp.status == 2: | |
1475 | task = task_stop.delay(exp.pk) |
|
1513 | task = task_stop.delay(exp.pk) | |
1476 | exp.status = task.wait() |
|
1514 | exp.status = task.wait() | |
1477 |
messages.warning(request, 'Experiment {} stopped'.format(exp)) |
|
1515 | messages.warning(request, 'Experiment {} stopped'.format(exp)) | |
1478 | exp.save() |
|
1516 | exp.save() | |
1479 | else: |
|
1517 | else: | |
1480 | messages.error(request, 'Experiment {} not running'.format(exp)) |
|
1518 | messages.error(request, 'Experiment {} not running'.format(exp)) | |
@@ -1482,12 +1520,13 def radar_stop(request, id_camp, id_radar): | |||||
1482 | return HttpResponseRedirect(reverse('url_operation', args=[id_camp])) |
|
1520 | return HttpResponseRedirect(reverse('url_operation', args=[id_camp])) | |
1483 |
|
1521 | |||
1484 |
|
1522 | |||
|
1523 | @login_required | |||
1485 | def radar_refresh(request, id_camp, id_radar): |
|
1524 | def radar_refresh(request, id_camp, id_radar): | |
1486 |
|
1525 | |||
1487 |
campaign = get_object_or_404(Campaign, pk = id_camp) |
|
1526 | campaign = get_object_or_404(Campaign, pk = id_camp) | |
1488 |
experiments = campaign.get_experiments_by_radar(id_radar)[0]['experiments'] |
|
1527 | experiments = campaign.get_experiments_by_radar(id_radar)[0]['experiments'] | |
1489 |
|
1528 | |||
1490 |
for exp in experiments: |
|
1529 | for exp in experiments: | |
1491 | exp.get_status() |
|
1530 | exp.get_status() | |
1492 |
|
1531 | |||
1493 | return HttpResponseRedirect(reverse('url_operation', args=[id_camp])) |
|
1532 | return HttpResponseRedirect(reverse('url_operation', args=[id_camp])) |
General Comments 0
You need to be logged in to leave comments.
Login now