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