##// END OF EJS Templates
Task #95...
Fiorella Quino -
r34:078f6410a0e5
parent child
Show More
@@ -0,0 +1,7
1 {% extends "dev_conf_edit.html" %}
2 {% load bootstrap3 %}
3 {% load static %}
4 {% load main_tags %}
5
6 {% block extra-js%}
7 {% endblock %} No newline at end of file
@@ -1,15 +1,16
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_conf>-?\d+)/$', 'apps.cgs.views.cgs_conf', name='url_cgs_conf'),
4 url(r'^(?P<id_conf>-?\d+)/$', 'apps.cgs.views.cgs_conf', name='url_cgs_conf'),
5 url(r'^(?P<id_conf>-?\d+)/edit/$', 'apps.cgs.views.cgs_conf_edit', name='url_edit_cgs_conf'),
5 url(r'^(?P<id_conf>-?\d+)/edit/$', 'apps.cgs.views.cgs_conf_edit', name='url_edit_cgs_conf'),
6 #url(r'^(?P<id_conf>-?\d+)/(?P<message>-?\d+)/$', 'apps.cgs.views.cgs_conf', name='url_cgs_conf'),
6 #url(r'^(?P<id_conf>-?\d+)/(?P<message>-?\d+)/$', 'apps.cgs.views.cgs_conf', name='url_cgs_conf'),
7 url(r'^(?P<id_conf>-?\d+)/edit/$', 'apps.cgs.views.cgs_conf_edit', name='url_edit_cgs_conf'),
7 url(r'^(?P<id_conf>-?\d+)/edit/$', 'apps.cgs.views.cgs_conf_edit', name='url_edit_cgs_conf'),
8 url(r'^(?P<id_conf>-?\d+)/write/$', 'apps.cgs.views.cgs_conf_write', name='url_write_cgs_conf'),
8 url(r'^(?P<id_conf>-?\d+)/write/$', 'apps.cgs.views.cgs_conf_write', name='url_write_cgs_conf'),
9 url(r'^(?P<id_conf>-?\d+)/read/$', 'apps.cgs.views.cgs_conf_read', name='url_read_cgs_conf'),
9 url(r'^(?P<id_conf>-?\d+)/read/$', 'apps.cgs.views.cgs_conf_read', name='url_read_cgs_conf'),
10 #url(r'^(?P<id_conf>-?\d+)/write/$', 'apps.main.views.dev_conf_write', name='url_write_cgs_conf'),
10 #url(r'^(?P<id_conf>-?\d+)/write/$', 'apps.main.views.dev_conf_write', name='url_write_cgs_conf'),
11 #url(r'^(?P<id_conf>-?\d+)/read/$', 'apps.main.views.dev_conf_read', name='url_read_cgs_conf'),
11 #url(r'^(?P<id_conf>-?\d+)/read/$', 'apps.main.views.dev_conf_read', name='url_read_cgs_conf'),
12 url(r'^(?P<id_conf>-?\d+)/import/$', 'apps.main.views.dev_conf_import', name='url_import_cgs_conf'),
12 url(r'^(?P<id_conf>-?\d+)/import/$', 'apps.main.views.dev_conf_import', name='url_import_cgs_conf'),
13 #url(r'^(?P<id_conf>-?\d+)/export/$', 'apps.cgs.views.cgs_conf_export', name='url_export_cgs_conf'),
13 url(r'^(?P<id_conf>-?\d+)/export/$', 'apps.main.views.dev_conf_export', name='url_export_cgs_conf'),
14 url(r'^(?P<id_conf>-?\d+)/export/$', 'apps.main.views.dev_conf_export', name='url_export_cgs_conf'),
14 )
15 )
15
16
@@ -1,162 +1,172
1 from django.shortcuts import redirect, render, get_object_or_404
1 from django.shortcuts import redirect, render, get_object_or_404
2 from django.contrib import messages
2 from django.contrib import messages
3
3
4 from apps.main.models import Experiment, Configuration
4 from apps.main.models import Experiment, Configuration
5 from .models import CGSConfiguration
5 from .models import CGSConfiguration
6
6
7 from .forms import CGSConfigurationForm
7 from .forms import CGSConfigurationForm
8 from apps.main.views import sidebar
8 from apps.main.views import sidebar
9
9
10 import requests
10 import requests
11 # Create your views here.
11 # Create your views here.
12
12
13 def cgs_conf(request, id_conf):
13 def cgs_conf(request, id_conf):
14
14
15 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
15 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
16
16
17 ip=conf.device.ip_address
17 ip=conf.device.ip_address
18 port=conf.device.port_address
18 port=conf.device.port_address
19
19
20 kwargs = {}
20 kwargs = {}
21 kwargs['dev_conf'] = conf
21 kwargs['dev_conf'] = conf
22 kwargs['dev_conf_keys'] = ['experiment', 'device',
22 kwargs['dev_conf_keys'] = ['experiment', 'device',
23 'freq0', 'freq1',
23 'freq0', 'freq1',
24 'freq2', 'freq3']
24 'freq2', 'freq3']
25
25
26 kwargs['title'] = 'CGS Configuration'
26 kwargs['title'] = 'CGS Configuration'
27 kwargs['suptitle'] = 'Details'
27 kwargs['suptitle'] = 'Details'
28
28
29 kwargs['button'] = 'Edit Configuration'
29 kwargs['button'] = 'Edit Configuration'
30
30
31 ###### SIDEBAR ######
31 ###### SIDEBAR ######
32 kwargs.update(sidebar(conf))
32 kwargs.update(sidebar(conf))
33
33
34 return render(request, 'cgs_conf.html', kwargs)
34 return render(request, 'cgs_conf.html', kwargs)
35
35
36 def cgs_conf_edit(request, id_conf):
36 def cgs_conf_edit(request, id_conf):
37
37
38 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
38 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
39
39
40 if request.method=='GET':
40 if request.method=='GET':
41 form = CGSConfigurationForm(instance=conf)
41 form = CGSConfigurationForm(instance=conf)
42
42
43 if request.method=='POST':
43 if request.method=='POST':
44 form = CGSConfigurationForm(request.POST, instance=conf)
44 form = CGSConfigurationForm(request.POST, instance=conf)
45
45
46 if form.is_valid():
46 if form.is_valid():
47 conf = form.save(commit=False)
47 conf = form.save(commit=False)
48
48
49 if conf.verify_frequencies():
49 if conf.verify_frequencies():
50
50
51 conf.save()
51 conf.save()
52 return redirect('url_cgs_conf', id_conf=conf.id)
52 return redirect('url_cgs_conf', id_conf=conf.id)
53
53
54 ##ERRORS
54 ##ERRORS
55
55
56 kwargs = {}
56 kwargs = {}
57 kwargs['id_dev'] = conf.id
57 kwargs['id_dev'] = conf.id
58 kwargs['form'] = form
58 kwargs['form'] = form
59 kwargs['title'] = 'Device Configuration'
59 kwargs['title'] = 'Device Configuration'
60 kwargs['suptitle'] = 'Edit'
60 kwargs['suptitle'] = 'Edit'
61 kwargs['button'] = 'Save'
61 kwargs['button'] = 'Save'
62
62
63 ###### SIDEBAR ######
63 ###### SIDEBAR ######
64 kwargs.update(sidebar(conf))
64 kwargs.update(sidebar(conf))
65
65
66 return render(request, 'cgs_conf_edit.html', kwargs)
66 return render(request, 'cgs_conf_edit.html', kwargs)
67
67
68 def cgs_conf_write(request, id_conf):
68 def cgs_conf_write(request, id_conf):
69
69
70 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
70 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
71 ip=conf.device.ip_address
71 ip=conf.device.ip_address
72 port=conf.device.port_address
72 port=conf.device.port_address
73
73
74 #Frequencies from form
74 #Frequencies from form
75 f0 = conf.freq0
75 f0 = conf.freq0
76 f1 = conf.freq1
76 f1 = conf.freq1
77 f2 = conf.freq2
77 f2 = conf.freq2
78 f3 = conf.freq3
78 f3 = conf.freq3
79 headers = {'User-Agent': 'Mozilla/5.0'}
79 headers = {'User-Agent': 'Mozilla/5.0'}
80 post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
80 post_data = {"f0":f0, "f1":f1, "f2":f2, "f3":f3}
81 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
81 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
82 session = requests.session()
82 session = requests.session()
83
83
84 r = session.post(route, data= post_data,headers= headers)
84 r = session.post(route, data= post_data,headers= headers)
85 print r.url
85 print r.url
86 print r.text
86 print r.text
87
87
88
88
89
89
90
90
91 return redirect('url_cgs_conf', id_conf=conf.id)
91 return redirect('url_cgs_conf', id_conf=conf.id)
92
92
93 def cgs_conf_read(request, id_conf):
93 def cgs_conf_read(request, id_conf):
94
94
95 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
95 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
96 ip=conf.device.ip_address
96 ip=conf.device.ip_address
97 port=conf.device.port_address
97 port=conf.device.port_address
98
98
99 if request.method=='POST':
99 if request.method=='POST':
100 form = CGSConfigurationForm(request.POST, instance=conf)
100 form = CGSConfigurationForm(request.POST, instance=conf)
101
101
102 if form.is_valid():
102 if form.is_valid():
103 cgs_model = form.save(commit=False)
103 cgs_model = form.save(commit=False)
104
104
105 if cgs_model.verify_frequencies():
105 if cgs_model.verify_frequencies():
106
106
107 cgs_model.save()
107 cgs_model.save()
108 return redirect('url_cgs_conf', id_conf=conf.id)
108 return redirect('url_cgs_conf', id_conf=conf.id)
109
109
110 messages.error(request, "Parameters could not be saved. Invalid parameters")
110 messages.error(request, "Parameters could not be saved. Invalid parameters")
111
111
112 data = {}
112 data = {}
113
113
114
114
115 if request.method=='GET':
115 if request.method=='GET':
116 #r: response = icon, status
116 #r: response = icon, status
117 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
117 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
118 r = requests.get(route)
118 r = requests.get(route)
119 response = str(r.text)
119 response = str(r.text)
120 response = response.split(";")
120 response = response.split(";")
121 icon = response[0]
121 icon = response[0]
122 status = response[-1]
122 status = response[-1]
123 #"icon" could be: "alert" or "okay"
123 #"icon" could be: "alert" or "okay"
124 if "okay" in icon:
124 if "okay" in icon:
125 messages.success(request, status)
125 messages.success(request, status)
126 else:
126 else:
127 messages.error(request, status)
127 messages.error(request, status)
128 #Get Frequencies
128 #Get Frequencies
129 frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
129 route = "http://" + str(ip) + ":" + str(port) + "/frequencies/"
130 #frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
131 frequencies = requests.get(route)
130 frequencies = frequencies.json()
132 frequencies = frequencies.json()
131 frequencies = frequencies.get("Frecuencias")
133 frequencies = frequencies.get("Frecuencias")
132 f0 = frequencies.get("f0")
134 f0 = frequencies.get("f0")
133 f1 = frequencies.get("f1")
135 f1 = frequencies.get("f1")
134 f2 = frequencies.get("f2")
136 f2 = frequencies.get("f2")
135 f3 = frequencies.get("f3")
137 f3 = frequencies.get("f3")
136 print f0,f1,f2,f3
138 print f0,f1,f2,f3
137
139
138 if not response:
140 if not response:
139 messages.error(request, "Could not read parameters from Device")
141 messages.error(request, "Could not read parameters from Device")
140 return redirect('url_cgs_conf', id_conf=conf.id)
142 return redirect('url_cgs_conf', id_conf=conf.id)
141
143
142 data = {'experiment' : conf.experiment.id,
144 data = {'experiment' : conf.experiment.id,
143 'device' : conf.device.id,
145 'device' : conf.device.id,
144 'freq0' : f0,
146 'freq0' : f0,
145 'freq1' : f1,
147 'freq1' : f1,
146 'freq2' : f2,
148 'freq2' : f2,
147 'freq3' : f3,
149 'freq3' : f3,
148 }
150 }
149
151
150 form = CGSConfigurationForm(initial = data)
152 form = CGSConfigurationForm(initial = data)
151
153
152 kwargs = {}
154 kwargs = {}
153 kwargs['id_dev'] = conf.id
155 kwargs['id_dev'] = conf.id
154 kwargs['form'] = form
156 kwargs['form'] = form
155 kwargs['title'] = 'Device Configuration'
157 kwargs['title'] = 'Device Configuration'
156 kwargs['suptitle'] = 'Parameters read from device'
158 kwargs['suptitle'] = 'Parameters read from device'
157 kwargs['button'] = 'Save'
159 kwargs['button'] = 'Save'
158
160
159 ###### SIDEBAR ######
161 ###### SIDEBAR ######
160 kwargs.update(sidebar(conf))
162 kwargs.update(sidebar(conf))
161
163
162 return render(request, 'cgs_conf_edit.html', kwargs) No newline at end of file
164 return render(request, 'cgs_conf_edit.html', kwargs)
165
166 #def cgs_conf_export(request, id_conf):
167
168 # conf = get_object_or_404(CGSConfiguration, pk=id_conf)
169 # ip=conf.device.ip_address
170 # port=conf.device.port_address
171
172 # return render(request, 'cgs_conf_export.html', kwargs) No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now