##// END OF EJS Templates
delete interface added to views...
Miguel Urco -
r18:b1ece123c007
parent child
Show More
@@ -0,0 +1,33
1 {% extends "base.html" %}
2 {% load bootstrap3 %}
3 {% load static %}
4 {% load main_tags %}
5
6 {% block dev-active %}{{dev_active}}{% endblock %}
7 {% block camp-active %}{{camp_active}}{% endblock %}
8 {% block exp-active %}{{exp_active}}{% endblock %}
9 {% block conf-active %}{{conf_active}}{% endblock %}
10
11 {% block content-title %}{{title}}{% endblock %}
12 {% block content-suptitle %}{{suptitle}}{% endblock %}
13
14 {% block content %}
15 <form action="" method="post">
16 {% csrf_token %}
17 <p>Are you sure you want to delete "{{ object }}"?</p>
18 <button type="button" class="btn btn-primary pull-right" style="margin-left: 10px" id="bt_cancel">Cancel</button>
19 <button type=submit class="btn btn-primary pull-right" style="margin-left: 10px" id="bt_ok">Confirm</button>
20 </form>
21 {% endblock %}
22
23 {% block sidebar%}
24 {% include "sidebar_devices.html" %}
25 {% endblock %}
26
27 {% block extra-js%}
28 <script type="text/javascript">
29 $("#bt_cancel").click(function() {
30 document.location = "{%if url_cancel%} {% url url_cancel id_item %} {%endif%}";
31 });
32 </script>
33 {% endblock %} No newline at end of file
@@ -100,5 +100,7 class Configuration(PolymorphicModel):
100 100 db_table = 'db_configurations'
101 101
102 102 def __unicode__(self):
103 return u'%s [%s]' % (self.experiment.name, self.device.name)
103 return u'[%s - %s]: %s' % (self.experiment.campaign.name,
104 self.experiment.name,
105 self.device.name)
104 106 No newline at end of file
@@ -37,12 +37,12
37 37 </div>
38 38 <div class="collapse navbar-collapse" id="navigationbar">
39 39 <ul class="nav navbar-nav">
40 <li class=" dropdown {% block dev-active %}{% endblock %}"><a href="{% url 'url_devices'%}">Devices</a>
41 </li>
40 42 <li class=" dropdown {% block camp-active %}{% endblock %}"><a href="{% url 'url_campaigns'%}">Campaigns</a>
41 43 </li>
42 44 <li class=" dropdown {% block exp-active %}{% endblock %}"><a href="{% url 'url_experiments'%}">Experiments</a>
43 45 </li>
44 <li class=" dropdown {% block dev-active %}{% endblock %}"><a href="{% url 'url_devices'%}">Devices</a>
45 </li>
46 46 <li class=" dropdown {% block conf-active %}{% endblock %}"><a href="{% url 'url_dev_confs'%}">Device Configurations</a>
47 47 </li>
48 48 </ul>
@@ -65,8 +65,6
65 65 {% endblock %}
66 66
67 67 {% block extra-js%}
68 <script src="{% static 'js/moment.min.js' %}"></script>
69 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
70 68 <script type="text/javascript">
71 69 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
72 70
@@ -26,7 +26,6
26 26 {% endblock %}
27 27
28 28 {% block extra-js%}
29 <script src="{% static 'js/moment.min.js' %}"></script>
30 29 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
31 30 <script type="text/javascript">
32 31 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
@@ -36,11 +36,7
36 36 {% endblock %}
37 37
38 38 {% block extra-js%}
39 <script src="{% static 'js/moment.min.js' %}"></script>
40 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
41 39 <script type="text/javascript">
42 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
43 $('.input-group.time').datetimepicker({"format": "HH:mm"});
44 40
45 41 $("#bt_add").click(function() {
46 42 document.location = "{% url 'url_add_campaign' %}";
@@ -36,12 +36,8
36 36 {% endblock %}
37 37
38 38 {% block extra-js%}
39 <script src="{% static 'js/moment.min.js' %}"></script>
40 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
41 39 <script type="text/javascript">
42 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
43 $('.input-group.time').datetimepicker({"format": "HH:mm"});
44
40
45 41 $("#bt_add").click(function() {
46 42 document.location = "{% url 'url_add_dev_conf' 0%}";
47 43 });
@@ -24,8 +24,6
24 24 {% endblock %}
25 25
26 26 {% block extra-js%}
27 <script src="{% static 'js/moment.min.js' %}"></script>
28 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
29 27 <script type="text/javascript">
30 28
31 29 $("#bt_edit_device").click(function() {
@@ -33,8 +33,6
33 33 {% endblock %}
34 34
35 35 {% block extra-js%}
36 <script src="{% static 'js/moment.min.js' %}"></script>
37 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
38 36 <script type="text/javascript">
39 37
40 38 $("#bt_add").click(function() {
@@ -62,9 +62,6
62 62 {% endblock %}
63 63
64 64 {% block extra-js%}
65
66 <script src="{% static 'js/moment.min.js' %}"></script>
67 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
68 65 <script type="text/javascript">
69 66
70 67 $(".clickable-row").click(function() {
@@ -26,8 +26,6
26 26 {% endblock %}
27 27
28 28 {% block extra-js%}
29
30 <script src="{% static 'js/moment.min.js' %}"></script>
31 29 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
32 30 <script type="text/javascript">
33 31 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
@@ -36,12 +36,8
36 36 {% endblock %}
37 37
38 38 {% block extra-js%}
39
40 <script src="{% static 'js/moment.min.js' %}"></script>
41 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
42 39 <script type="text/javascript">
43 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
44
40
45 41 $(".clickable-row").click(function() {
46 42 document.location = $(this).data("href");
47 43 });
@@ -1,25 +1,27
1 1 from django.conf.urls import url
2 2
3 3 urlpatterns = (
4
5 4 url(r'^device/add/$', 'apps.main.views.add_device', name='url_add_device'),
6 5 url(r'^device/$', 'apps.main.views.devices', name='url_devices'),
7 6 url(r'^device/(?P<id_dev>-?\d+)/$', 'apps.main.views.device', name='url_device'),
8 7 url(r'^device/(?P<id_dev>-?\d+)/edit/$', 'apps.main.views.edit_device', name='url_edit_device'),
8 url(r'^device/(?P<id_dev>-?\d+)/delete/$', 'apps.main.views.delete_device', name='url_delete_device'),
9 9
10 10 url(r'^campaign/add/$', 'apps.main.views.add_campaign', name='url_add_campaign'),
11 11 url(r'^campaign/$', 'apps.main.views.campaigns', name='url_campaigns'),
12 12 url(r'^campaign/(?P<id_camp>-?\d+)/$', 'apps.main.views.campaign', name='url_campaign'),
13 13 url(r'^campaign/(?P<id_camp>-?\d+)/edit/$', 'apps.main.views.edit_campaign', name='url_edit_campaign'),
14 url(r'^campaign/(?P<id_camp>-?\d+)/delete/$', 'apps.main.views.delete_campaign', name='url_delete_campaign'),
14 15
15 16 url(r'^campaign/(?P<id_camp>-?\d+)/add_experiment/$', 'apps.main.views.add_experiment', name='url_add_experiment'),
16 17 url(r'^experiment/$', 'apps.main.views.experiments', name='url_experiments'),
17 18 url(r'^experiment/(?P<id_exp>-?\d+)/$', 'apps.main.views.experiment', name='url_experiment'),
18 19 url(r'^experiment/(?P<id_exp>-?\d+)/edit/$', 'apps.main.views.edit_experiment', name='url_edit_experiment'),
19
20 url(r'^experiment/(?P<id_exp>-?\d+)/delete/$', 'apps.main.views.delete_experiment', name='url_delete_experiment'),
21
20 22 url(r'^experiment/(?P<id_exp>-?\d+)/add_dev_conf/$', 'apps.main.views.add_dev_conf', name='url_add_dev_conf'),
21 23 url(r'^dev_conf/$', 'apps.main.views.dev_confs', name='url_dev_confs'),
22 24 url(r'^dev_conf/(?P<id_conf>-?\d+)/$', 'apps.main.views.dev_conf', name='url_dev_conf'),
23 25 url(r'^dev_conf/(?P<id_conf>-?\d+)/edit/$', 'apps.main.views.edit_dev_conf', name='url_edit_dev_conf'),
24
26 url(r'^dev_conf/(?P<id_conf>-?\d+)/delete/$', 'apps.main.views.delete_dev_conf', name='url_delete_dev_conf'),
25 27 )
@@ -1,4 +1,4
1 from django.shortcuts import render, redirect
1 from django.shortcuts import render, redirect, HttpResponse
2 2
3 3 from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm
4 4 from apps.cgs.forms import CGSConfigurationForm
@@ -60,8 +60,6 def device(request, id_dev):
60 60
61 61 device = Device.objects.get(pk=id_dev)
62 62
63 # form = DeviceForm(instance=device)
64
65 63 kwargs = {}
66 64 kwargs['device'] = device
67 65 kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
@@ -69,7 +67,6 def device(request, id_dev):
69 67 kwargs['title'] = 'Device'
70 68 kwargs['suptitle'] = 'Details'
71 69
72 # kwargs['form'] = form
73 70 kwargs['button'] = 'Add Device'
74 71
75 72 return render(request, 'device.html', kwargs)
@@ -116,6 +113,23 def edit_device(request, id_dev):
116 113
117 114 return render(request, 'device_edit.html', kwargs)
118 115
116 def delete_device(request, id_dev):
117
118 device = Device.objects.get(pk=id_dev)
119
120 if request.method=='POST':
121
122 if request.user.is_staff:
123 device.delete()
124 return redirect('url_devices')
125
126 return HttpResponse("Not enough permission to delete this object")
127
128 kwargs = {'object':device, 'dev_active':'active',
129 'url_cancel':'url_device', 'id_item':id_dev}
130
131 return render(request, 'item_delete.html', kwargs)
132
119 133 def campaigns(request):
120 134
121 135 campaigns = Campaign.objects.all().order_by('start_date')
@@ -197,6 +211,22 def edit_campaign(request, id_camp):
197 211
198 212 return render(request, 'campaign_edit.html', kwargs)
199 213
214 def delete_campaign(request, id_camp):
215
216 campaign = Campaign.objects.get(pk=id_camp)
217
218 if request.method=='POST':
219 if request.user.is_staff:
220 campaign.delete()
221 return redirect('url_campaigns')
222
223 return HttpResponse("Not enough permission to delete this object")
224
225 kwargs = {'object':campaign, 'camp_active':'active',
226 'url_cancel':'url_campaign', 'id_item':id_camp}
227
228 return render(request, 'item_delete.html', kwargs)
229
200 230 def experiments(request):
201 231
202 232 campaigns = Experiment.objects.all().order_by('start_time')
@@ -238,7 +268,6 def experiment(request, id_exp):
238 268 kwargs['title'] = 'Experiment'
239 269 kwargs['suptitle'] = 'Details'
240 270
241 # kwargs['form'] = form
242 271 kwargs['button'] = 'Add Device'
243 272
244 273 return render(request, 'experiment.html', kwargs)
@@ -285,6 +314,23 def edit_experiment(request, id_exp):
285 314
286 315 return render(request, 'experiment_edit.html', kwargs)
287 316
317 def delete_experiment(request, id_exp):
318
319 experiment = Experiment.objects.get(pk=id_exp)
320
321 if request.method=='POST':
322 if request.user.is_staff:
323 id_camp = experiment.campaign.id
324 experiment.delete()
325 return redirect('url_campaign', id_camp=id_camp)
326
327 return HttpResponse("Not enough permission to delete this object")
328
329 kwargs = {'object':experiment, 'exp_active':'active',
330 'url_cancel':'url_experiment', 'id_item':id_exp}
331
332 return render(request, 'item_delete.html', kwargs)
333
288 334 def dev_confs(request):
289 335
290 336 configurations = Configuration.objects.all().order_by('device__device_type')
@@ -390,6 +436,22 def edit_dev_conf(request, id_conf):
390 436
391 437 return render(request, 'dev_conf_edit.html', kwargs)
392 438
439 def delete_dev_conf(request, id_conf):
440
441 conf = Configuration.objects.get(pk=id_conf)
442
443 if request.method=='POST':
444 if request.user.is_staff:
445 id_exp = conf.experiment.id
446 conf.delete()
447 return redirect('url_experiment', id_exp=id_exp)
448
449 return HttpResponse("Not enough permission to delete this object")
450
451 kwargs = {'object':conf, 'conf_active':'active',
452 'url_cancel':'url_dev_conf', 'id_item':id_conf}
453
454 return render(request, 'item_delete.html', kwargs)
393 455
394 456 # def experiment(request, id_exp=0, id_dev_type=0):
395 457 # kwargs = {}
General Comments 0
You need to be logged in to leave comments. Login now