diff --git a/apps/main/models.py b/apps/main/models.py
index 6f9e285..2b1267d 100644
--- a/apps/main/models.py
+++ b/apps/main/models.py
@@ -100,5 +100,7 @@ class Configuration(PolymorphicModel):
db_table = 'db_configurations'
def __unicode__(self):
- return u'%s [%s]' % (self.experiment.name, self.device.name)
+ return u'[%s - %s]: %s' % (self.experiment.campaign.name,
+ self.experiment.name,
+ self.device.name)
\ No newline at end of file
diff --git a/apps/main/templates/base.html b/apps/main/templates/base.html
index a3ad338..4101a9a 100644
--- a/apps/main/templates/base.html
+++ b/apps/main/templates/base.html
@@ -37,12 +37,12 @@
diff --git a/apps/main/templates/campaign.html b/apps/main/templates/campaign.html
index 48a0cbf..3c5ef2b 100644
--- a/apps/main/templates/campaign.html
+++ b/apps/main/templates/campaign.html
@@ -65,8 +65,6 @@
{% endblock %}
{% block extra-js%}
-
-
-
-
-
-
-
-
+{% endblock %}
\ No newline at end of file
diff --git a/apps/main/urls.py b/apps/main/urls.py
index 6515747..5bd4514 100644
--- a/apps/main/urls.py
+++ b/apps/main/urls.py
@@ -1,25 +1,27 @@
from django.conf.urls import url
urlpatterns = (
-
url(r'^device/add/$', 'apps.main.views.add_device', name='url_add_device'),
url(r'^device/$', 'apps.main.views.devices', name='url_devices'),
url(r'^device/(?P
-?\d+)/$', 'apps.main.views.device', name='url_device'),
url(r'^device/(?P-?\d+)/edit/$', 'apps.main.views.edit_device', name='url_edit_device'),
+ url(r'^device/(?P-?\d+)/delete/$', 'apps.main.views.delete_device', name='url_delete_device'),
url(r'^campaign/add/$', 'apps.main.views.add_campaign', name='url_add_campaign'),
url(r'^campaign/$', 'apps.main.views.campaigns', name='url_campaigns'),
url(r'^campaign/(?P-?\d+)/$', 'apps.main.views.campaign', name='url_campaign'),
url(r'^campaign/(?P-?\d+)/edit/$', 'apps.main.views.edit_campaign', name='url_edit_campaign'),
+ url(r'^campaign/(?P-?\d+)/delete/$', 'apps.main.views.delete_campaign', name='url_delete_campaign'),
url(r'^campaign/(?P-?\d+)/add_experiment/$', 'apps.main.views.add_experiment', name='url_add_experiment'),
url(r'^experiment/$', 'apps.main.views.experiments', name='url_experiments'),
url(r'^experiment/(?P-?\d+)/$', 'apps.main.views.experiment', name='url_experiment'),
url(r'^experiment/(?P-?\d+)/edit/$', 'apps.main.views.edit_experiment', name='url_edit_experiment'),
-
+ url(r'^experiment/(?P-?\d+)/delete/$', 'apps.main.views.delete_experiment', name='url_delete_experiment'),
+
url(r'^experiment/(?P-?\d+)/add_dev_conf/$', 'apps.main.views.add_dev_conf', name='url_add_dev_conf'),
url(r'^dev_conf/$', 'apps.main.views.dev_confs', name='url_dev_confs'),
url(r'^dev_conf/(?P-?\d+)/$', 'apps.main.views.dev_conf', name='url_dev_conf'),
url(r'^dev_conf/(?P-?\d+)/edit/$', 'apps.main.views.edit_dev_conf', name='url_edit_dev_conf'),
-
+ url(r'^dev_conf/(?P-?\d+)/delete/$', 'apps.main.views.delete_dev_conf', name='url_delete_dev_conf'),
)
diff --git a/apps/main/views.py b/apps/main/views.py
index d9f486c..50ce0ac 100644
--- a/apps/main/views.py
+++ b/apps/main/views.py
@@ -1,4 +1,4 @@
-from django.shortcuts import render, redirect
+from django.shortcuts import render, redirect, HttpResponse
from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm
from apps.cgs.forms import CGSConfigurationForm
@@ -60,8 +60,6 @@ def device(request, id_dev):
device = Device.objects.get(pk=id_dev)
-# form = DeviceForm(instance=device)
-
kwargs = {}
kwargs['device'] = device
kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
@@ -69,7 +67,6 @@ def device(request, id_dev):
kwargs['title'] = 'Device'
kwargs['suptitle'] = 'Details'
-# kwargs['form'] = form
kwargs['button'] = 'Add Device'
return render(request, 'device.html', kwargs)
@@ -116,6 +113,23 @@ def edit_device(request, id_dev):
return render(request, 'device_edit.html', kwargs)
+def delete_device(request, id_dev):
+
+ device = Device.objects.get(pk=id_dev)
+
+ if request.method=='POST':
+
+ if request.user.is_staff:
+ device.delete()
+ return redirect('url_devices')
+
+ return HttpResponse("Not enough permission to delete this object")
+
+ kwargs = {'object':device, 'dev_active':'active',
+ 'url_cancel':'url_device', 'id_item':id_dev}
+
+ return render(request, 'item_delete.html', kwargs)
+
def campaigns(request):
campaigns = Campaign.objects.all().order_by('start_date')
@@ -197,6 +211,22 @@ def edit_campaign(request, id_camp):
return render(request, 'campaign_edit.html', kwargs)
+def delete_campaign(request, id_camp):
+
+ campaign = Campaign.objects.get(pk=id_camp)
+
+ if request.method=='POST':
+ if request.user.is_staff:
+ campaign.delete()
+ return redirect('url_campaigns')
+
+ return HttpResponse("Not enough permission to delete this object")
+
+ kwargs = {'object':campaign, 'camp_active':'active',
+ 'url_cancel':'url_campaign', 'id_item':id_camp}
+
+ return render(request, 'item_delete.html', kwargs)
+
def experiments(request):
campaigns = Experiment.objects.all().order_by('start_time')
@@ -238,7 +268,6 @@ def experiment(request, id_exp):
kwargs['title'] = 'Experiment'
kwargs['suptitle'] = 'Details'
-# kwargs['form'] = form
kwargs['button'] = 'Add Device'
return render(request, 'experiment.html', kwargs)
@@ -285,6 +314,23 @@ def edit_experiment(request, id_exp):
return render(request, 'experiment_edit.html', kwargs)
+def delete_experiment(request, id_exp):
+
+ experiment = Experiment.objects.get(pk=id_exp)
+
+ if request.method=='POST':
+ if request.user.is_staff:
+ id_camp = experiment.campaign.id
+ experiment.delete()
+ return redirect('url_campaign', id_camp=id_camp)
+
+ return HttpResponse("Not enough permission to delete this object")
+
+ kwargs = {'object':experiment, 'exp_active':'active',
+ 'url_cancel':'url_experiment', 'id_item':id_exp}
+
+ return render(request, 'item_delete.html', kwargs)
+
def dev_confs(request):
configurations = Configuration.objects.all().order_by('device__device_type')
@@ -390,6 +436,22 @@ def edit_dev_conf(request, id_conf):
return render(request, 'dev_conf_edit.html', kwargs)
+def delete_dev_conf(request, id_conf):
+
+ conf = Configuration.objects.get(pk=id_conf)
+
+ if request.method=='POST':
+ if request.user.is_staff:
+ id_exp = conf.experiment.id
+ conf.delete()
+ return redirect('url_experiment', id_exp=id_exp)
+
+ return HttpResponse("Not enough permission to delete this object")
+
+ kwargs = {'object':conf, 'conf_active':'active',
+ 'url_cancel':'url_dev_conf', 'id_item':id_conf}
+
+ return render(request, 'item_delete.html', kwargs)
# def experiment(request, id_exp=0, id_dev_type=0):
# kwargs = {}