##// END OF EJS Templates
Task #1119: save and cancel button...
Fiorella Quino -
r270:ef93cf215be8
parent child
Show More
@@ -1,16 +1,16
1 {% extends "dev_conf.html" %}
1 {% extends "dev_conf.html" %}
2 {% load static %}
2 {% load static %}
3 {% load bootstrap3 %}
3 {% load bootstrap3 %}
4 {% load main_tags %}
4 {% load main_tags %}
5
5
6
6
7 {% block extra-content %}
7 {% block extra-content %}
8
8
9 <div class="clearfix"></div>
9 <div class="clearfix"></div>
10 <h2>JARS filter: {{resolution}} (MHz)</h2>
10 <h2>JARS filter: {{resolution}}</h2>
11 <hr>
11 <hr>
12 <div class="panel-group" id="div_lines" role="tablist" aria-multiselectable="true">
12 <div class="panel-group" id="div_lines" role="tablist" aria-multiselectable="true">
13 {% include "jars_filter.html" %}
13 {% include "jars_filter.html" %}
14 </div>
14 </div>
15
15
16 {% endblock extra-content%}
16 {% endblock extra-content%}
@@ -1,293 +1,311
1 from django.shortcuts import render_to_response
1 from django.shortcuts import render_to_response
2 from django.template import RequestContext
2 from django.template import RequestContext
3 from django.shortcuts import redirect, render, get_object_or_404
3 from django.shortcuts import redirect, render, get_object_or_404
4 from django.contrib import messages
4 from django.contrib import messages
5
5
6 from apps.main.models import Device
6 from apps.main.models import Device
7 from apps.main.views import sidebar
7 from apps.main.views import sidebar
8
8
9 from .models import JARSConfiguration, JARSfilter
9 from .models import JARSConfiguration, JARSfilter
10 from .forms import JARSConfigurationForm, JARSfilterForm, JARSImportForm
10 from .forms import JARSConfigurationForm, JARSfilterForm, JARSImportForm
11
11
12 import json
12 import json
13 # Create your views here.
13 # Create your views here.
14
14
15 def jars_conf(request, id_conf):
15 def jars_conf(request, id_conf):
16
16
17 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
17 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
18
18
19 filter_parms = eval(conf.filter_parms)
19 filter_parms = eval(conf.filter_parms)
20 if filter_parms.__class__.__name__=='str':
20 if filter_parms.__class__.__name__=='str':
21 filter_parms = eval(filter_parms)
21 filter_parms = eval(filter_parms)
22
22
23 kwargs = {}
23 kwargs = {}
24 kwargs['filter'] = filter_parms
24 kwargs['filter'] = filter_parms
25 kwargs['filter_keys'] = ['clock', 'mult', 'fch', 'fch_decimal',
25 kwargs['filter_keys'] = ['clock', 'mult', 'fch', 'fch_decimal',
26 'filter_fir', 'filter_2', 'filter_5']
26 'filter_fir', 'filter_2', 'filter_5']
27
27 filter_resolution=conf.filter_resolution()
28 filter_resolution=conf.filter_resolution()
28 kwargs['resolution'] = filter_resolution
29 kwargs['resolution'] = '{} (MHz)'.format(filter_resolution)
29
30 if filter_resolution < 1:
31 kwargs['resolution'] = '{} (kHz)'.format(filter_resolution*1000)
32
30 kwargs['status'] = conf.device.get_status_display()
33 kwargs['status'] = conf.device.get_status_display()
31
34
32
35
33 kwargs['dev_conf'] = conf
36 kwargs['dev_conf'] = conf
34 kwargs['dev_conf_keys'] = ['name',
37 kwargs['dev_conf_keys'] = ['name',
35 'cards_number', 'channels_number', 'channels',
38 'cards_number', 'channels_number', 'channels',
36 #'rd_directory', 'pd_directory',
39 #'rd_directory', 'pd_directory',
37 'data_type',
40 'data_type',
38 'acq_profiles', 'profiles_block', 'raw_data_blocks', 'ftp_interval', 'fftpoints',
41 'acq_profiles', 'profiles_block', 'raw_data_blocks', 'ftp_interval', 'fftpoints',
39 'cohe_integr_str', 'decode_data',
42 'cohe_integr_str', 'decode_data',
40 'incohe_integr', 'cohe_integr', 'spectral_number',
43 'incohe_integr', 'cohe_integr', 'spectral_number',
41 'spectral', 'create_directory', 'include_expname',
44 'spectral', 'create_directory', 'include_expname',
42 'save_ch_dc', 'save_data']
45 'save_ch_dc', 'save_data']
43
46
44 kwargs['title'] = 'JARS Configuration'
47 kwargs['title'] = 'JARS Configuration'
45 kwargs['suptitle'] = 'Details'
48 kwargs['suptitle'] = 'Details'
46
49
47 kwargs['button'] = 'Edit Configuration'
50 kwargs['button'] = 'Edit Configuration'
48
51
49 #kwargs['no_play'] = True
52 #kwargs['no_play'] = True
50
53
51 #kwargs['only_stop'] = True
54 #kwargs['only_stop'] = True
52
55
53 ###### SIDEBAR ######
56 ###### SIDEBAR ######
54 kwargs.update(sidebar(conf=conf))
57 kwargs.update(sidebar(conf=conf))
55
58
56 return render(request, 'jars_conf.html', kwargs)
59 return render(request, 'jars_conf.html', kwargs)
57
60
58 def jars_conf_edit(request, id_conf):
61 def jars_conf_edit(request, id_conf):
59
62
60 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
63 conf = get_object_or_404(JARSConfiguration, pk=id_conf)
61
64
62 filter_parms = eval(conf.filter_parms)
65 filter_parms = eval(conf.filter_parms)
63 if filter_parms.__class__.__name__=='str':
66 if filter_parms.__class__.__name__=='str':
64 filter_parms = eval(filter_parms)
67 filter_parms = eval(filter_parms)
65
68
66 if request.method=='GET':
69 if request.method=='GET':
67 form = JARSConfigurationForm(instance=conf)
70 form = JARSConfigurationForm(instance=conf)
68 filter_form = JARSfilterForm(initial=filter_parms)
71 filter_form = JARSfilterForm(initial=filter_parms)
69
72
70 if request.method=='POST':
73 if request.method=='POST':
71 form = JARSConfigurationForm(request.POST, instance=conf)
74 form = JARSConfigurationForm(request.POST, instance=conf)
72 filter_form = JARSfilterForm(request.POST)
75 filter_form = JARSfilterForm(request.POST)
73
76
74 if filter_form.is_valid():
77 if filter_form.is_valid():
75 jars_filter = filter_form.cleaned_data
78 jars_filter = filter_form.cleaned_data
76 try:
79 try:
77 jars_filter.pop('name')
80 jars_filter.pop('name')
78 except:
81 except:
79 pass
82 pass
80
83
81 if form.is_valid():
84 if form.is_valid():
82 conf = form.save(commit=False)
85 conf = form.save(commit=False)
83 conf.filter_parms = json.dumps(jars_filter)
86 conf.filter_parms = json.dumps(jars_filter)
84 conf.save()
87 conf.save()
85 return redirect('url_jars_conf', id_conf=conf.id)
88 return redirect('url_jars_conf', id_conf=conf.id)
86
89
87 kwargs = {}
90 kwargs = {}
88
91
89 kwargs['id_dev'] = conf.id
92 kwargs['id_dev'] = conf.id
90 kwargs['form'] = form
93 kwargs['form'] = form
91 kwargs['filter_form'] = filter_form
94 kwargs['filter_form'] = filter_form
92 kwargs['title'] = 'Device Configuration'
95 kwargs['title'] = 'Device Configuration'
93 kwargs['suptitle'] = 'Edit'
96 kwargs['suptitle'] = 'Edit'
94 kwargs['button'] = 'Save'
97 kwargs['button'] = 'Save'
95
98
96 return render(request, 'jars_conf_edit.html', kwargs)
99 return render(request, 'jars_conf_edit.html', kwargs)
97
100
98 def import_file(request, conf_id):
101 def import_file(request, conf_id):
99
102
100 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
103 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
101 if request.method=='POST':
104 if request.method=='POST':
102 form = JARSImportForm(request.POST, request.FILES)
105 form = JARSImportForm(request.POST, request.FILES)
103 if form.is_valid():
106 if form.is_valid():
104 #try:
107 #try:
105 if True:
108 if True:
106 data = conf.import_from_file(request.FILES['file_name'])
109 data = conf.import_from_file(request.FILES['file_name'])
107 conf.dict_to_parms(data)
110 conf.dict_to_parms(data)
108 messages.success(request, 'Configuration "%s" loaded succesfully' % request.FILES['file_name'])
111 messages.success(request, 'Configuration "%s" loaded succesfully' % request.FILES['file_name'])
109 return redirect(conf.get_absolute_url_edit())
112 return redirect(conf.get_absolute_url_edit())
110
113
111 #except Exception as e:
114 #except Exception as e:
112 # messages.error(request, 'Error parsing file: "%s" - %s' % (request.FILES['file_name'], e))
115 # messages.error(request, 'Error parsing file: "%s" - %s' % (request.FILES['file_name'], e))
113
116
114 else:
117 else:
115 messages.warning(request, 'Your current configuration will be replaced')
118 messages.warning(request, 'Your current configuration will be replaced')
116 form = JARSImportForm()
119 form = JARSImportForm()
117
120
118 kwargs = {}
121 kwargs = {}
119 kwargs['form'] = form
122 kwargs['form'] = form
120 kwargs['title'] = 'JARS Configuration'
123 kwargs['title'] = 'JARS Configuration'
121 kwargs['suptitle'] = 'Import file'
124 kwargs['suptitle'] = 'Import file'
122 kwargs['button'] = 'Upload'
125 kwargs['button'] = 'Upload'
123 kwargs['previous'] = conf.get_absolute_url()
126 kwargs['previous'] = conf.get_absolute_url()
124
127
125 return render(request, 'jars_import.html', kwargs)
128 return render(request, 'jars_import.html', kwargs)
126
129
127 def read_conf(request, conf_id):
130 def read_conf(request, conf_id):
128
131
129 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
132 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
130 #filter = get_object_or_404(JARSfilter, pk=filter_id)
133 #filter = get_object_or_404(JARSfilter, pk=filter_id)
131
134
132 if request.method=='GET':
135 if request.method=='GET':
133
136
134 parms = conf.read_device()
137 parms = conf.read_device()
135 conf.status_device()
138 conf.status_device()
136
139
137 if not parms:
140 if not parms:
138 messages.error(request, conf.message)
141 messages.error(request, conf.message)
139 return redirect(conf.get_absolute_url())
142 return redirect(conf.get_absolute_url())
140
143
141 form = JARSConfigurationForm(initial=parms, instance=conf)
144 form = JARSConfigurationForm(initial=parms, instance=conf)
142
145
143 if request.method=='POST':
146 if request.method=='POST':
144 form = JARSConfigurationForm(request.POST, instance=conf)
147 form = JARSConfigurationForm(request.POST, instance=conf)
145
148
146 if form.is_valid():
149 if form.is_valid():
147 form.save()
150 form.save()
148 return redirect(conf.get_absolute_url())
151 return redirect(conf.get_absolute_url())
149
152
150 messages.error(request, "Parameters could not be saved")
153 messages.error(request, "Parameters could not be saved")
151
154
152 kwargs = {}
155 kwargs = {}
153 kwargs['id_dev'] = conf.id
156 kwargs['id_dev'] = conf.id
154 kwargs['filter_id'] = conf.filter.id
157 kwargs['filter_id'] = conf.filter.id
155 kwargs['form'] = form
158 kwargs['form'] = form
156 kwargs['title'] = 'Device Configuration'
159 kwargs['title'] = 'Device Configuration'
157 kwargs['suptitle'] = 'Parameters read from device'
160 kwargs['suptitle'] = 'Parameters read from device'
158 kwargs['button'] = 'Save'
161 kwargs['button'] = 'Save'
159
162
160 ###### SIDEBAR ######
163 ###### SIDEBAR ######
161 kwargs.update(sidebar(conf=conf))
164 kwargs.update(sidebar(conf=conf))
162
165
163 return render(request, 'jars_conf_edit.html', kwargs)
166 return render(request, 'jars_conf_edit.html', kwargs)
164
167
165 def view_filter(request, conf_id, filter_id):
168 def view_filter(request, conf_id, filter_id):
166
169
167 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
170 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
168 filter = get_object_or_404(JARSfilter, pk=filter_id)
171 filter = get_object_or_404(JARSfilter, pk=filter_id)
169
172
170 filter_parms = eval(conf.filter_parms)
173 filter_parms = eval(conf.filter_parms)
171 if filter_parms.__class__.__name__=='str':
174 if filter_parms.__class__.__name__=='str':
172 filter_parms = eval(filter_parms)
175 filter_parms = eval(filter_parms)
173 #filter.name = filter_parms['name']
176 #filter.name = filter_parms['name']
174 filter.clock = filter_parms['clock']
177 filter.clock = filter_parms['clock']
175 filter.mult = filter_parms['mult']
178 filter.mult = filter_parms['mult']
176 filter.fch = filter_parms['fch']
179 filter.fch = filter_parms['fch']
177 filter.fch_decimal = filter_parms['fch_decimal']
180 filter.fch_decimal = filter_parms['fch_decimal']
178 filter.filter_fir = filter_parms['filter_fir']
181 filter.filter_fir = filter_parms['filter_fir']
179 filter.filter_2 = filter_parms['filter_2']
182 filter.filter_2 = filter_parms['filter_2']
180 filter.filter_5 = filter_parms['filter_5']
183 filter.filter_5 = filter_parms['filter_5']
181
184
182 kwargs = {}
185 kwargs = {}
183 kwargs['conf'] = conf
186 kwargs['conf'] = conf
184 kwargs['filter'] = filter
187 kwargs['filter'] = filter
185 kwargs['dev_conf'] = filter
188 kwargs['dev_conf'] = filter
186 kwargs['dev_conf_keys'] = ['clock', 'mult', #'name',
189 kwargs['dev_conf_keys'] = ['clock', 'mult', #'name',
187 'fch', 'fch_decimal',
190 'fch', 'fch_decimal',
188 'filter_2', 'filter_5',
191 'filter_2', 'filter_5',
189 'filter_fir']
192 'filter_fir']
190
193
191 kwargs['title'] = 'Filter View'
194 kwargs['title'] = 'Filter View'
192 kwargs['suptitle'] = 'Details'
195 kwargs['suptitle'] = 'Details'
193 kwargs['button'] = 'SI'
196 kwargs['button'] = 'SI'
194 kwargs['edit_button'] = 'Edit Filter'
197 kwargs['edit_button'] = 'Edit Filter'
195 kwargs['add_button'] = 'New Filter'
198 kwargs['add_button'] = 'New Filter'
196
199
197 return render(request, 'jars_filter.html', kwargs)
200 return render(request, 'jars_filter.html', kwargs)
198
201
199 def edit_filter(request, conf_id, filter_id):
202 def edit_filter(request, conf_id, filter_id):
200
203
201 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
204 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
202 filter_parms = eval(conf.filter_parms)
205 filter_parms = eval(conf.filter_parms)
203
206
204 if filter_id:
207 if filter_id:
205 filter = get_object_or_404(JARSfilter, pk=filter_id)
208 filter = get_object_or_404(JARSfilter, pk=filter_id)
206
209
207 if request.method=='GET':
210 if request.method=='GET':
208 form = JARSfilterForm(initial=filter_parms)
211 form = JARSfilterForm(initial=filter_parms)
209
212
210 if request.method=='POST':
213 if request.method=='POST':
211 parms = {}
214 parms = {}
212 #parms['name'] = request.POST['name']
215 #parms['name'] = request.POST['name']
213 parms['clock'] = request.POST['clock']
216 parms['clock'] = request.POST['clock']
214 parms['mult'] = request.POST['mult']
217 parms['mult'] = request.POST['mult']
215 parms['fch'] = request.POST['fch']
218 parms['fch'] = request.POST['fch']
216 parms['fch_decimal'] = request.POST['fch_decimal']
219 parms['fch_decimal'] = request.POST['fch_decimal']
217 parms['filter_fir'] = request.POST['filter_fir']
220 parms['filter_fir'] = request.POST['filter_fir']
218 parms['filter_2'] = request.POST['filter_2']
221 parms['filter_2'] = request.POST['filter_2']
219 parms['filter_5'] = request.POST['filter_5']
222 parms['filter_5'] = request.POST['filter_5']
220
223
221 conf.filter_parms = parms
224 conf.filter_parms = parms
222 conf.save()
225 conf.save()
223
226
224 #form = JARSfilterForm(request.POST)
227 #form = JARSfilterForm(request.POST)
225 #form = JARSfilterForm(request.POST, instance=filter)
228 #form = JARSfilterForm(request.POST, instance=filter)
226 #if form.is_valid():
229 #if form.is_valid():
227 #form.save()
230 #form.save()
228 # messages.success(request, 'JARS Filter successfully updated')
231 # messages.success(request, 'JARS Filter successfully updated')
229 # return redirect('url_jars_filter', conf.id, filter.id)
232 # return redirect('url_jars_filter', conf.id, filter.id)
230 return redirect('url_jars_filter', conf.id, filter.id)
233 return redirect('url_jars_filter', conf.id, filter.id)
231
234
232 kwargs = {}
235 kwargs = {}
233 kwargs['form'] = form
236 kwargs['form'] = form
234 kwargs['title'] = conf.name
237 kwargs['title'] = conf.name
235 kwargs['suptitle'] = 'Edit Filter'
238 kwargs['suptitle'] = 'Edit Filter'
236 kwargs['button'] = 'Save'
239 kwargs['button'] = 'Save'
237 # kwargs['previous'] = conf.get_absolute_url_edit()
240 # kwargs['previous'] = conf.get_absolute_url_edit()
238 kwargs['dev_conf'] = conf
241 kwargs['dev_conf'] = conf
239
242
240 return render(request, 'jars_filter_edit.html', kwargs)
243 return render(request, 'jars_filter_edit.html', kwargs)
241
244
242 def new_filter(request, conf_id):
245 def new_filter(request, conf_id):
243
246
244 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
247 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
245
248
246 if request.method=='GET':
249 if request.method=='GET':
247 form = JARSfilterForm()
250 form = JARSfilterForm()
248
251
249 if request.method=='POST':
252 if request.method=='POST':
250 form = JARSfilterForm(request.POST)
253 form = JARSfilterForm(request.POST)
251 if form.is_valid():
254 if form.is_valid():
252 form.save()
255 form.save()
253 new_filter = get_object_or_404(JARSfilter, name=request.POST['name'])
256 new_filter = get_object_or_404(JARSfilter, name=request.POST['name'])
254 conf.filter = new_filter
257 conf.filter = new_filter
255 conf.add_parms_to_filter()
258 conf.add_parms_to_filter()
256 messages.success(request, 'New JARS Filter successfully created')
259 messages.success(request, 'New JARS Filter successfully created')
257 return redirect('url_edit_jars_conf', id_conf=conf.id)
260 return redirect('url_edit_jars_conf', id_conf=conf.id)
258
261
259 kwargs = {}
262 kwargs = {}
260 kwargs['form'] = form
263 kwargs['form'] = form
261 kwargs['title'] = 'New Filter'
264 kwargs['title'] = 'New Filter'
262 kwargs['suptitle'] = ''
265 kwargs['suptitle'] = ''
263 kwargs['button'] = 'Create'
266 kwargs['button'] = 'Create'
264 # kwargs['previous'] = conf.get_absolute_url_edit()
267 # kwargs['previous'] = conf.get_absolute_url_edit()
265 kwargs['dev_conf'] = conf
268 kwargs['dev_conf'] = conf
266
269
267 return render(request, 'jars_new_filter.html', kwargs)
270 return render(request, 'jars_new_filter.html', kwargs)
268
271
269
272
270 def change_filter(request, conf_id, filter_id=None):
273 def change_filter(request, conf_id, filter_id=None):
271
274
272 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
275 conf = get_object_or_404(JARSConfiguration, pk=conf_id)
273
276
274 if filter_id:
277 if filter_id:
275 if filter_id.__class__.__name__ not in ['int', 'float']:
278 if filter_id.__class__.__name__ not in ['int', 'float']:
276 filter_id = eval(filter_id)
279 filter_id = eval(filter_id)
277
280
278 if filter_id == 0:
281 if filter_id == 0:
279 return redirect('url_change_jars_filter', conf_id=conf.id)
282 return redirect('url_change_jars_filter', conf_id=conf.id)
280
283
281 if request.method=='GET':
284 if request.method=='GET':
282 if not filter_id:
285 if not filter_id:
283 form = JARSfilterForm(initial={'jars_configuration':conf_id, 'filter_id': 0})
286 form = JARSfilterForm(initial={'jars_configuration':conf_id, 'filter_id': 0})
284 else:
287 else:
285 form = JARSfilterForm(initial={'jars_configuration':conf_id, 'filter_id': filter_id})
288 form = JARSfilterForm(initial={'jars_configuration':conf_id, 'filter_id': filter_id})
286
289
290 if request.method=='POST':
291 form = JARSfilterForm(request.POST)
292 if form.is_valid():
293 jars_filter = form.cleaned_data
294 try:
295 jars_filter.pop('name')
296 except:
297 pass
298 conf.filter_parms = json.dumps(jars_filter)
299 conf.save()
300 return redirect('url_edit_jars_conf', id_conf=conf.id)
301
302 print jars_filter
303
287 kwargs = {}
304 kwargs = {}
288 kwargs['title'] = 'JARS Configuration'
305 kwargs['title'] = 'JARS Configuration'
289 kwargs['suptitle'] = 'Change Filter'
306 kwargs['suptitle'] = 'Change Filter'
290 kwargs['form'] = form
307 kwargs['form'] = form
308 kwargs['button'] = 'Change'
291 kwargs['conf_id'] = conf.id
309 kwargs['conf_id'] = conf.id
292 kwargs['filter_id'] = filter_id
310 kwargs['filter_id'] = filter_id
293 return render(request, 'change_jars_filter.html', kwargs)
311 return render(request, 'change_jars_filter.html', kwargs)
General Comments 0
You need to be logged in to leave comments. Login now