##// END OF EJS Templates
siderbar_devices.html updated...
Miguel Urco -
r17:853d2d2bd93a
parent child
Show More
@@ -1,7 +1,9
1 from django.conf.urls import url
1 from django.conf.urls import url
2
2
3 urlpatterns = (
3 urlpatterns = (
4 #url(r'^configuration/$', 'apps.cgs.views.configurate_frequencies', name='new_device'),
4 #url(r'^configuration/$', 'apps.cgs.views.configurate_frequencies', name='new_device'),
5 url(r'^(?P<id>-?\d+)/$', 'apps.cgs.views.configurate_frequencies', name='new_device'),
5 # url(r'^(?P<id>-?\d+)/$', 'apps.cgs.views.configurate_frequencies', name='new_device'),
6 url(r'^(?P<id_conf>-?\d+)/$', 'apps.main.views.dev_conf', name='url_cgs_conf'),
7 url(r'^(?P<id_conf>-?\d+)/edit/$', 'apps.main.views.edit_dev_conf', name='url_edit_cgs_conf'),
6 )
8 )
7
9
@@ -1,49 +1,63
1 # Create your views here.
1 # Create your views here.
2
2
3 from django.shortcuts import redirect, render
3 from django.shortcuts import redirect, render
4
4
5 from apps.main.models import Experiment, Configuration
5 from .models import DDSConfiguration
6 from .models import DDSConfiguration
6 from .forms import DDSConfigurationForm
7 from .forms import DDSConfigurationForm
7 # Create your views here.
8 # Create your views here.
8
9
9 def dds_conf(request, id_conf):
10 def dds_conf(request, id_conf):
10
11
11 dev_conf = DDSConfiguration.objects.get(pk=id_conf)
12 conf = DDSConfiguration.objects.get(pk=id_conf)
12
13
13 kwargs = {}
14 kwargs = {}
14 kwargs['dev_conf'] = dev_conf
15 kwargs['dev_conf'] = conf
15 kwargs['dev_conf_keys'] = ['experiment', 'device',
16 kwargs['dev_conf_keys'] = ['experiment', 'device',
16 'clock', 'multiplier',
17 'clock', 'multiplier',
17 'freq_reg', 'phase_reg',
18 'freq_reg', 'phase_reg',
18 'amplitude_chA', 'amplitude_chB',
19 'amplitude_chA', 'amplitude_chB',
19 'modulation',
20 'modulation',
20 'freq_reg_mod', 'phase_reg_mod']
21 'freq_reg_mod', 'phase_reg_mod']
21
22
22 kwargs['title'] = 'DDS Configuration'
23 kwargs['title'] = 'DDS Configuration'
23 kwargs['suptitle'] = 'Details'
24 kwargs['suptitle'] = 'Details'
24
25
25 kwargs['button'] = 'Edit Configuration'
26 kwargs['button'] = 'Edit Configuration'
26
27
28 ###### SIDEBAR ######
29 experiments = Experiment.objects.filter(campaign=conf.experiment.campaign)
30 configurations = Configuration.objects.filter(experiment=conf.experiment)
31
32 exp_keys = ['id', 'campaign', 'name', 'start_time', 'end_time']
33 conf_keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address']
34
35 kwargs['experiment_keys'] = exp_keys[1:]
36 kwargs['experiments'] = experiments.values(*exp_keys)
37
38 kwargs['configuration_keys'] = conf_keys[1:]
39 kwargs['configurations'] = configurations.values(*conf_keys)
40
27 return render(request, 'dds_conf.html', kwargs)
41 return render(request, 'dds_conf.html', kwargs)
28
42
29 def edit_dds_conf(request, id_conf):
43 def edit_dds_conf(request, id_conf):
30
44
31 dev_conf = DDSConfiguration.objects.get(pk=id_conf)
45 conf = DDSConfiguration.objects.get(pk=id_conf)
32
46
33 if request.method=='GET':
47 if request.method=='GET':
34 form = DDSConfigurationForm(instance=dev_conf)
48 form = DDSConfigurationForm(instance=conf)
35
49
36 if request.method=='POST':
50 if request.method=='POST':
37 form = DDSConfigurationForm(request.POST, instance=dev_conf)
51 form = DDSConfigurationForm(request.POST, instance=conf)
38
52
39 if form.is_valid():
53 if form.is_valid():
40 form.save()
54 form.save()
41 return redirect('url_dds_conf', id_conf=id_conf)
55 return redirect('url_dds_conf', id_conf=id_conf)
42
56
43 kwargs = {}
57 kwargs = {}
44 kwargs['form'] = form
58 kwargs['form'] = form
45 kwargs['title'] = 'Device Configuration'
59 kwargs['title'] = 'Device Configuration'
46 kwargs['suptitle'] = 'Edit'
60 kwargs['suptitle'] = 'Edit'
47 kwargs['button'] = 'Update'
61 kwargs['button'] = 'Update'
48
62
49 return render(request, 'dds_conf_edit.html', kwargs) No newline at end of file
63 return render(request, 'dds_conf_edit.html', kwargs)
@@ -1,5 +1,7
1 from django.conf.urls import url
1 from django.conf.urls import url
2
2
3 urlpatterns = (
3 urlpatterns = (
4 url(r'^(?P<id>-?\d+)/$', 'apps.jars.views.jars_config', name='jars'),
4 # url(r'^(?P<id>-?\d+)/$', 'apps.jars.views.jars_config', name='jars'),
5 url(r'^(?P<id_conf>-?\d+)/$', 'apps.main.views.dev_conf', name='url_jars_conf'),
6 url(r'^(?P<id_conf>-?\d+)/edit/$', 'apps.main.views.edit_dev_conf', name='url_edit_jars_conf'),
5 )
7 )
@@ -1,62 +1,100
1 {% if experiment %}
1 {% if campaign %}
2 <div class="panel panel-default">
2 <div class="panel panel-default">
3 <div class="panel-heading">
3 <div class="panel-heading">
4 <h4>Campaign</h4>
4 <h4>Campaign</h4>
5 </div>
5 </div>
6 <div class="list-group">
6 <div class="list-group">
7 <a href="{% url 'url_campaign' experiment.campaign.id %}" class="list-group-item active" >{{ experiment.campaign.name }}</a>
7 <a href="{% url 'url_campaign' campaign.id %}" class="list-group-item active" >{{ campaign.name }}</a>
8 </div>
8 </div>
9 </div>
9 </div>
10
10
11 {% if experiments %}
12 <div class="panel panel-default">
13 <div class="panel-heading">
14 <h4>Experiments</h4>
15 </div>
16 <div class="list-group">
17 {% for item in experiments %}
18 <a href="{% url 'url_experiment' item.id %}" class="list-group-item {{item.active}}">{{item.name}}</a>
19 {% endfor %}
20 </div>
21 </div>
22 {% endif %}
23 {% endif %}
24
25 {% if experiment %}
11 <div class="panel panel-default">
26 <div class="panel panel-default">
12 <div class="panel-heading">
27 <div class="panel-heading">
13 <h4>Experiment</h4>
28 <h4>Campaign</h4>
14 </div>
29 </div>
15 <div class="list-group">
30 <div class="list-group">
16 <a href="{% url 'url_experiment' experiment.id %}" class="list-group-item active" >{{ experiment.name }}</a>
31 <a href="{% url 'url_campaign' experiment.campaign.id %}" class="list-group-item active" >{{ experiment.campaign.name }}</a>
17 </div>
32 </div>
18 </div>
33 </div>
19
34
35 {% if experiments %}
36 <div class="panel panel-default">
37 <div class="panel-heading">
38 <h4>Experiments</h4>
39 </div>
40 <div class="list-group">
41 {% for item in experiments %}
42 <a href="{% url 'url_experiment' item.id %}" class="list-group-item {%if item.id == experiment.id%}active{%endif%}">{{item.name}}</a>
43 {% endfor %}
44 </div>
45 </div>
46 {% endif %}
47
20 {% if configurations %}
48 {% if configurations %}
21 <div class="panel panel-default">
49 <div class="panel panel-default">
22 <div class="panel-heading">
50 <div class="panel-heading">
23 <h4>Device Configurations</h4>
51 <h4>Device Configurations</h4>
24 </div>
52 </div>
25 <div class="list-group">
53 <div class="list-group">
26 {% for item in configurations %}
54 {% for item in configurations %}
27 <a href="/{{item.device__device_type__name}}/{{item.id}}" class="list-group-item {{item.active}}">{{item.device__name}}</a>
55 <a href="/{{item.device__device_type__name}}/{{item.id}}" class="list-group-item {{item.active}}">{{item.device__name}}</a>
28 {% endfor %}
56 {% endfor %}
29 </div>
57 </div>
30 </div>
58 </div>
31 {% endif %}
59 {% endif %}
60
32 {% endif %}
61 {% endif %}
33
62
34 {% if dev_conf %}
63 {% if dev_conf %}
35 <div class="panel panel-default">
64 <div class="panel panel-default">
36 <div class="panel-heading">
65 <div class="panel-heading">
37 <h4>Campaign</h4>
66 <h4>Campaign</h4>
38 </div>
67 </div>
39 <div class="list-group">
68 <div class="list-group">
40 <a href="{% url 'url_campaign' dev_conf.experiment.campaign.id %}" class="list-group-item active" >{{ dev_conf.experiment.campaign.name }}</a>
69 <a href="{% url 'url_campaign' dev_conf.experiment.campaign.id %}" class="list-group-item active" >{{ dev_conf.experiment.campaign.name }}</a>
41 </div>
70 </div>
42 </div>
71 </div>
43
72
44 <div class="panel panel-default">
73 {% if experiments %}
45 <div class="panel-heading">
74 <div class="panel panel-default">
46 <h4>Experiment</h4>
75 <div class="panel-heading">
47 </div>
76 <h4>Experiments</h4>
48 <div class="list-group">
77 </div>
49 <a href="{% url 'url_experiment' dev_conf.experiment.id %}" class="list-group-item active" >{{ dev_conf.experiment.name }}</a>
78 <div class="list-group">
50 </div>
79 {% for item in experiments %}
51 </div>
80 <a href="{% url 'url_experiment' item.id %}" class="list-group-item {%if item.id == dev_conf.experiment.id%}active{%endif%}">{{item.name}}</a>
81 {% endfor %}
82 </div>
83 </div>
84 {% endif %}
85
86 {% if configurations %}
87 <div class="panel panel-default">
88 <div class="panel-heading">
89 <h4>Device Configurations</h4>
90 </div>
91 <div class="list-group">
92 {% for item in configurations %}
93 <a href="/{{item.device__device_type__name}}/{{item.id}}" class="list-group-item {%if item.id == dev_conf.id%}active{%endif%}">{{item.device__name}}</a>
94 {% endfor %}
95 </div>
96 </div>
97 {% endif %}
52
98
53 <div class="panel panel-default">
54 <div class="panel-heading">
55 <h4>Device</h4>
56 </div>
57 <div class="list-group">
58 <a href="{% url 'url_device' dev_conf.device.id %}" class="list-group-item active" >{{ dev_conf.device.name }}</a>
59 </div>
60 </div>
61
99
62 {% endif %}
100 {% endif %}
@@ -1,494 +1,507
1 from django.shortcuts import render, redirect
1 from django.shortcuts import render, redirect
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
5 from apps.jars.forms import JARSConfigurationForm
5 from apps.jars.forms import JARSConfigurationForm
6 from apps.usrp.forms import USRPConfigurationForm
6 from apps.usrp.forms import USRPConfigurationForm
7 from apps.abs.forms import ABSConfigurationForm
7 from apps.abs.forms import ABSConfigurationForm
8 from apps.rc.forms import RCConfigurationForm
8 from apps.rc.forms import RCConfigurationForm
9 from apps.dds.forms import DDSConfigurationForm
9 from apps.dds.forms import DDSConfigurationForm
10
10
11 from .models import Campaign, Experiment, Device, Configuration
11 from .models import Campaign, Experiment, Device, Configuration
12 from apps.cgs.models import CGSConfiguration
12 from apps.cgs.models import CGSConfiguration
13 from apps.jars.models import JARSConfiguration
13 from apps.jars.models import JARSConfiguration
14 from apps.usrp.models import USRPConfiguration
14 from apps.usrp.models import USRPConfiguration
15 from apps.abs.models import ABSConfiguration
15 from apps.abs.models import ABSConfiguration
16 from apps.rc.models import RCConfiguration
16 from apps.rc.models import RCConfiguration
17 from apps.dds.models import DDSConfiguration
17 from apps.dds.models import DDSConfiguration
18
18
19 # Create your views here.
19 # Create your views here.
20
20
21 CONF_FORMS = {
21 CONF_FORMS = {
22 'rc': RCConfigurationForm,
22 'rc': RCConfigurationForm,
23 'dds': DDSConfigurationForm,
23 'dds': DDSConfigurationForm,
24 'jars': JARSConfigurationForm,
24 'jars': JARSConfigurationForm,
25 'cgs': CGSConfigurationForm,
25 'cgs': CGSConfigurationForm,
26 'abs': ABSConfigurationForm,
26 'abs': ABSConfigurationForm,
27 'usrp': USRPConfigurationForm,
27 'usrp': USRPConfigurationForm,
28 }
28 }
29
29
30 CONF_MODELS = {
30 CONF_MODELS = {
31 'rc': RCConfiguration,
31 'rc': RCConfiguration,
32 'dds': DDSConfiguration,
32 'dds': DDSConfiguration,
33 'jars': JARSConfiguration,
33 'jars': JARSConfiguration,
34 'cgs': CGSConfiguration,
34 'cgs': CGSConfiguration,
35 'abs': ABSConfiguration,
35 'abs': ABSConfiguration,
36 'usrp': USRPConfiguration,
36 'usrp': USRPConfiguration,
37 }
37 }
38
38
39 def index(request):
39 def index(request):
40 kwargs = {}
40 kwargs = {}
41
41
42 return render(request, 'index.html', kwargs)
42 return render(request, 'index.html', kwargs)
43
43
44 def devices(request):
44 def devices(request):
45
45
46 devices = Device.objects.all().order_by('device_type__name')
46 devices = Device.objects.all().order_by('device_type__name')
47
47
48 keys = ['id', 'device_type__name', 'name', 'ip_address']
48 keys = ['id', 'device_type__name', 'name', 'ip_address']
49
49
50 kwargs = {}
50 kwargs = {}
51 kwargs['device_keys'] = keys[1:]
51 kwargs['device_keys'] = keys[1:]
52 kwargs['devices'] = devices.values(*keys)
52 kwargs['devices'] = devices.values(*keys)
53 kwargs['title'] = 'Device'
53 kwargs['title'] = 'Device'
54 kwargs['suptitle'] = 'List'
54 kwargs['suptitle'] = 'List'
55 kwargs['button'] = 'New Device'
55 kwargs['button'] = 'New Device'
56
56
57 return render(request, 'devices.html', kwargs)
57 return render(request, 'devices.html', kwargs)
58
58
59 def device(request, id_dev):
59 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)
63 # form = DeviceForm(instance=device)
64
64
65 kwargs = {}
65 kwargs = {}
66 kwargs['device'] = device
66 kwargs['device'] = device
67 kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
67 kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
68
68
69 kwargs['title'] = 'Device'
69 kwargs['title'] = 'Device'
70 kwargs['suptitle'] = 'Details'
70 kwargs['suptitle'] = 'Details'
71
71
72 # kwargs['form'] = form
72 # kwargs['form'] = form
73 kwargs['button'] = 'Add Device'
73 kwargs['button'] = 'Add Device'
74
74
75 return render(request, 'device.html', kwargs)
75 return render(request, 'device.html', kwargs)
76
76
77 def add_device(request):
77 def add_device(request):
78
78
79 if request.method == 'GET':
79 if request.method == 'GET':
80 form = DeviceForm()
80 form = DeviceForm()
81
81
82 if request.method == 'POST':
82 if request.method == 'POST':
83 form = DeviceForm(request.POST)
83 form = DeviceForm(request.POST)
84
84
85 if form.is_valid():
85 if form.is_valid():
86 form.save()
86 form.save()
87 return redirect('url_devices')
87 return redirect('url_devices')
88
88
89 kwargs = {}
89 kwargs = {}
90 kwargs['form'] = form
90 kwargs['form'] = form
91 kwargs['title'] = 'Device'
91 kwargs['title'] = 'Device'
92 kwargs['suptitle'] = 'New'
92 kwargs['suptitle'] = 'New'
93 kwargs['button'] = 'Create'
93 kwargs['button'] = 'Create'
94
94
95 return render(request, 'device_edit.html', kwargs)
95 return render(request, 'device_edit.html', kwargs)
96
96
97 def edit_device(request, id_dev):
97 def edit_device(request, id_dev):
98
98
99 device = Device.objects.get(pk=id_dev)
99 device = Device.objects.get(pk=id_dev)
100
100
101 if request.method=='GET':
101 if request.method=='GET':
102 form = DeviceForm(instance=device)
102 form = DeviceForm(instance=device)
103
103
104 if request.method=='POST':
104 if request.method=='POST':
105 form = DeviceForm(request.POST, instance=device)
105 form = DeviceForm(request.POST, instance=device)
106
106
107 if form.is_valid():
107 if form.is_valid():
108 form.save()
108 form.save()
109 return redirect('url_devices')
109 return redirect('url_devices')
110
110
111 kwargs = {}
111 kwargs = {}
112 kwargs['form'] = form
112 kwargs['form'] = form
113 kwargs['title'] = 'Device'
113 kwargs['title'] = 'Device'
114 kwargs['suptitle'] = 'Edit'
114 kwargs['suptitle'] = 'Edit'
115 kwargs['button'] = 'Update'
115 kwargs['button'] = 'Update'
116
116
117 return render(request, 'device_edit.html', kwargs)
117 return render(request, 'device_edit.html', kwargs)
118
118
119 def campaigns(request):
119 def campaigns(request):
120
120
121 campaigns = Campaign.objects.all().order_by('start_date')
121 campaigns = Campaign.objects.all().order_by('start_date')
122
122
123 keys = ['id', 'name', 'start_date', 'end_date']
123 keys = ['id', 'name', 'start_date', 'end_date']
124
124
125 kwargs = {}
125 kwargs = {}
126 kwargs['campaign_keys'] = keys[1:]
126 kwargs['campaign_keys'] = keys[1:]
127 kwargs['campaigns'] = campaigns.values(*keys)
127 kwargs['campaigns'] = campaigns.values(*keys)
128 kwargs['title'] = 'Campaign'
128 kwargs['title'] = 'Campaign'
129 kwargs['suptitle'] = 'List'
129 kwargs['suptitle'] = 'List'
130 kwargs['button'] = 'New Campaign'
130 kwargs['button'] = 'New Campaign'
131
131
132 return render(request, 'campaigns.html', kwargs)
132 return render(request, 'campaigns.html', kwargs)
133
133
134 def campaign(request, id_camp):
134 def campaign(request, id_camp):
135
135
136 campaign = Campaign.objects.get(pk=id_camp)
136 campaign = Campaign.objects.get(pk=id_camp)
137 experiments = Experiment.objects.filter(campaign=campaign)
137 experiments = Experiment.objects.filter(campaign=campaign)
138
138
139 form = CampaignForm(instance=campaign)
139 form = CampaignForm(instance=campaign)
140
140
141 kwargs = {}
141 kwargs = {}
142 kwargs['campaign'] = campaign
142 kwargs['campaign'] = campaign
143 kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
143 kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
144
144
145 keys = ['id', 'name', 'start_time', 'end_time']
145 keys = ['id', 'name', 'start_time', 'end_time']
146
146
147 kwargs['experiment_keys'] = keys[1:]
147 kwargs['experiment_keys'] = keys[1:]
148 kwargs['experiments'] = experiments.values(*keys)
148 kwargs['experiments'] = experiments.values(*keys)
149
149
150 kwargs['title'] = 'Campaign'
150 kwargs['title'] = 'Campaign'
151 kwargs['suptitle'] = 'Details'
151 kwargs['suptitle'] = 'Details'
152
152
153 kwargs['form'] = form
153 kwargs['form'] = form
154 kwargs['button'] = 'Add Experiment'
154 kwargs['button'] = 'Add Experiment'
155
155
156 return render(request, 'campaign.html', kwargs)
156 return render(request, 'campaign.html', kwargs)
157
157
158 def add_campaign(request):
158 def add_campaign(request):
159
159
160 if request.method == 'GET':
160 if request.method == 'GET':
161 form = CampaignForm()
161 form = CampaignForm()
162
162
163 if request.method == 'POST':
163 if request.method == 'POST':
164 form = CampaignForm(request.POST)
164 form = CampaignForm(request.POST)
165
165
166 if form.is_valid():
166 if form.is_valid():
167 campaign = form.save()
167 campaign = form.save()
168 return redirect('url_campaign', id_camp=campaign.id)
168 return redirect('url_campaign', id_camp=campaign.id)
169
169
170 kwargs = {}
170 kwargs = {}
171 kwargs['form'] = form
171 kwargs['form'] = form
172 kwargs['title'] = 'Campaign'
172 kwargs['title'] = 'Campaign'
173 kwargs['suptitle'] = 'New'
173 kwargs['suptitle'] = 'New'
174 kwargs['button'] = 'Create'
174 kwargs['button'] = 'Create'
175
175
176 return render(request, 'campaign_edit.html', kwargs)
176 return render(request, 'campaign_edit.html', kwargs)
177
177
178 def edit_campaign(request, id_camp):
178 def edit_campaign(request, id_camp):
179
179
180 campaign = Campaign.objects.get(pk=id_camp)
180 campaign = Campaign.objects.get(pk=id_camp)
181
181
182 if request.method=='GET':
182 if request.method=='GET':
183 form = CampaignForm(instance=campaign)
183 form = CampaignForm(instance=campaign)
184
184
185 if request.method=='POST':
185 if request.method=='POST':
186 form = CampaignForm(request.POST, instance=campaign)
186 form = CampaignForm(request.POST, instance=campaign)
187
187
188 if form.is_valid():
188 if form.is_valid():
189 form.save()
189 form.save()
190 return redirect('url_campaign', id_camp=id_camp)
190 return redirect('url_campaign', id_camp=id_camp)
191
191
192 kwargs = {}
192 kwargs = {}
193 kwargs['form'] = form
193 kwargs['form'] = form
194 kwargs['title'] = 'Campaign'
194 kwargs['title'] = 'Campaign'
195 kwargs['suptitle'] = 'Edit'
195 kwargs['suptitle'] = 'Edit'
196 kwargs['button'] = 'Update'
196 kwargs['button'] = 'Update'
197
197
198 return render(request, 'campaign_edit.html', kwargs)
198 return render(request, 'campaign_edit.html', kwargs)
199
199
200 def experiments(request):
200 def experiments(request):
201
201
202 campaigns = Experiment.objects.all().order_by('start_time')
202 campaigns = Experiment.objects.all().order_by('start_time')
203
203
204 keys = ['id', 'campaign__name', 'name', 'start_time', 'end_time']
204 keys = ['id', 'campaign__name', 'name', 'start_time', 'end_time']
205
205
206 kwargs = {}
206 kwargs = {}
207
207
208 kwargs['experiment_keys'] = keys[1:]
208 kwargs['experiment_keys'] = keys[1:]
209 kwargs['experiments'] = campaigns.values(*keys)
209 kwargs['experiments'] = campaigns.values(*keys)
210
210
211 kwargs['title'] = 'Experiment'
211 kwargs['title'] = 'Experiment'
212 kwargs['suptitle'] = 'List'
212 kwargs['suptitle'] = 'List'
213 kwargs['button'] = 'New Experiment'
213 kwargs['button'] = 'New Experiment'
214
214
215 return render(request, 'experiments.html', kwargs)
215 return render(request, 'experiments.html', kwargs)
216
216
217 def experiment(request, id_exp):
217 def experiment(request, id_exp):
218
218
219 experiment = Experiment.objects.get(pk=id_exp)
219 experiment = Experiment.objects.get(pk=id_exp)
220 # campaign = Campaign.objects.get(pk = experiment.campaign.id)
221 configurations = Configuration.objects.filter(experiment=experiment)
222
220
223 # form = ExperimentForm(instance=experiment)
221 experiments = Experiment.objects.filter(campaign=experiment.campaign)
222 configurations = Configuration.objects.filter(experiment=experiment)
224
223
225 kwargs = {}
224 kwargs = {}
226
225
227 # kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
226 exp_keys = ['id', 'campaign', 'name', 'start_time', 'end_time']
228 # kwargs['campaign'] = campaign
227 conf_keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address']
228
229
229
230 kwargs['experiment_keys'] = ['campaign', 'name', 'start_time', 'end_time']
230 kwargs['experiment_keys'] = exp_keys[1:]
231 kwargs['experiment'] = experiment
231 kwargs['experiment'] = experiment
232
232
233 keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address']
233 kwargs['experiments'] = experiments.values(*exp_keys)
234
234
235 kwargs['configuration_keys'] = keys[1:]
235 kwargs['configuration_keys'] = conf_keys[1:]
236 kwargs['configurations'] = configurations.values(*keys)
236 kwargs['configurations'] = configurations.values(*conf_keys)
237
237
238 kwargs['title'] = 'Experiment'
238 kwargs['title'] = 'Experiment'
239 kwargs['suptitle'] = 'Details'
239 kwargs['suptitle'] = 'Details'
240
240
241 # kwargs['form'] = form
241 # kwargs['form'] = form
242 kwargs['button'] = 'Add Device'
242 kwargs['button'] = 'Add Device'
243
243
244 return render(request, 'experiment.html', kwargs)
244 return render(request, 'experiment.html', kwargs)
245
245
246 def add_experiment(request, id_camp=0):
246 def add_experiment(request, id_camp=0):
247
247
248 if request.method == 'GET':
248 if request.method == 'GET':
249 form = ExperimentForm(initial={'campaign':id_camp})
249 form = ExperimentForm(initial={'campaign':id_camp})
250
250
251 if request.method == 'POST':
251 if request.method == 'POST':
252 form = ExperimentForm(request.POST, initial={'campaign':id_camp})
252 form = ExperimentForm(request.POST, initial={'campaign':id_camp})
253
253
254 if form.is_valid():
254 if form.is_valid():
255 experiment = form.save()
255 experiment = form.save()
256 return redirect('url_experiment', id_exp=experiment.id)
256 return redirect('url_experiment', id_exp=experiment.id)
257
257
258 kwargs = {}
258 kwargs = {}
259 kwargs['form'] = form
259 kwargs['form'] = form
260 kwargs['title'] = 'Experiment'
260 kwargs['title'] = 'Experiment'
261 kwargs['suptitle'] = 'New'
261 kwargs['suptitle'] = 'New'
262 kwargs['button'] = 'Create'
262 kwargs['button'] = 'Create'
263
263
264 return render(request, 'experiment_edit.html', kwargs)
264 return render(request, 'experiment_edit.html', kwargs)
265
265
266 def edit_experiment(request, id_exp):
266 def edit_experiment(request, id_exp):
267
267
268 experiment = Experiment.objects.get(pk=id_exp)
268 experiment = Experiment.objects.get(pk=id_exp)
269
269
270 if request.method == 'GET':
270 if request.method == 'GET':
271 form = ExperimentForm(instance=experiment)
271 form = ExperimentForm(instance=experiment)
272
272
273 if request.method=='POST':
273 if request.method=='POST':
274 form = ExperimentForm(request.POST, instance=experiment)
274 form = ExperimentForm(request.POST, instance=experiment)
275
275
276 if form.is_valid():
276 if form.is_valid():
277 experiment = form.save()
277 experiment = form.save()
278 return redirect('url_experiment', id_exp=experiment.id)
278 return redirect('url_experiment', id_exp=experiment.id)
279
279
280 kwargs = {}
280 kwargs = {}
281 kwargs['form'] = form
281 kwargs['form'] = form
282 kwargs['title'] = 'Experiment'
282 kwargs['title'] = 'Experiment'
283 kwargs['suptitle'] = 'Edit'
283 kwargs['suptitle'] = 'Edit'
284 kwargs['button'] = 'Update'
284 kwargs['button'] = 'Update'
285
285
286 return render(request, 'experiment_edit.html', kwargs)
286 return render(request, 'experiment_edit.html', kwargs)
287
287
288 def dev_confs(request):
288 def dev_confs(request):
289
289
290 configurations = Configuration.objects.all().order_by('device__device_type')
290 configurations = Configuration.objects.all().order_by('device__device_type')
291
291
292 keys = ['id', 'device__device_type__name', 'device__name', 'experiment__campaign__name', 'experiment__name']
292 keys = ['id', 'device__device_type__name', 'device__name', 'experiment__campaign__name', 'experiment__name']
293
293
294 kwargs = {}
294 kwargs = {}
295
295
296 kwargs['configuration_keys'] = keys[1:]
296 kwargs['configuration_keys'] = keys[1:]
297 kwargs['configurations'] = configurations.values(*keys)
297 kwargs['configurations'] = configurations.values(*keys)
298
298
299 kwargs['title'] = 'Configuration'
299 kwargs['title'] = 'Configuration'
300 kwargs['suptitle'] = 'List'
300 kwargs['suptitle'] = 'List'
301 kwargs['button'] = 'New Configuration'
301 kwargs['button'] = 'New Configuration'
302
302
303 return render(request, 'dev_confs.html', kwargs)
303 return render(request, 'dev_confs.html', kwargs)
304
304
305 def dev_conf(request, id_conf):
305 def dev_conf(request, id_conf):
306
306
307 conf = Configuration.objects.get(pk=id_conf)
307 conf = Configuration.objects.get(pk=id_conf)
308
308
309 DevConfModel = CONF_MODELS[conf.device.device_type.name]
309 DevConfModel = CONF_MODELS[conf.device.device_type.name]
310 dev_conf = DevConfModel.objects.get(pk=id_conf)
310 dev_conf = DevConfModel.objects.get(pk=id_conf)
311
311
312 kwargs = {}
312 kwargs = {}
313 kwargs['dev_conf'] = dev_conf
313 kwargs['dev_conf'] = dev_conf
314 kwargs['dev_conf_keys'] = ['experiment', 'device']
314 kwargs['dev_conf_keys'] = ['experiment', 'device']
315
315
316 kwargs['title'] = 'Configuration'
316 kwargs['title'] = 'Configuration'
317 kwargs['suptitle'] = 'Details'
317 kwargs['suptitle'] = 'Details'
318
318
319 kwargs['button'] = 'Edit Configuration'
319 kwargs['button'] = 'Edit Configuration'
320
320
321 ###### SIDEBAR ######
322 experiments = Experiment.objects.filter(campaign=conf.experiment.campaign)
323 configurations = Configuration.objects.filter(experiment=conf.experiment)
324
325 exp_keys = ['id', 'campaign', 'name', 'start_time', 'end_time']
326 conf_keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address']
327
328 kwargs['experiment_keys'] = exp_keys[1:]
329 kwargs['experiments'] = experiments.values(*exp_keys)
330
331 kwargs['configuration_keys'] = conf_keys[1:]
332 kwargs['configurations'] = configurations.values(*conf_keys)
333
321 return render(request, 'dev_conf.html', kwargs)
334 return render(request, 'dev_conf.html', kwargs)
322
335
323 def add_dev_conf(request, id_exp=0):
336 def add_dev_conf(request, id_exp=0):
324
337
325 if request.method == 'GET':
338 if request.method == 'GET':
326 form = ConfigurationForm(initial={'experiment':id_exp})
339 form = ConfigurationForm(initial={'experiment':id_exp})
327
340
328 if request.method == 'POST':
341 if request.method == 'POST':
329 form = ConfigurationForm(request.POST)
342 form = ConfigurationForm(request.POST)
330
343
331 if form.is_valid():
344 if form.is_valid():
332 experiment = Experiment.objects.get(pk=request.POST['experiment'])
345 experiment = Experiment.objects.get(pk=request.POST['experiment'])
333 device = Device.objects.get(pk=request.POST['device'])
346 device = Device.objects.get(pk=request.POST['device'])
334
347
335 exp_devices = Device.objects.filter(configuration__experiment=experiment)
348 exp_devices = Device.objects.filter(configuration__experiment=experiment)
336
349
337 if device.id not in exp_devices.values('id',):
350 if device.id not in exp_devices.values('id',):
338
351
339 DevConfModel = CONF_MODELS[device.device_type.name]
352 DevConfModel = CONF_MODELS[device.device_type.name]
340 conf = DevConfModel(experiment=experiment, device=device)
353 conf = DevConfModel(experiment=experiment, device=device)
341 conf.save()
354 conf.save()
342
355
343 return redirect('url_experiment', id_exp=experiment.id)
356 return redirect('url_experiment', id_exp=experiment.id)
344
357
345 kwargs = {}
358 kwargs = {}
346 kwargs['form'] = form
359 kwargs['form'] = form
347 kwargs['title'] = 'Configuration'
360 kwargs['title'] = 'Configuration'
348 kwargs['suptitle'] = 'New'
361 kwargs['suptitle'] = 'New'
349 kwargs['button'] = 'Create'
362 kwargs['button'] = 'Create'
350
363
351 return render(request, 'dev_conf_edit.html', kwargs)
364 return render(request, 'dev_conf_edit.html', kwargs)
352
365
353 def edit_dev_conf(request, id_conf):
366 def edit_dev_conf(request, id_conf):
354
367
355 conf = Configuration.objects.get(pk=id_conf)
368 conf = Configuration.objects.get(pk=id_conf)
356
369
357 DevConfModel = CONF_MODELS[conf.device.device_type.name]
370 DevConfModel = CONF_MODELS[conf.device.device_type.name]
358 DevConfForm = CONF_FORMS[conf.device.device_type.name]
371 DevConfForm = CONF_FORMS[conf.device.device_type.name]
359
372
360 dev_conf = DevConfModel.objects.get(pk=id_conf)
373 dev_conf = DevConfModel.objects.get(pk=id_conf)
361
374
362 if request.method=='GET':
375 if request.method=='GET':
363 form = DevConfForm(instance=dev_conf)
376 form = DevConfForm(instance=dev_conf)
364
377
365 if request.method=='POST':
378 if request.method=='POST':
366 form = DevConfForm(request.POST, instance=dev_conf)
379 form = DevConfForm(request.POST, instance=dev_conf)
367
380
368 if form.is_valid():
381 if form.is_valid():
369 form.save()
382 form.save()
370 return redirect('url_dev_conf', id_conf=id_conf)
383 return redirect('url_dev_conf', id_conf=id_conf)
371
384
372 kwargs = {}
385 kwargs = {}
373 kwargs['form'] = form
386 kwargs['form'] = form
374 kwargs['title'] = 'Device Configuration'
387 kwargs['title'] = 'Device Configuration'
375 kwargs['suptitle'] = 'Edit'
388 kwargs['suptitle'] = 'Edit'
376 kwargs['button'] = 'Update'
389 kwargs['button'] = 'Update'
377
390
378 return render(request, 'dev_conf_edit.html', kwargs)
391 return render(request, 'dev_conf_edit.html', kwargs)
379
392
380
393
381 # def experiment(request, id_exp=0, id_dev_type=0):
394 # def experiment(request, id_exp=0, id_dev_type=0):
382 # kwargs = {}
395 # kwargs = {}
383 # if id_exp:
396 # if id_exp:
384 # experiment = Experiment.objects.get(pk=id_exp)
397 # experiment = Experiment.objects.get(pk=id_exp)
385 # devices = Configuration.objects.filter(configuration__experiment=experiment)
398 # devices = Configuration.objects.filter(configuration__experiment=experiment)
386 # kwargs['experiment'] = experiment
399 # kwargs['experiment'] = experiment
387 # kwargs['experiment_keys'] = ['campaign', 'name', 'start_time', 'end_time']
400 # kwargs['experiment_keys'] = ['campaign', 'name', 'start_time', 'end_time']
388 #
401 #
389 # form = ExperimentForm(instance=experiment)
402 # form = ExperimentForm(instance=experiment)
390 #
403 #
391 # if id_dev_type:
404 # if id_dev_type:
392 # subform = DeviceTypeForm(initial={'device_type':id_dev_type})
405 # subform = DeviceTypeForm(initial={'device_type':id_dev_type})
393 # kwargs['keys'] = ['ip_address']
406 # kwargs['keys'] = ['ip_address']
394 # keys = ['id']+kwargs['keys']
407 # keys = ['id']+kwargs['keys']
395 # kwargs['items'] = Device.objects.filter(device_type=id_dev_type).values(*keys)
408 # kwargs['items'] = Device.objects.filter(device_type=id_dev_type).values(*keys)
396 # else:
409 # else:
397 # subform = DeviceTypeForm()
410 # subform = DeviceTypeForm()
398 #
411 #
399 # kwargs['form'] = form
412 # kwargs['form'] = form
400 # kwargs['subform'] = subform
413 # kwargs['subform'] = subform
401 # kwargs['device_keys'] = ['device_type__name', 'ip_address']
414 # kwargs['device_keys'] = ['device_type__name', 'ip_address']
402 # kwargs['devices'] = devices.values('device_type__name', 'ip_address', 'configuration__id')
415 # kwargs['devices'] = devices.values('device_type__name', 'ip_address', 'configuration__id')
403 # kwargs['suptitle'] = 'Detail'
416 # kwargs['suptitle'] = 'Detail'
404 # else:
417 # else:
405 # experiments = Experiment.objects.all().order_by('start_time')
418 # experiments = Experiment.objects.all().order_by('start_time')
406 # kwargs['keys'] = ['name', 'start_time', 'end_time']
419 # kwargs['keys'] = ['name', 'start_time', 'end_time']
407 # keys = ['id']+kwargs['keys']
420 # keys = ['id']+kwargs['keys']
408 # kwargs['items'] = experiments.values(*keys)
421 # kwargs['items'] = experiments.values(*keys)
409 # kwargs['suptitle'] = 'List'
422 # kwargs['suptitle'] = 'List'
410 # kwargs['button'] = 'Add Experiment'
423 # kwargs['button'] = 'Add Experiment'
411 #
424 #
412 # kwargs['id_dev_type'] = id_dev_type
425 # kwargs['id_dev_type'] = id_dev_type
413 # kwargs['id_exp'] = id_exp
426 # kwargs['id_exp'] = id_exp
414 # return render_to_response("experiment.html", kwargs, context_instance=RequestContext(request))
427 # return render_to_response("experiment.html", kwargs, context_instance=RequestContext(request))
415
428
416 # def edit_experiment(request, id_exp):
429 # def edit_experiment(request, id_exp):
417 # if request.method=='POST':
430 # if request.method=='POST':
418 # experiment = Experiment.objects.get(pk=id_exp)
431 # experiment = Experiment.objects.get(pk=id_exp)
419 # form = ExperimentForm(request.POST, instance=experiment)
432 # form = ExperimentForm(request.POST, instance=experiment)
420 # if form.is_valid():
433 # if form.is_valid():
421 # form.save()
434 # form.save()
422 # return redirect('experiment', id_exp=id_exp)
435 # return redirect('experiment', id_exp=id_exp)
423
436
424 # def experiment_add_device(request, id_exp):
437 # def experiment_add_device(request, id_exp):
425 # if request.method=='POST':
438 # if request.method=='POST':
426 # experiment = Experiment.objects.get(pk=id_exp)
439 # experiment = Experiment.objects.get(pk=id_exp)
427 #
440 #
428 # exp_devices = Device.objects.filter(configuration__experiment=experiment)
441 # exp_devices = Device.objects.filter(configuration__experiment=experiment)
429 #
442 #
430 # device = Device.objects.get(pk=request.POST['device'])
443 # device = Device.objects.get(pk=request.POST['device'])
431 #
444 #
432 # if device.id in exp_devices.values('id',):
445 # if device.id in exp_devices.values('id',):
433 # return redirect('experiment', id_exp=id_exp)
446 # return redirect('experiment', id_exp=id_exp)
434 #
447 #
435 # model = MODELS[device.device_type.alias]
448 # model = MODELS[device.device_type.alias]
436 # conf = model(experiment=experiment, device=device)
449 # conf = model(experiment=experiment, device=device)
437 # conf.save()
450 # conf.save()
438 # return redirect('experiment', id_exp=id_exp)
451 # return redirect('experiment', id_exp=id_exp)
439
452
440 # def add_experiment(request):
453 # def add_experiment(request):
441 #
454 #
442 # kwargs = {}
455 # kwargs = {}
443 # if request.method == 'POST':
456 # if request.method == 'POST':
444 # form = ExperimentForm(request.POST)
457 # form = ExperimentForm(request.POST)
445 # if form.is_valid():
458 # if form.is_valid():
446 # experiment = form.save()
459 # experiment = form.save()
447 # return redirect('experiment', id_exp=experiment.id)
460 # return redirect('experiment', id_exp=experiment.id)
448 # else:
461 # else:
449 # form = ExperimentForm()
462 # form = ExperimentForm()
450 # kwargs['form_new'] = form
463 # kwargs['form_new'] = form
451 # kwargs['title'] = 'Experiment'
464 # kwargs['title'] = 'Experiment'
452 # kwargs['suptitle'] = 'New'
465 # kwargs['suptitle'] = 'New'
453 # kwargs['id_exp'] = 0
466 # kwargs['id_exp'] = 0
454 # return render_to_response("experiment.html", kwargs, context_instance=RequestContext(request))
467 # return render_to_response("experiment.html", kwargs, context_instance=RequestContext(request))
455
468
456 # def device(request, id_dev=0):
469 # def device(request, id_dev=0):
457 # kwargs = {}
470 # kwargs = {}
458 # if id_dev:
471 # if id_dev:
459 # device = Device.objects.get(pk=id_dev)
472 # device = Device.objects.get(pk=id_dev)
460 # kwargs['form'] = DeviceForm(instance=device)
473 # kwargs['form'] = DeviceForm(instance=device)
461 # kwargs['action'] = 'edit/'
474 # kwargs['action'] = 'edit/'
462 # kwargs['button'] = 'Update'
475 # kwargs['button'] = 'Update'
463 # kwargs['suptitle'] = 'Detail'
476 # kwargs['suptitle'] = 'Detail'
464 # else:
477 # else:
465 # devices = Device.objects.all()
478 # devices = Device.objects.all()
466 # kwargs['keys'] = ['device_type__name', 'ip_address']
479 # kwargs['keys'] = ['device_type__name', 'ip_address']
467 # keys = ['id']+kwargs['keys']
480 # keys = ['id']+kwargs['keys']
468 # kwargs['items'] = devices.values(*keys)
481 # kwargs['items'] = devices.values(*keys)
469 # kwargs['suptitle'] = 'List'
482 # kwargs['suptitle'] = 'List'
470 # kwargs['button'] = 'Add Device'
483 # kwargs['button'] = 'Add Device'
471 # return render_to_response("device.html", kwargs, context_instance=RequestContext(request))
484 # return render_to_response("device.html", kwargs, context_instance=RequestContext(request))
472 #
485 #
473 # def edit_device(request, id_dev):
486 # def edit_device(request, id_dev):
474 # if request.method=='POST':
487 # if request.method=='POST':
475 # device = Device.objects.get(pk=id_dev)
488 # device = Device.objects.get(pk=id_dev)
476 # form = DeviceForm(request.POST, instance=device)
489 # form = DeviceForm(request.POST, instance=device)
477 # if form.is_valid():
490 # if form.is_valid():
478 # form.save()
491 # form.save()
479 # return redirect('devices')
492 # return redirect('devices')
480 #
493 #
481 # def add_device(request):
494 # def add_device(request):
482 # kwargs = {}
495 # kwargs = {}
483 # if request.method == 'POST':
496 # if request.method == 'POST':
484 # form = DeviceForm(request.POST)
497 # form = DeviceForm(request.POST)
485 # if form.is_valid():
498 # if form.is_valid():
486 # form.save()
499 # form.save()
487 # return redirect('devices')
500 # return redirect('devices')
488 # else:
501 # else:
489 # form = DeviceForm()
502 # form = DeviceForm()
490 # kwargs['form'] = form
503 # kwargs['form'] = form
491 # kwargs['button'] = 'Create'
504 # kwargs['button'] = 'Create'
492 # kwargs['suptitle'] = 'New'
505 # kwargs['suptitle'] = 'New'
493 # return render_to_response("device.html", kwargs, context_instance=RequestContext(request))
506 # return render_to_response("device.html", kwargs, context_instance=RequestContext(request))
494
507
General Comments 0
You need to be logged in to leave comments. Login now