##// 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 db_table = 'db_configurations'
100 db_table = 'db_configurations'
101
101
102 def __unicode__(self):
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 No newline at end of file
106
@@ -37,12 +37,12
37 </div>
37 </div>
38 <div class="collapse navbar-collapse" id="navigationbar">
38 <div class="collapse navbar-collapse" id="navigationbar">
39 <ul class="nav navbar-nav">
39 <ul class="nav navbar-nav">
40 <li class=" dropdown {% block dev-active %}{% endblock %}"><a href="{% url 'url_devices'%}">Devices</a>
41 </li>
40 <li class=" dropdown {% block camp-active %}{% endblock %}"><a href="{% url 'url_campaigns'%}">Campaigns</a>
42 <li class=" dropdown {% block camp-active %}{% endblock %}"><a href="{% url 'url_campaigns'%}">Campaigns</a>
41 </li>
43 </li>
42 <li class=" dropdown {% block exp-active %}{% endblock %}"><a href="{% url 'url_experiments'%}">Experiments</a>
44 <li class=" dropdown {% block exp-active %}{% endblock %}"><a href="{% url 'url_experiments'%}">Experiments</a>
43 </li>
45 </li>
44 <li class=" dropdown {% block dev-active %}{% endblock %}"><a href="{% url 'url_devices'%}">Devices</a>
45 </li>
46 <li class=" dropdown {% block conf-active %}{% endblock %}"><a href="{% url 'url_dev_confs'%}">Device Configurations</a>
46 <li class=" dropdown {% block conf-active %}{% endblock %}"><a href="{% url 'url_dev_confs'%}">Device Configurations</a>
47 </li>
47 </li>
48 </ul>
48 </ul>
@@ -65,8 +65,6
65 {% endblock %}
65 {% endblock %}
66
66
67 {% block extra-js%}
67 {% block extra-js%}
68 <script src="{% static 'js/moment.min.js' %}"></script>
69 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
70 <script type="text/javascript">
68 <script type="text/javascript">
71 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
69 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
72
70
@@ -26,7 +26,6
26 {% endblock %}
26 {% endblock %}
27
27
28 {% block extra-js%}
28 {% block extra-js%}
29 <script src="{% static 'js/moment.min.js' %}"></script>
30 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
29 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
31 <script type="text/javascript">
30 <script type="text/javascript">
32 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
31 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
@@ -36,11 +36,7
36 {% endblock %}
36 {% endblock %}
37
37
38 {% block extra-js%}
38 {% block extra-js%}
39 <script src="{% static 'js/moment.min.js' %}"></script>
40 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
41 <script type="text/javascript">
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 $("#bt_add").click(function() {
41 $("#bt_add").click(function() {
46 document.location = "{% url 'url_add_campaign' %}";
42 document.location = "{% url 'url_add_campaign' %}";
@@ -36,12 +36,8
36 {% endblock %}
36 {% endblock %}
37
37
38 {% block extra-js%}
38 {% block extra-js%}
39 <script src="{% static 'js/moment.min.js' %}"></script>
40 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
41 <script type="text/javascript">
39 <script type="text/javascript">
42 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
40
43 $('.input-group.time').datetimepicker({"format": "HH:mm"});
44
45 $("#bt_add").click(function() {
41 $("#bt_add").click(function() {
46 document.location = "{% url 'url_add_dev_conf' 0%}";
42 document.location = "{% url 'url_add_dev_conf' 0%}";
47 });
43 });
@@ -24,8 +24,6
24 {% endblock %}
24 {% endblock %}
25
25
26 {% block extra-js%}
26 {% block extra-js%}
27 <script src="{% static 'js/moment.min.js' %}"></script>
28 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
29 <script type="text/javascript">
27 <script type="text/javascript">
30
28
31 $("#bt_edit_device").click(function() {
29 $("#bt_edit_device").click(function() {
@@ -33,8 +33,6
33 {% endblock %}
33 {% endblock %}
34
34
35 {% block extra-js%}
35 {% block extra-js%}
36 <script src="{% static 'js/moment.min.js' %}"></script>
37 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
38 <script type="text/javascript">
36 <script type="text/javascript">
39
37
40 $("#bt_add").click(function() {
38 $("#bt_add").click(function() {
@@ -62,9 +62,6
62 {% endblock %}
62 {% endblock %}
63
63
64 {% block extra-js%}
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 <script type="text/javascript">
65 <script type="text/javascript">
69
66
70 $(".clickable-row").click(function() {
67 $(".clickable-row").click(function() {
@@ -26,8 +26,6
26 {% endblock %}
26 {% endblock %}
27
27
28 {% block extra-js%}
28 {% block extra-js%}
29
30 <script src="{% static 'js/moment.min.js' %}"></script>
31 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
29 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
32 <script type="text/javascript">
30 <script type="text/javascript">
33 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
31 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
@@ -36,12 +36,8
36 {% endblock %}
36 {% endblock %}
37
37
38 {% block extra-js%}
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 <script type="text/javascript">
39 <script type="text/javascript">
43 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
40
44
45 $(".clickable-row").click(function() {
41 $(".clickable-row").click(function() {
46 document.location = $(this).data("href");
42 document.location = $(this).data("href");
47 });
43 });
@@ -1,25 +1,27
1 from django.conf.urls import url
1 from django.conf.urls import url
2
2
3 urlpatterns = (
3 urlpatterns = (
4
5 url(r'^device/add/$', 'apps.main.views.add_device', name='url_add_device'),
4 url(r'^device/add/$', 'apps.main.views.add_device', name='url_add_device'),
6 url(r'^device/$', 'apps.main.views.devices', name='url_devices'),
5 url(r'^device/$', 'apps.main.views.devices', name='url_devices'),
7 url(r'^device/(?P<id_dev>-?\d+)/$', 'apps.main.views.device', name='url_device'),
6 url(r'^device/(?P<id_dev>-?\d+)/$', 'apps.main.views.device', name='url_device'),
8 url(r'^device/(?P<id_dev>-?\d+)/edit/$', 'apps.main.views.edit_device', name='url_edit_device'),
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 url(r'^campaign/add/$', 'apps.main.views.add_campaign', name='url_add_campaign'),
10 url(r'^campaign/add/$', 'apps.main.views.add_campaign', name='url_add_campaign'),
11 url(r'^campaign/$', 'apps.main.views.campaigns', name='url_campaigns'),
11 url(r'^campaign/$', 'apps.main.views.campaigns', name='url_campaigns'),
12 url(r'^campaign/(?P<id_camp>-?\d+)/$', 'apps.main.views.campaign', name='url_campaign'),
12 url(r'^campaign/(?P<id_camp>-?\d+)/$', 'apps.main.views.campaign', name='url_campaign'),
13 url(r'^campaign/(?P<id_camp>-?\d+)/edit/$', 'apps.main.views.edit_campaign', name='url_edit_campaign'),
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 url(r'^campaign/(?P<id_camp>-?\d+)/add_experiment/$', 'apps.main.views.add_experiment', name='url_add_experiment'),
16 url(r'^campaign/(?P<id_camp>-?\d+)/add_experiment/$', 'apps.main.views.add_experiment', name='url_add_experiment'),
16 url(r'^experiment/$', 'apps.main.views.experiments', name='url_experiments'),
17 url(r'^experiment/$', 'apps.main.views.experiments', name='url_experiments'),
17 url(r'^experiment/(?P<id_exp>-?\d+)/$', 'apps.main.views.experiment', name='url_experiment'),
18 url(r'^experiment/(?P<id_exp>-?\d+)/$', 'apps.main.views.experiment', name='url_experiment'),
18 url(r'^experiment/(?P<id_exp>-?\d+)/edit/$', 'apps.main.views.edit_experiment', name='url_edit_experiment'),
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 url(r'^experiment/(?P<id_exp>-?\d+)/add_dev_conf/$', 'apps.main.views.add_dev_conf', name='url_add_dev_conf'),
22 url(r'^experiment/(?P<id_exp>-?\d+)/add_dev_conf/$', 'apps.main.views.add_dev_conf', name='url_add_dev_conf'),
21 url(r'^dev_conf/$', 'apps.main.views.dev_confs', name='url_dev_confs'),
23 url(r'^dev_conf/$', 'apps.main.views.dev_confs', name='url_dev_confs'),
22 url(r'^dev_conf/(?P<id_conf>-?\d+)/$', 'apps.main.views.dev_conf', name='url_dev_conf'),
24 url(r'^dev_conf/(?P<id_conf>-?\d+)/$', 'apps.main.views.dev_conf', name='url_dev_conf'),
23 url(r'^dev_conf/(?P<id_conf>-?\d+)/edit/$', 'apps.main.views.edit_dev_conf', name='url_edit_dev_conf'),
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 from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm
3 from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm
4 from apps.cgs.forms import CGSConfigurationForm
4 from apps.cgs.forms import CGSConfigurationForm
@@ -60,8 +60,6 def device(request, id_dev):
60
60
61 device = Device.objects.get(pk=id_dev)
61 device = Device.objects.get(pk=id_dev)
62
62
63 # form = DeviceForm(instance=device)
64
65 kwargs = {}
63 kwargs = {}
66 kwargs['device'] = device
64 kwargs['device'] = device
67 kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
65 kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
@@ -69,7 +67,6 def device(request, id_dev):
69 kwargs['title'] = 'Device'
67 kwargs['title'] = 'Device'
70 kwargs['suptitle'] = 'Details'
68 kwargs['suptitle'] = 'Details'
71
69
72 # kwargs['form'] = form
73 kwargs['button'] = 'Add Device'
70 kwargs['button'] = 'Add Device'
74
71
75 return render(request, 'device.html', kwargs)
72 return render(request, 'device.html', kwargs)
@@ -116,6 +113,23 def edit_device(request, id_dev):
116
113
117 return render(request, 'device_edit.html', kwargs)
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 def campaigns(request):
133 def campaigns(request):
120
134
121 campaigns = Campaign.objects.all().order_by('start_date')
135 campaigns = Campaign.objects.all().order_by('start_date')
@@ -197,6 +211,22 def edit_campaign(request, id_camp):
197
211
198 return render(request, 'campaign_edit.html', kwargs)
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 def experiments(request):
230 def experiments(request):
201
231
202 campaigns = Experiment.objects.all().order_by('start_time')
232 campaigns = Experiment.objects.all().order_by('start_time')
@@ -238,7 +268,6 def experiment(request, id_exp):
238 kwargs['title'] = 'Experiment'
268 kwargs['title'] = 'Experiment'
239 kwargs['suptitle'] = 'Details'
269 kwargs['suptitle'] = 'Details'
240
270
241 # kwargs['form'] = form
242 kwargs['button'] = 'Add Device'
271 kwargs['button'] = 'Add Device'
243
272
244 return render(request, 'experiment.html', kwargs)
273 return render(request, 'experiment.html', kwargs)
@@ -285,6 +314,23 def edit_experiment(request, id_exp):
285
314
286 return render(request, 'experiment_edit.html', kwargs)
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 def dev_confs(request):
334 def dev_confs(request):
289
335
290 configurations = Configuration.objects.all().order_by('device__device_type')
336 configurations = Configuration.objects.all().order_by('device__device_type')
@@ -390,6 +436,22 def edit_dev_conf(request, id_conf):
390
436
391 return render(request, 'dev_conf_edit.html', kwargs)
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 # def experiment(request, id_exp=0, id_dev_type=0):
456 # def experiment(request, id_exp=0, id_dev_type=0):
395 # kwargs = {}
457 # kwargs = {}
General Comments 0
You need to be logged in to leave comments. Login now