##// END OF EJS Templates
Task #95...
Fiorella Quino -
r33:965cfced2db7
parent child
Show More
@@ -1,160 +1,162
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
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 r = requests.post(route, post_data)
82 session = requests.session()
83
84 r = session.post(route, data= post_data,headers= headers)
83 print r.url
85 print r.url
84 print r.text
86 print r.text
85
87
86
88
87
89
88
90
89 return redirect('url_cgs_conf', id_conf=conf.id)
91 return redirect('url_cgs_conf', id_conf=conf.id)
90
92
91 def cgs_conf_read(request, id_conf):
93 def cgs_conf_read(request, id_conf):
92
94
93 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
95 conf = get_object_or_404(CGSConfiguration, pk=id_conf)
94 ip=conf.device.ip_address
96 ip=conf.device.ip_address
95 port=conf.device.port_address
97 port=conf.device.port_address
96
98
97 if request.method=='POST':
99 if request.method=='POST':
98 form = CGSConfigurationForm(request.POST, instance=conf)
100 form = CGSConfigurationForm(request.POST, instance=conf)
99
101
100 if form.is_valid():
102 if form.is_valid():
101 cgs_model = form.save(commit=False)
103 cgs_model = form.save(commit=False)
102
104
103 if cgs_model.verify_frequencies():
105 if cgs_model.verify_frequencies():
104
106
105 cgs_model.save()
107 cgs_model.save()
106 return redirect('url_cgs_conf', id_conf=conf.id)
108 return redirect('url_cgs_conf', id_conf=conf.id)
107
109
108 messages.error(request, "Parameters could not be saved. Invalid parameters")
110 messages.error(request, "Parameters could not be saved. Invalid parameters")
109
111
110 data = {}
112 data = {}
111
113
112
114
113 if request.method=='GET':
115 if request.method=='GET':
114 #r: response = icon, status
116 #r: response = icon, status
115 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
117 route = "http://" + str(ip) + ":" + str(port) + "/status/ad9548"
116 r = requests.get(route)
118 r = requests.get(route)
117 response = str(r.text)
119 response = str(r.text)
118 response = response.split(";")
120 response = response.split(";")
119 icon = response[0]
121 icon = response[0]
120 status = response[-1]
122 status = response[-1]
121 #"icon" could be: "alert" or "okay"
123 #"icon" could be: "alert" or "okay"
122 if "okay" in icon:
124 if "okay" in icon:
123 messages.success(request, status)
125 messages.success(request, status)
124 else:
126 else:
125 messages.error(request, status)
127 messages.error(request, status)
126 #Get Frequencies
128 #Get Frequencies
127 frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
129 frequencies = requests.get('http://10.10.10.175:8080/frequencies/')
128 frequencies = frequencies.json()
130 frequencies = frequencies.json()
129 frequencies = frequencies.get("Frecuencias")
131 frequencies = frequencies.get("Frecuencias")
130 f0 = frequencies.get("f0")
132 f0 = frequencies.get("f0")
131 f1 = frequencies.get("f1")
133 f1 = frequencies.get("f1")
132 f2 = frequencies.get("f2")
134 f2 = frequencies.get("f2")
133 f3 = frequencies.get("f3")
135 f3 = frequencies.get("f3")
134 print f0,f1,f2,f3
136 print f0,f1,f2,f3
135
137
136 if not response:
138 if not response:
137 messages.error(request, "Could not read parameters from Device")
139 messages.error(request, "Could not read parameters from Device")
138 return redirect('url_cgs_conf', id_conf=conf.id)
140 return redirect('url_cgs_conf', id_conf=conf.id)
139
141
140 data = {'experiment' : conf.experiment.id,
142 data = {'experiment' : conf.experiment.id,
141 'device' : conf.device.id,
143 'device' : conf.device.id,
142 'freq0' : f0,
144 'freq0' : f0,
143 'freq1' : f1,
145 'freq1' : f1,
144 'freq2' : f2,
146 'freq2' : f2,
145 'freq3' : f3,
147 'freq3' : f3,
146 }
148 }
147
149
148 form = CGSConfigurationForm(data)
150 form = CGSConfigurationForm(initial = data)
149
151
150 kwargs = {}
152 kwargs = {}
151 kwargs['id_dev'] = conf.id
153 kwargs['id_dev'] = conf.id
152 kwargs['form'] = form
154 kwargs['form'] = form
153 kwargs['title'] = 'Device Configuration'
155 kwargs['title'] = 'Device Configuration'
154 kwargs['suptitle'] = 'Parameters read from device'
156 kwargs['suptitle'] = 'Parameters read from device'
155 kwargs['button'] = 'Save'
157 kwargs['button'] = 'Save'
156
158
157 ###### SIDEBAR ######
159 ###### SIDEBAR ######
158 kwargs.update(sidebar(conf))
160 kwargs.update(sidebar(conf))
159
161
160 return render(request, 'cgs_conf_edit.html', kwargs) No newline at end of file
162 return render(request, 'cgs_conf_edit.html', kwargs)
General Comments 0
You need to be logged in to leave comments. Login now