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