##// END OF EJS Templates
- Agregada la barra de perfil y patron activo.
jsalyrosas -
r208:209
parent child
Show More
1 NO CONTENT: new file 10644
NO CONTENT: new file 10644
@@ -1,531 +1,552
1 from django.shortcuts import render_to_response, redirect
1 from django.shortcuts import render_to_response, redirect
2 from django.http import HttpResponse
2 from django.http import HttpResponse
3 from django.conf import settings
3 from django.conf import settings
4 from django.utils.encoding import smart_str
4 from django.utils.encoding import smart_str
5 from django.core.servers.basehttp import FileWrapper
5 from django.core.servers.basehttp import FileWrapper
6 import mimetypes
6 import mimetypes
7 from django.contrib.auth.decorators import login_required
7 from django.contrib.auth.decorators import login_required
8 from django.template import RequestContext
8 from django.template import RequestContext
9
9
10 from datetime import datetime
10 from datetime import datetime
11 import os
11 import os
12 from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp
12 from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp
13
13
14 from util.readABSFile import readABSFile
14 from util.readABSFile import readABSFile
15 from util.saveABSFile import saveABSFile
15 from util.saveABSFile import saveABSFile
16 from util.ABSData import ABSData
16 from util.ABSData import ABSData
17 from util.OverJRO import OverJRO
17 from util.OverJRO import OverJRO
18 from scripts.sendFile import sendFile
18 from scripts.sendFile import sendFile
19 from scripts.changeBeam import changeBeam
19 from scripts.changeBeam import changeBeam
20 from overJroShow import overJroShow
20 from overJroShow import overJroShow
21
21
22 arrayTx = [["0","0","0","0","0","0","0","0"],\
22 arrayTx = [["0","0","0","0","0","0","0","0"],\
23 ["0","0","0","0","0","0","0","0"],\
23 ["0","0","0","0","0","0","0","0"],\
24 ["0","0","0","0","0","0","0","0"],\
24 ["0","0","0","0","0","0","0","0"],\
25 ["0","0","0","0","0","0","0","0"],\
25 ["0","0","0","0","0","0","0","0"],\
26 ["0","0","0","0","0","0","0","0"],\
26 ["0","0","0","0","0","0","0","0"],\
27 ["0","0","0","0","0","0","0","0"],\
27 ["0","0","0","0","0","0","0","0"],\
28 ["0","0","0","0","0","0","0","0"],\
28 ["0","0","0","0","0","0","0","0"],\
29 ["0","0","0","0","0","0","0","0"]]
29 ["0","0","0","0","0","0","0","0"]]
30
30
31 arrayUes = ["0.533333","0.00000","1.06667","0.00000"]
31 arrayUes = ["0.533333","0.00000","1.06667","0.00000"]
32
32
33 @login_required(login_url='/accounts/login/')
33 @login_required(login_url='/accounts/login/')
34 def index(request):
34 def index(request):
35 #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5]
35 #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5]
36 profile_list = Profile.objects.filter(state=1)
36 profile_list = Profile.objects.filter(state=1)
37 return render_to_response('abscontrol/index.html', {'profile_list': profile_list}, context_instance=RequestContext(request))
37 return render_to_response('abscontrol/index.html', {'profile_list': profile_list}, context_instance=RequestContext(request))
38
38
39 def new(request):
39 def new(request):
40 profile_list = Profile.objects.filter(state=1)
40 profile_list = Profile.objects.filter(state=1)
41 txtProfile = datetime.now().strftime("%Y%m%d%H%M%S%f")
41 txtProfile = datetime.now().strftime("%Y%m%d%H%M%S%f")
42 newprofile = Profile(name=txtProfile)
42 newprofile = Profile(name=txtProfile)
43 newprofile.save()
43 newprofile.save()
44
44
45 lsPatterns = None
45 lsPatterns = None
46
46
47 return render_to_response('abscontrol/new.html', {'profile_list': profile_list,
47 return render_to_response('abscontrol/new.html', {'profile_list': profile_list,
48 'profile_name' : newprofile.name,
48 'profile_name' : newprofile.name,
49 'profile_id' : newprofile.id,
49 'profile_id' : newprofile.id,
50 'lsPatterns' : lsPatterns,
50 'lsPatterns' : lsPatterns,
51 'range' : range(8), 'arrayUes' : arrayUes,
51 'range' : range(8), 'arrayUes' : arrayUes,
52 }, context_instance=RequestContext(request))
52 }, context_instance=RequestContext(request))
53
53
54 def save(request):
54 def save(request):
55
55
56 txtProfile = request.POST["txtProfile"]
56 txtProfile = request.POST["txtProfile"]
57
57
58 txtAntennaUp = request.POST["txtAntennaUp"]
58 txtAntennaUp = request.POST["txtAntennaUp"]
59 txtTxUp = request.POST["txtTxUp"]
59 txtTxUp = request.POST["txtTxUp"]
60 txtRxUp = request.POST["txtRxUp"]
60 txtRxUp = request.POST["txtRxUp"]
61 txtUesUp = request.POST["txtUesUp"]
61 txtUesUp = request.POST["txtUesUp"]
62
62
63 txtAntennaDown = request.POST["txtAntennaDown"]
63 txtAntennaDown = request.POST["txtAntennaDown"]
64 txtTxDown = request.POST["txtTxDown"]
64 txtTxDown = request.POST["txtTxDown"]
65 txtRxDown = request.POST["txtRxDown"]
65 txtRxDown = request.POST["txtRxDown"]
66 txtUesDown = request.POST["txtUesDown"]
66 txtUesDown = request.POST["txtUesDown"]
67
67
68 newprofile = Profile(name=txtProfile)
68 newprofile = Profile(name=txtProfile)
69 newprofile.save()
69 newprofile.save()
70
70
71 newpattern = newprofile.pattern_set.create(value=1)
71 newpattern = newprofile.pattern_set.create(value=1)
72 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
72 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
73 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
73 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
74
74
75 newurl = '/abscontrol/view/%d' % newprofile.id
75 newurl = '/abscontrol/view/%d' % newprofile.id
76
76
77 return redirect(newurl)
77 return redirect(newurl)
78
78
79 # Update temporal experiment
79 # Update temporal experiment
80 def upgrade(request, profile_id):
80 def upgrade(request, profile_id):
81 txtAntennaUp = request.POST["txtAntennaUp"]
81 txtAntennaUp = request.POST["txtAntennaUp"]
82 txtTxUp = request.POST["txtTxUp"]
82 txtTxUp = request.POST["txtTxUp"]
83 txtRxUp = request.POST["txtRxUp"]
83 txtRxUp = request.POST["txtRxUp"]
84 txtUesUp = request.POST["txtUesUp"]
84 txtUesUp = request.POST["txtUesUp"]
85
85
86 txtAntennaDown = request.POST["txtAntennaDown"]
86 txtAntennaDown = request.POST["txtAntennaDown"]
87 txtTxDown = request.POST["txtTxDown"]
87 txtTxDown = request.POST["txtTxDown"]
88 txtRxDown = request.POST["txtRxDown"]
88 txtRxDown = request.POST["txtRxDown"]
89 txtUesDown = request.POST["txtUesDown"]
89 txtUesDown = request.POST["txtUesDown"]
90
90
91 objProfile = Profile.objects.get(pk=profile_id)
91 objProfile = Profile.objects.get(pk=profile_id)
92 newpattern = objProfile.pattern_set.create(value=1)
92 newpattern = objProfile.pattern_set.create(value=1)
93 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
93 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
94 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
94 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
95
95
96 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id)
96 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id)
97 return redirect(newurl)
97 return redirect(newurl)
98
98
99 def update(request, profile_id):
99 def update(request, profile_id):
100 txtProfile = request.POST["txtProfile"]
100 txtProfile = request.POST["txtProfile"]
101
101
102 objProfile = Profile.objects.get(pk=profile_id)
102 objProfile = Profile.objects.get(pk=profile_id)
103 objProfile.name = txtProfile
103 objProfile.name = txtProfile
104 objProfile.state = 1
104 objProfile.state = 1
105 objProfile.save()
105 objProfile.save()
106
106
107 newurl = '/abscontrol/view/%d' % objProfile.id
107 newurl = '/abscontrol/view/%d' % objProfile.id
108 return redirect(newurl)
108 return redirect(newurl)
109
109
110 def changeName(request, profile_id):
110 def changeName(request, profile_id):
111 profile_list = Profile.objects.filter(state=1)
111 profile_list = Profile.objects.filter(state=1)
112 objProfile = Profile.objects.get(pk=profile_id)
112 objProfile = Profile.objects.get(pk=profile_id)
113 lsPatterns = objProfile.pattern_set.all()
113 lsPatterns = objProfile.pattern_set.all()
114
114
115 return render_to_response('abscontrol/changeName.html', {'profile_list': profile_list,
115 return render_to_response('abscontrol/changeName.html', {'profile_list': profile_list,
116 'objProfile': objProfile,
116 'objProfile': objProfile,
117 'lsPatterns' : lsPatterns,
117 'lsPatterns' : lsPatterns,
118 }, context_instance=RequestContext(request))
118 }, context_instance=RequestContext(request))
119
119
120 def view(request, profile_id):
120 def view(request, profile_id):
121 objProfileActive = None
122 objPatternActive = None
123
121 if request.method == 'GET' and 'pattern' in request.GET:
124 if request.method == 'GET' and 'pattern' in request.GET:
122 pattern_value = request.GET["pattern"]
125 pattern_value = request.GET["pattern"]
123 else:
126 else:
124 pattern_value = 1
127 pattern_value = 1
125
128
126 profile_list = Profile.objects.filter(state=1)
129 profile_list = Profile.objects.filter(state=1)
127 objProfile = Profile.objects.get(pk=profile_id)
130 objProfile = Profile.objects.get(pk=profile_id)
128
131
129 lsPatterns = objProfile.pattern_set.all()
132 lsPatterns = objProfile.pattern_set.all()
130 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
133 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
131 objAntennaUp = patternChoosen.antennaup_set.get()
134 objAntennaUp = patternChoosen.antennaup_set.get()
132 objAntennaDown = patternChoosen.antennadown_set.get()
135 objAntennaDown = patternChoosen.antennadown_set.get()
133
136
137 lsProfilesActive = Profile.objects.filter(is_active=1)
138 if len(lsProfilesActive) > 0:
139 objProfileActive = Profile.objects.get(is_active=1)
140
141 lsPatternsActive = Pattern.objects.filter(is_active=1)
142 if len(lsPatternsActive) > 0:
143 objPatternActive = Pattern.objects.get(is_active=1)
144
134 return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list,
145 return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list,
135 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
146 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
136 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
147 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
148 'profileActive' : objProfileActive, 'patternActive' : objPatternActive,
137 }, context_instance=RequestContext(request))
149 }, context_instance=RequestContext(request))
138
150
139 def edit(request, profile_id):
151 def edit(request, profile_id):
140 if request.method == 'GET' and 'pattern' in request.GET:
152 if request.method == 'GET' and 'pattern' in request.GET:
141 pattern_value = request.GET["pattern"]
153 pattern_value = request.GET["pattern"]
142 else:
154 else:
143 pattern_value = 1
155 pattern_value = 1
144
156
145 absData = ABSData()
157 absData = ABSData()
146 profile_list = Profile.objects.filter(state=1)
158 profile_list = Profile.objects.filter(state=1)
147 objProfile = Profile.objects.get(pk=profile_id)
159 objProfile = Profile.objects.get(pk=profile_id)
148
160
149 lsPatterns = objProfile.pattern_set.all()
161 lsPatterns = objProfile.pattern_set.all()
150 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
162 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
151 objAntennaUp = patternChoosen.antennaup_set.get()
163 objAntennaUp = patternChoosen.antennaup_set.get()
152 objAntennaDown = patternChoosen.antennadown_set.get()
164 objAntennaDown = patternChoosen.antennadown_set.get()
153
165
154 arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value)
166 arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value)
155 if objAntennaUp.tx != None:
167 if objAntennaUp.tx != None:
156 arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx)
168 arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx)
157 else:
169 else:
158 arrayTxUp = arrayTx
170 arrayTxUp = arrayTx
159 if objAntennaUp.rx != None:
171 if objAntennaUp.rx != None:
160 arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx)
172 arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx)
161 else:
173 else:
162 arrayRxUp = arrayTx
174 arrayRxUp = arrayTx
163 if objAntennaUp.ues != None:
175 if objAntennaUp.ues != None:
164 arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues)
176 arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues)
165 else:
177 else:
166 arrayUesUp = arrayUes
178 arrayUesUp = arrayUes
167
179
168 arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value)
180 arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value)
169 if objAntennaDown.tx != None:
181 if objAntennaDown.tx != None:
170 arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx)
182 arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx)
171 else:
183 else:
172 arrayTxDown = arrayTx
184 arrayTxDown = arrayTx
173 if objAntennaDown.rx != None:
185 if objAntennaDown.rx != None:
174 arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx)
186 arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx)
175 else:
187 else:
176 arrayRxDown = arrayTx
188 arrayRxDown = arrayTx
177 if objAntennaDown.ues != None:
189 if objAntennaDown.ues != None:
178 arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues)
190 arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues)
179 else:
191 else:
180 arrayUesDown = arrayUes
192 arrayUesDown = arrayUes
181
193
182 return render_to_response('abscontrol/edit.html', {'objProfile': objProfile, 'profile_list': profile_list,
194 return render_to_response('abscontrol/edit.html', {'objProfile': objProfile, 'profile_list': profile_list,
183 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
195 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
184 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
196 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
185 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp,
197 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp,
186 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown,
198 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown,
187 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown,
199 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown,
188 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown,
200 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown,
189 }, context_instance=RequestContext(request))
201 }, context_instance=RequestContext(request))
190
202
191 def addPattern(request, profile_id):
203 def addPattern(request, profile_id):
192 profile_list = Profile.objects.filter(state=1)
204 profile_list = Profile.objects.filter(state=1)
193 objProfile = Profile.objects.get(pk=profile_id)
205 objProfile = Profile.objects.get(pk=profile_id)
194
206
195 return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
207 return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
196 'range' : range(8), 'arrayUes' : arrayUes,
208 'range' : range(8), 'arrayUes' : arrayUes,
197 }, context_instance=RequestContext(request))
209 }, context_instance=RequestContext(request))
198
210
199 def editPattern(request, profile_id, pattern_id):
211 def editPattern(request, profile_id, pattern_id):
200 absData = ABSData()
212 absData = ABSData()
201 profile_list = Profile.objects.filter(state=1)
213 profile_list = Profile.objects.filter(state=1)
202 objProfile = Profile.objects.get(pk=profile_id)
214 objProfile = Profile.objects.get(pk=profile_id)
203 lsPatterns = objProfile.pattern_set.all()
215 lsPatterns = objProfile.pattern_set.all()
204 patternChoosen = Pattern.objects.get(pk=pattern_id)
216 patternChoosen = Pattern.objects.get(pk=pattern_id)
205 objAntennaUp = patternChoosen.antennaup_set.get()
217 objAntennaUp = patternChoosen.antennaup_set.get()
206 objAntennaDown = patternChoosen.antennadown_set.get()
218 objAntennaDown = patternChoosen.antennadown_set.get()
207
219
208 arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value)
220 arrayAntennaUp = absData.convertStringtoList2(objAntennaUp.value)
209 if objAntennaUp.tx != None:
221 if objAntennaUp.tx != None:
210 arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx)
222 arrayTxUp = absData.convertStringtoList2(objAntennaUp.tx)
211 else:
223 else:
212 arrayTxUp = arrayTx
224 arrayTxUp = arrayTx
213 if objAntennaUp.rx != None:
225 if objAntennaUp.rx != None:
214 arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx)
226 arrayRxUp = absData.convertStringtoList2(objAntennaUp.rx)
215 else:
227 else:
216 arrayRxUp = arrayTx
228 arrayRxUp = arrayTx
217 if objAntennaUp.ues != None:
229 if objAntennaUp.ues != None:
218 arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues)
230 arrayUesUp = absData.convertStringtoList1(objAntennaUp.ues)
219 else:
231 else:
220 arrayUesUp = arrayUes
232 arrayUesUp = arrayUes
221
233
222 arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value)
234 arrayAntennaDown = absData.convertStringtoList2(objAntennaDown.value)
223 if objAntennaDown.tx != None:
235 if objAntennaDown.tx != None:
224 arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx)
236 arrayTxDown = absData.convertStringtoList2(objAntennaDown.tx)
225 else:
237 else:
226 arrayTxDown = arrayTx
238 arrayTxDown = arrayTx
227 if objAntennaDown.rx != None:
239 if objAntennaDown.rx != None:
228 arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx)
240 arrayRxDown = absData.convertStringtoList2(objAntennaDown.rx)
229 else:
241 else:
230 arrayRxDown = arrayTx
242 arrayRxDown = arrayTx
231 if objAntennaDown.ues != None:
243 if objAntennaDown.ues != None:
232 arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues)
244 arrayUesDown = absData.convertStringtoList1(objAntennaDown.ues)
233 else:
245 else:
234 arrayUesDown = arrayUes
246 arrayUesDown = arrayUes
235
247
236 return render_to_response('abscontrol/editPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
248 return render_to_response('abscontrol/editPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
237 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
249 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
238 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
250 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
239 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp,
251 'arrayAntennaUp' : arrayAntennaUp, 'arrayTxUp' : arrayTxUp,
240 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown,
252 'arrayRxUp' : arrayRxUp, 'arrayRxDown' : arrayRxDown,
241 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown,
253 'arrayAntennaDown' : arrayAntennaDown, 'arrayTxDown' : arrayTxDown,
242 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown,
254 'arrayUesUp' : arrayUesUp, 'arrayUesDown' : arrayUesDown,
243 }, context_instance=RequestContext(request))
255 }, context_instance=RequestContext(request))
244
256
245 def savePattern(request, profile_id):
257 def savePattern(request, profile_id):
246 pattern_id = 0
258 pattern_id = 0
247 method = "save"
259 method = "save"
248
260
249 if 'pattern_id' in request.POST:
261 if 'pattern_id' in request.POST:
250 pattern_id = request.POST["pattern_id"]
262 pattern_id = request.POST["pattern_id"]
251 method = "update"
263 method = "update"
252
264
253 maxValuePattern = 0
265 maxValuePattern = 0
254 txtAntennaUp = request.POST["txtAntennaUp"]
266 txtAntennaUp = request.POST["txtAntennaUp"]
255 txtTxUp = request.POST["txtTxUp"]
267 txtTxUp = request.POST["txtTxUp"]
256 txtRxUp = request.POST["txtRxUp"]
268 txtRxUp = request.POST["txtRxUp"]
257 txtUesUp = request.POST["txtUesUp"]
269 txtUesUp = request.POST["txtUesUp"]
258
270
259 txtAntennaDown = request.POST["txtAntennaDown"]
271 txtAntennaDown = request.POST["txtAntennaDown"]
260 txtTxDown = request.POST["txtTxDown"]
272 txtTxDown = request.POST["txtTxDown"]
261 txtRxDown = request.POST["txtRxDown"]
273 txtRxDown = request.POST["txtRxDown"]
262 txtUesDown = request.POST["txtUesDown"]
274 txtUesDown = request.POST["txtUesDown"]
263
275
264 mode = request.POST["mode"]
276 mode = request.POST["mode"]
265
277
266 if method == "save":
278 if method == "save":
267 objProfile = Profile.objects.get(pk=profile_id)
279 objProfile = Profile.objects.get(pk=profile_id)
268 lsPatterns = objProfile.pattern_set.all()
280 lsPatterns = objProfile.pattern_set.all()
269 if len(lsPatterns) > 0:
281 if len(lsPatterns) > 0:
270 for element in lsPatterns:
282 for element in lsPatterns:
271 if element.value > maxValuePattern:
283 if element.value > maxValuePattern:
272 maxPattern = element.value
284 maxPattern = element.value
273 else:
285 else:
274 maxPattern = 0
286 maxPattern = 0
275
287
276 if maxPattern < 10 :
288 if maxPattern < 10 :
277 newValuePattern = maxPattern + 1
289 newValuePattern = maxPattern + 1
278 newpattern = objProfile.pattern_set.create(value=newValuePattern)
290 newpattern = objProfile.pattern_set.create(value=newValuePattern)
279 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
291 newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp)
280 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
292 newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown)
281 error = 0
293 error = 0
282 else:
294 else:
283 error = 1 # Can not add more patterns
295 error = 1 # Can not add more patterns
284
296
285 if mode == "e":
297 if mode == "e":
286 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id)
298 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id)
287 else:
299 else:
288 newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id)
300 newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id)
289 else:
301 else:
290 txtAntennaUpId = request.POST["txtAntennaUpId"]
302 txtAntennaUpId = request.POST["txtAntennaUpId"]
291 objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId)
303 objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId)
292 objAntennaUp.value = txtAntennaUp
304 objAntennaUp.value = txtAntennaUp
293 objAntennaUp.tx = txtTxUp
305 objAntennaUp.tx = txtTxUp
294 objAntennaUp.rx = txtRxUp
306 objAntennaUp.rx = txtRxUp
295 objAntennaUp.ues = txtUesUp
307 objAntennaUp.ues = txtUesUp
296 objAntennaUp.save()
308 objAntennaUp.save()
297
309
298 txtAntennaDownId = request.POST["txtAntennaDownId"]
310 txtAntennaDownId = request.POST["txtAntennaDownId"]
299 objAntennaDown = AntennaDown.objects.get(pk=txtAntennaDownId)
311 objAntennaDown = AntennaDown.objects.get(pk=txtAntennaDownId)
300 objAntennaDown.value = txtAntennaDown
312 objAntennaDown.value = txtAntennaDown
301 objAntennaDown.tx = txtTxDown
313 objAntennaDown.tx = txtTxDown
302 objAntennaDown.rx = txtRxDown
314 objAntennaDown.rx = txtRxDown
303 objAntennaDown.ues = txtUesDown
315 objAntennaDown.ues = txtUesDown
304 objAntennaDown.save()
316 objAntennaDown.save()
305
317
306 if mode == "e":
318 if mode == "e":
307 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), int(pattern_id))
319 newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), int(pattern_id))
308 else:
320 else:
309 newurl = '/abscontrol/%d/view/%d' % (int(profile_id), int(pattern_id))
321 newurl = '/abscontrol/%d/view/%d' % (int(profile_id), int(pattern_id))
310
322
311 return redirect(newurl)
323 return redirect(newurl)
312
324
313 def viewPattern(request, profile_id, pattern_id):
325 def viewPattern(request, profile_id, pattern_id):
314
326
315 profile_list = Profile.objects.filter(state=1)
327 profile_list = Profile.objects.filter(state=1)
316 objProfile = Profile.objects.get(pk=profile_id)
328 objProfile = Profile.objects.get(pk=profile_id)
317
329
318 patternChoosen = Pattern.objects.get(pk=pattern_id)
330 patternChoosen = Pattern.objects.get(pk=pattern_id)
319
331
320 objAntennaUp = patternChoosen.antennaup_set.get()
332 objAntennaUp = patternChoosen.antennaup_set.get()
321 objAntennaDown = patternChoosen.antennadown_set.get()
333 objAntennaDown = patternChoosen.antennadown_set.get()
322
334
323 lsPatterns = objProfile.pattern_set.all()
335 lsPatterns = objProfile.pattern_set.all()
324
336
337 lsProfilesActive = Profile.objects.filter(is_active=1)
338 if len(lsProfilesActive) > 0:
339 objProfileActive = Profile.objects.get(is_active=1)
340
341 lsPatternsActive = Pattern.objects.filter(is_active=1)
342 if len(lsPatternsActive) > 0:
343 objPatternActive = Pattern.objects.get(is_active=1)
344
325 return render_to_response('abscontrol/viewPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
345 return render_to_response('abscontrol/viewPattern.html', {'objProfile': objProfile, 'profile_list': profile_list,
326 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
346 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns,
327 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
347 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown,
348 'profileActive' : objProfileActive, 'patternActive' : objPatternActive,
328 }, context_instance=RequestContext(request))
349 }, context_instance=RequestContext(request))
329
350
330 def deletePattern(request, profile_id, pattern_id):
351 def deletePattern(request, profile_id, pattern_id):
331 newurl = '/abscontrol/edit/%d' % int(profile_id)
352 newurl = '/abscontrol/edit/%d' % int(profile_id)
332
353
333 return redirect(newurl)
354 return redirect(newurl)
334
355
335 def importProfile(request):
356 def importProfile(request):
336 profile_list = Profile.objects.filter(state=1)
357 profile_list = Profile.objects.filter(state=1)
337 return render_to_response('abscontrol/import.html', {'profile_list': profile_list,}, context_instance=RequestContext(request))
358 return render_to_response('abscontrol/import.html', {'profile_list': profile_list,}, context_instance=RequestContext(request))
338
359
339 def upload(request):
360 def upload(request):
340 profile_list = Profile.objects.filter(state=1)
361 profile_list = Profile.objects.filter(state=1)
341 if request.method == 'POST':
362 if request.method == 'POST':
342 txtFilename = request.FILES['txtFile']
363 txtFilename = request.FILES['txtFile']
343 if txtFilename:
364 if txtFilename:
344 destination = open('/tmp/'+txtFilename.name, 'wb+')
365 destination = open('/tmp/'+txtFilename.name, 'wb+')
345 for chunk in txtFilename.chunks():
366 for chunk in txtFilename.chunks():
346 destination.write(chunk)
367 destination.write(chunk)
347 destination.close()
368 destination.close()
348 filename = '/tmp/'+txtFilename.name
369 filename = '/tmp/'+txtFilename.name
349 readFile = readABSFile(filename)
370 readFile = readABSFile(filename)
350 expName, num_patterns, patterns = readFile.getMetadata()
371 expName, num_patterns, patterns = readFile.getMetadata()
351
372
352 if expName != "" and num_patterns > 0:
373 if expName != "" and num_patterns > 0:
353 if len(Profile.objects.filter(name__iexact=expName)) > 0:
374 if len(Profile.objects.filter(name__iexact=expName)) > 0:
354 txtError = "Experiment's name found."
375 txtError = "Experiment's name found."
355 return render_to_response('abscontrol/error.html', {'profile_list': profile_list,
376 return render_to_response('abscontrol/error.html', {'profile_list': profile_list,
356 'txtError' : txtError, },
377 'txtError' : txtError, },
357 context_instance=RequestContext(request))
378 context_instance=RequestContext(request))
358 else:
379 else:
359 newprofile = Profile(name=expName)
380 newprofile = Profile(name=expName)
360 newprofile.save()
381 newprofile.save()
361 newprofile.state = 1
382 newprofile.state = 1
362
383
363 for element in patterns:
384 for element in patterns:
364 newpattern = newprofile.pattern_set.create(value=element["number"])
385 newpattern = newprofile.pattern_set.create(value=element["number"])
365 newpattern.antennaup_set.create(value=element["up"])
386 newpattern.antennaup_set.create(value=element["up"])
366 newpattern.antennadown_set.create(value=element["down"])
387 newpattern.antennadown_set.create(value=element["down"])
367
388
368 newprofile.save()
389 newprofile.save()
369
390
370 newurl = '/abscontrol/edit/%d' % int(newprofile.id)
391 newurl = '/abscontrol/edit/%d' % int(newprofile.id)
371 return redirect(newurl)
392 return redirect(newurl)
372 else:
393 else:
373 txtError = "Experiment's name not found or the number of patterns is 0."
394 txtError = "Experiment's name not found or the number of patterns is 0."
374 return render_to_response('abscontrol/error.html', {'profile_list': profile_list,
395 return render_to_response('abscontrol/error.html', {'profile_list': profile_list,
375 'txtError' : txtError, },
396 'txtError' : txtError, },
376 context_instance=RequestContext(request))
397 context_instance=RequestContext(request))
377 else:
398 else:
378 txtError = "No file."
399 txtError = "No file."
379
400
380 return render_to_response('abscontrol/error.html', {'profile_list': profile_list, 'txtError' : txtError, },
401 return render_to_response('abscontrol/error.html', {'profile_list': profile_list, 'txtError' : txtError, },
381 context_instance=RequestContext(request))
402 context_instance=RequestContext(request))
382
403
383 def getImgfromOverJRO(profile_id, objAntenna):
404 def getImgfromOverJRO(profile_id, objAntenna):
384 objProfile = Profile.objects.get(pk=profile_id)
405 objProfile = Profile.objects.get(pk=profile_id)
385 exp_name = objProfile.name
406 exp_name = objProfile.name
386 phase_tx = objAntenna.value
407 phase_tx = objAntenna.value
387 gain_tx = objAntenna.tx
408 gain_tx = objAntenna.tx
388 gain_rx = objAntenna.rx
409 gain_rx = objAntenna.rx
389 ues_tx = objAntenna.ues
410 ues_tx = objAntenna.ues
390 just_rx = objAntenna.only_rx
411 just_rx = objAntenna.only_rx
391
412
392 overjro = OverJRO()
413 overjro = OverJRO()
393 overjro.setParameters(settings.MEDIA_ROOT, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx)
414 overjro.setParameters(settings.MEDIA_ROOT, exp_name, phase_tx, gain_tx, gain_rx, ues_tx, just_rx)
394 contentFile = overjro.setTextContent()
415 contentFile = overjro.setTextContent()
395 finalpath = overjro.saveFile(contentFile)
416 finalpath = overjro.saveFile(contentFile)
396
417
397 currentdate = datetime.today()
418 currentdate = datetime.today()
398 newOverJro = overJroShow()
419 newOverJro = overJroShow()
399 newOverJro.setInputParameters(settings.MEDIA_ROOT, currentdate, finalpath)
420 newOverJro.setInputParameters(settings.MEDIA_ROOT, currentdate, finalpath)
400 newOverJro.setupParameters()
421 newOverJro.setupParameters()
401 newOverJro.execute()
422 newOverJro.execute()
402 path = newOverJro.getPlot()
423 path = newOverJro.getPlot()
403
424
404 return path
425 return path
405
426
406 def overJROUp(request, profile_id, pattern_id, antenna_id):
427 def overJROUp(request, profile_id, pattern_id, antenna_id):
407 objAntenna = AntennaUp.objects.get(pk=antenna_id)
428 objAntenna = AntennaUp.objects.get(pk=antenna_id)
408 img_path = getImgfromOverJRO(profile_id, objAntenna)
429 img_path = getImgfromOverJRO(profile_id, objAntenna)
409 filename = os.path.split(img_path)[1]
430 filename = os.path.split(img_path)[1]
410 return render_to_response('abscontrol/overjro_up.html', {'img_up': filename,'antennaUp': objAntenna,},
431 return render_to_response('abscontrol/overjro_up.html', {'img_up': filename,'antennaUp': objAntenna,},
411 context_instance=RequestContext(request))
432 context_instance=RequestContext(request))
412
433
413 def overJRODown(request, profile_id, pattern_id, antenna_id):
434 def overJRODown(request, profile_id, pattern_id, antenna_id):
414 objAntenna = AntennaDown.objects.get(pk=antenna_id)
435 objAntenna = AntennaDown.objects.get(pk=antenna_id)
415 img_path = getImgfromOverJRO(profile_id, objAntenna)
436 img_path = getImgfromOverJRO(profile_id, objAntenna)
416 filename = os.path.split(img_path)[1]
437 filename = os.path.split(img_path)[1]
417 return render_to_response('abscontrol/overjro_down.html', {'img_down': filename, 'antennaDown': objAntenna,},
438 return render_to_response('abscontrol/overjro_down.html', {'img_down': filename, 'antennaDown': objAntenna,},
418 context_instance=RequestContext(request))
439 context_instance=RequestContext(request))
419
440
420 def export(request, profile_id):
441 def export(request, profile_id):
421 listPatterns = []
442 listPatterns = []
422 objProfile = Profile.objects.get(pk=profile_id)
443 objProfile = Profile.objects.get(pk=profile_id)
423 exp_name = objProfile.name
444 exp_name = objProfile.name
424 lsPatterns = objProfile.pattern_set.all()
445 lsPatterns = objProfile.pattern_set.all()
425 for element in lsPatterns:
446 for element in lsPatterns:
426 objAntennaUp = element.antennaup_set.get()
447 objAntennaUp = element.antennaup_set.get()
427 objAntennaDown = element.antennadown_set.get()
448 objAntennaDown = element.antennadown_set.get()
428 dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value}
449 dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value}
429 listPatterns.append(dicPatterns)
450 listPatterns.append(dicPatterns)
430
451
431 absFile = saveABSFile()
452 absFile = saveABSFile()
432 absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns)
453 absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns)
433 filename, filesize = absFile.save()
454 filename, filesize = absFile.save()
434
455
435 wrapper = FileWrapper( open( filename, "r" ) )
456 wrapper = FileWrapper( open( filename, "r" ) )
436 content_type = mimetypes.guess_type( filename )[0]
457 content_type = mimetypes.guess_type( filename )[0]
437
458
438 response = HttpResponse(wrapper, content_type = content_type)
459 response = HttpResponse(wrapper, content_type = content_type)
439 response['Content-Description'] = 'File Transfer'
460 response['Content-Description'] = 'File Transfer'
440 response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(filename)
461 response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(filename)
441 response['Content-Transfer-Encoding'] = 'binary'
462 response['Content-Transfer-Encoding'] = 'binary'
442 response['Expires'] = '0'
463 response['Expires'] = '0'
443 response['Cache-Control'] = 'must-revalidate'
464 response['Cache-Control'] = 'must-revalidate'
444 response['Pragma'] = 'public'
465 response['Pragma'] = 'public'
445 response['Content-Length'] = '%s' % str(filesize)
466 response['Content-Length'] = '%s' % str(filesize)
446 response['X-Sendfile'] = '%s' % smart_str(filename)
467 response['X-Sendfile'] = '%s' % smart_str(filename)
447
468
448 return response
469 return response
449
470
450 def send(request, profile_id):
471 def send(request, profile_id):
451 listPatterns = []
472 listPatterns = []
452 objProfile = Profile.objects.get(pk=profile_id)
473 objProfile = Profile.objects.get(pk=profile_id)
453 exp_name = objProfile.name
474 exp_name = objProfile.name
454
475
455 lsPatterns = objProfile.pattern_set.all()
476 lsPatterns = objProfile.pattern_set.all()
456 for element in lsPatterns:
477 for element in lsPatterns:
457 objAntennaUp = element.antennaup_set.get()
478 objAntennaUp = element.antennaup_set.get()
458 objAntennaDown = element.antennadown_set.get()
479 objAntennaDown = element.antennadown_set.get()
459 dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value}
480 dicPatterns = {"number" : element.value, "up" : objAntennaUp.value, "down" : objAntennaDown.value}
460 listPatterns.append(dicPatterns)
481 listPatterns.append(dicPatterns)
461
482
462 absFile = saveABSFile()
483 absFile = saveABSFile()
463 absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns)
484 absFile.setParameters(settings.MEDIA_ROOT, exp_name, listPatterns)
464 filename, filesize = absFile.save()
485 filename, filesize = absFile.save()
465
486
466 apiclient = sendFile()
487 apiclient = sendFile()
467 apiclient.execute(filename)
488 apiclient.execute(filename)
468 output = apiclient.getOutput()
489 output = apiclient.getOutput()
469
490
470 if output == "OK":
491 if output == "OK":
471 message = "File sent successfully."
492 message = "File sent successfully."
472 lsProfilesActive = Profile.objects.filter(is_active=1)
493 lsProfilesActive = Profile.objects.filter(is_active=1)
473 if len(lsProfilesActive) > 0:
494 if len(lsProfilesActive) > 0:
474 objProfileActive = Profile.objects.get(is_active=1)
495 objProfileActive = Profile.objects.get(is_active=1)
475 objProfileActive.is_active = 0
496 objProfileActive.is_active = 0
476 objProfileActive.save()
497 objProfileActive.save()
477
498
478 lsPatternsActive = Pattern.objects.filter(is_active=1)
499 lsPatternsActive = Pattern.objects.filter(is_active=1)
479 if len(lsPatternsActive) > 0:
500 if len(lsPatternsActive) > 0:
480 objPatternActive = Pattern.objects.get(is_active=1)
501 objPatternActive = Pattern.objects.get(is_active=1)
481 objPatternActive.is_active = 0
502 objPatternActive.is_active = 0
482 objPatternActive.save()
503 objPatternActive.save()
483
504
484 objProfile.hits += 1
505 objProfile.hits += 1
485 objProfile.is_active = 1
506 objProfile.is_active = 1
486 objProfile.save()
507 objProfile.save()
487
508
488 pattern_value = 1
509 pattern_value = 1
489 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
510 patternChoosen = objProfile.pattern_set.get(value=pattern_value)
490 patternChoosen.is_active = 1
511 patternChoosen.is_active = 1
491 patternChoosen.save()
512 patternChoosen.save()
492
513
493 newurl = '/abscontrol/view/%d' % int(profile_id)
514 newurl = '/abscontrol/view/%d' % int(profile_id)
494
515
495 return redirect(newurl)
516 return redirect(newurl)
496 else:
517 else:
497 message = "Error sending file."
518 message = "Error sending file."
498
519
499 profile_list = Profile.objects.all()
520 profile_list = Profile.objects.all()
500
521
501 return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list,
522 return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list,
502 'objProfile': objProfile,
523 'objProfile': objProfile,
503 }, context_instance=RequestContext(request))
524 }, context_instance=RequestContext(request))
504
525
505 def changePattern(request, profile_id, pattern_id):
526 def changePattern(request, profile_id, pattern_id):
506 patternChoosen = Pattern.objects.get(id=pattern_id)
527 patternChoosen = Pattern.objects.get(id=pattern_id)
507 beam = int(patternChoosen.value)-1
528 beam = int(patternChoosen.value)-1
508
529
509 apiclient = changeBeam()
530 apiclient = changeBeam()
510 apiclient.execute(str(beam))
531 apiclient.execute(str(beam))
511 output = apiclient.getOutput()
532 output = apiclient.getOutput()
512
533
513 if output == "OK":
534 if output == "OK":
514 lsPatternsActive = Pattern.objects.filter(is_active=1)
535 lsPatternsActive = Pattern.objects.filter(is_active=1)
515 if len(lsPatternsActive) > 0:
536 if len(lsPatternsActive) > 0:
516 objPatternActive = Pattern.objects.get(is_active=1)
537 objPatternActive = Pattern.objects.get(is_active=1)
517 objPatternActive.is_active = 0
538 objPatternActive.is_active = 0
518 objPatternActive.save()
539 objPatternActive.save()
519
540
520 patternChoosen.hits += 1
541 patternChoosen.hits += 1
521 patternChoosen.is_active = 1
542 patternChoosen.is_active = 1
522 patternChoosen.save()
543 patternChoosen.save()
523
544
524 newurl = '/abscontrol/%d/view/%d/' % (int(profile_id), int(pattern_id))
545 newurl = '/abscontrol/%d/view/%d/' % (int(profile_id), int(pattern_id))
525 return redirect(newurl)
546 return redirect(newurl)
526 else:
547 else:
527 message = "Error sending file."
548 message = "Error sending file."
528 profile_list = Profile.objects.all()
549 profile_list = Profile.objects.all()
529 return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list,
550 return render_to_response('abscontrol/sendFile.html', {'message': message, "profile_list" : profile_list,
530 }, context_instance=RequestContext(request))
551 }, context_instance=RequestContext(request))
531 No newline at end of file
552
@@ -1,668 +1,724
1 /*
1 /*
2 * font-family: 'Droid Sans', sans-serif;
2 * font-family: 'Droid Sans', sans-serif;
3 * font-family: 'Ubuntu', sans-serif;
3 * font-family: 'Ubuntu', sans-serif;
4 * font-family: 'Open Sans', sans-serif;
4 * font-family: 'Open Sans', sans-serif;
5 * font-family: 'Open Sans Condensed', sans-serif;
5 * font-family: 'Open Sans Condensed', sans-serif;
6 * font-family: 'Roboto Condensed', sans-serif;
6 * font-family: 'Roboto Condensed', sans-serif;
7 */
7 */
8
8
9 body {
9 body {
10 padding: 0;
10 padding: 0;
11 margin: 0;
11 margin: 0;
12 font-size: 12px; }
12 font-size: 12px; }
13
13
14 header {
14 header {
15 width: 980px;
15 width: 980px;
16 height: 50px;
16 height: 50px;
17 text-align: center;
17 text-align: center;
18 line-height: 50px;
18 line-height: 50px;
19 border: 0px solid #fcc !important; }
19 border: 0px solid #fcc !important; }
20
20
21 #schema {
21 #schema {
22 margin: 0 auto;
22 margin: 0 auto;
23 width: 980px;
23 width: 980px;
24 padding: 10px 10px;
24 padding: 10px 10px;
25 border: 0px solid #f00 !important; }
25 border: 0px solid #f00 !important; }
26
26
27 #content {
27 #content {
28 margin: 5px 0px;
28 margin: 2px 0px 0px 0px;
29 border: 0px solid #1cc; }
29 border: 0px solid #1cc !important; }
30
30
31 #topcolumn {
31 #topcolumn {
32 float: left;
32 float: left;
33 width: 980px;
33 width: 980px;
34 height: 40px;
34 height: 40px;
35 line-height: 35px;
35 line-height: 35px;
36 margin: 2px 0px;
36 margin: 2px 0px;
37 border: 1px solid #ddd !important;
37 border: 1px solid #ddd !important;
38 box-shadow: 2px 2px 5px #888; }
38 box-shadow: 2px 2px 5px #888; }
39
39
40 #activeProfileBar {
41 float: left;
42 width: 980px;
43 margin: 0px 0px;
44 height: 25px;
45 border: 1px solid #ddd !important;
46 box-shadow: 1px 1px 5px #ccc; }
47
40 #maincolumn {
48 #maincolumn {
41 float: left;
49 float: left;
42 width: 980px;
50 width: 980px;
43 margin: 2px 0px;
51 margin: 2px 0px 0px 0px;
44 padding: 0px 0px;
52 padding: 2px 0px 6px 0px;
45 border: 1px solid #ddd !important;
53 border: 1px solid #ddd !important;
46 box-shadow: 2px 2px 5px #666; }
54 box-shadow: 2px 2px 5px #666; }
47
55
48 footer {
56 footer {
49 height: 30px;
57 height: 30px;
50 line-height: 30px;
58 line-height: 30px;
51 text-align: center;
59 text-align: center;
52 margin: 0px 0px;
60 margin: 0px 0px;
53 border: 0px solid #200 !important;
61 border: 0px solid #200 !important;
54 box-shadow: 2px 2px 5px #888; }
62 box-shadow: 2px 2px 5px #888; }
55
63
56 .cleardivs {
64 .cleardivs {
57 clear: both;
65 clear: both;
58 border: 0px solid #400;
66 border: 0px solid #400;
59 height: 0px; }
67 height: 0px; }
60
68
61 textarea {
69 textarea {
62 resize: none;
70 resize: none;
63 overflow: hidden; }
71 overflow: hidden; }
64
72
65 /****************************************************************************************/
73 /****************************************************************************************/
66 /****** ESTILOS GENERALES *****************/
74 /****** ESTILOS GENERALES *****************/
67 /****************************************************************************************/
75 /****************************************************************************************/
68 a {
76 a {
69 font-family: 'Droid Sans', sans-serif;
77 font-family: 'Droid Sans', sans-serif;
70 text-decoration: none;
78 text-decoration: none;
71 color: #1494F6; }
79 color: #1494F6; }
72
80
73 .mnu {
81 .mnu {
74 height: 22px;
82 height: 22px;
75 border: 0px solid #c55 !important; }
83 border: 0px solid #c55 !important; }
76
84
77 .mnu li {
85 .mnu li {
78 display:inline; }
86 display:inline; }
79
87
80 .MnuVertical, .MnuHorizontal {
88 .MnuVertical, .MnuHorizontal {
81 font-family: 'Droid Sans', sans-serif;
89 font-family: 'Droid Sans', sans-serif;
82 font-size: inherit;
90 font-size: inherit;
83 font-style: normal;
91 font-style: normal;
84 text-shadow: 2px 2px #eee; }
92 text-shadow: 2px 2px #eee; }
85
93
86 .MnuHorizontal ul {
94 .MnuHorizontal ul {
87 list-style: none;
95 list-style: none;
88 list-style-type: none;
96 list-style-type: none;
89 margin: 0; }
97 margin: 0; }
90
98
91 /*.MnuHorizontal{
99 /*.MnuHorizontal{
92 display: -webkit-box;
100 display: -webkit-box;
93 -webkit-box-orient:horizontal; }
101 -webkit-box-orient:horizontal; }
94
102
95 .MnuHorizontal a{
103 .MnuHorizontal a{
96 display:block;
104 display:block;
97 padding:10px;
105 padding:10px;
98 -webkit-box-flex:1;
106 -webkit-box-flex:1;
99 text-align:center; }*/
107 text-align:center; }*/
100
108
101 .link-disabled {
109 .link-disabled {
102 color: #666;
110 color: #666;
103 text-decoration: None;
111 text-decoration: None;
104 cursor: default; }
112 cursor: default; }
105
113
106 /****************************************************************************************/
114 /****************************************************************************************/
107 /****** MENU DE NAVEGACION DE PERFILES *************/
115 /****** MENU DE NAVEGACION DE PERFILES *************/
108 /****************************************************************************************/
116 /****************************************************************************************/
109 #infoProfiles {
117 #infoProfiles {
110 float: left;
118 float: left;
111 width: 300px;
119 width: 300px;
112 margin: 0px;
120 margin: 0px;
113 padding: 2px 0px;
121 padding: 2px 0px;
114 border: 0px solid #1cc !important; }
122 border: 0px solid #1cc !important; }
115
123
116 #infoProfiles label {
124 #infoProfiles label {
117 padding: 10px 10px 10px 12px;
125 padding: 10px 10px 10px 12px;
118 margin: 10px 0;
126 margin: 10px 0;
119 font-family: 'Droid Sans', sans-serif;
127 font-family: 'Droid Sans', sans-serif;
120 /*font-family: 'Roboto Condensed', sans-serif;*/
128 /*font-family: 'Roboto Condensed', sans-serif;*/
121 /*letter-spacing: 0.046em;*/ }
129 /*letter-spacing: 0.046em;*/ }
122
130
123 #infoProfiles select {
131 #infoProfiles select {
124 padding: 4px 0px; margin: 0;
132 padding: 4px 0px; margin: 0;
125 font-family: 'Droid Sans', sans-serif;
133 font-family: 'Droid Sans', sans-serif;
126 font-size: 12px;
134 font-size: 12px;
127 letter-spacing: 0.006;
135 letter-spacing: 0.006em;
128 width: 200px; }
136 width: 200px; }
129
137
130 #mnuProfiles {
138 #mnuProfiles {
131 margin: 0;
139 margin: 0;
132 float: right;
140 float: right;
133 padding: 2px 10px;
141 padding: 2px 10px;
134 border: 0px solid #1494F6 !important; }
142 border: 0px solid #1494F6 !important; }
135
143
136 #mnuProfiles ul {
144 #mnuProfiles ul {
137 list-style: none;
145 list-style: none;
138 list-style-type: none;
146 list-style-type: none;
139 margin: 0;
147 margin: 0;
140 padding-left: 20px;
148 padding-left: 20px;
141 border: 0px solid #f00 !important; }
149 border: 0px solid #f00 !important; }
142
150
143 #mnuProfiles li {
151 #mnuProfiles li {
144 width: 80px;
152 width: 80px;
145 float: left;
153 float: left;
146 padding: 2px;
154 padding: 2px;
147 border: 0px solid #c55 !important; }
155 border: 0px solid #c55 !important; }
148
156
149 #mnuProfiles a {
157 #mnuProfiles a {
150 font-weight: normal;
158 font-weight: normal;
151 color: #1494F6;
159 color: #1494F6;
152 display: block;
160 display: block;
153 text-align: center;
161 text-align: center;
154 border-bottom: 1px solid #1494F6 !important;
162 border-bottom: 1px solid #1494F6 !important;
155 text-decoration: none;
163 text-decoration: none;
156 padding: 0px 4px;
164 padding: 0px 4px;
157 line-height: 18px;
165 line-height: 18px;
158 margin: 6px; }
166 margin: 6px; }
159
167
160 /****************************************************************************************/
168 /****************************************************************************************/
169 /****** BARRA DE PERFILES ACTIVOS *************/
170 /****************************************************************************************/
171
172 #activeProfileBar label, a{
173 line-height: 20px;
174 float: left;
175 letter-spacing: 0.01em;
176 padding: 3px 12px;
177 border: 0px solid #f00 !important; }
178
179 .titleBar {
180 color: #333;
181 margin-left: 2px;
182 text-align: right; }
183
184 .ActiveProfile, .ActivePattern, .lnkActiveProfile {
185 color: #001bf4;
186 margin: 0px 2px;
187 text-align: left;
188 text-decoration: None; }
189
190 .navbarsep{
191 float: left; }
192
193 /****************************************************************************************/
161 /******** FORMULARIO DE PERFILES *************************************/
194 /******** FORMULARIO DE PERFILES *************************************/
162 /****************************************************************************************/
195 /****************************************************************************************/
163 #divProfile {
196 #divProfile {
164 margin: 10px 0px;
197 margin: 10px 0px;
165 padding: 10px 10px;
198 padding: 10px 10px;
166 width: 500px;
199 width: 500px;
167 border: 0px solid #dff !important; }
200 border: 0px solid #dff !important; }
168
201
169 #divProfile label,input[type=text],input[type=file] {
202 #divProfile label,input[type=text],input[type=file] {
170 font-family: 'Open Sans', sans-serif;
203 font-family: 'Open Sans', sans-serif;
171 /*font-family: 'Roboto Condensed', sans-serif;*/
172 font-size: inherit; }
204 font-size: inherit; }
205
206 #divProfile label {
207 float: left;
208 text-align: right;
209 width: 120px;
210 padding: 3px 10px 3px 10px;
211 line-height: 20px;
212 border: 0px solid #d85 !important;
213 }
214
215 #divProfile input[type=text] {
216 letter-spacing: 0.08em;
217 padding: 2px 10px 2px 10px;
218 width: 200px;
219 }
220
221 #divProfile input[type=text]:FOCUS {
222 border: 1px solid #faa !important;
223 border-radius: 0.26em;
224 box-shadow: 2px 2px 5px #fbb;
225 }
226
227 .lblProfile {
228 width: 200px; }
173
229
174 #divPattern textarea,input[type=text],label,input[type=file],input[type=button],input[type=submit] {
230 #divPattern textarea,input[type=text],label,input[type=file],input[type=button],input[type=submit] {
175 font-family: 'Roboto Condensed', sans-serif;
231 font-family: 'Roboto Condensed', sans-serif;
176 font-size: inherit; }
232 font-size: inherit; }
177
233
178 .antenna, .NewAntenna {
234 .antenna, .NewAntenna {
179 box-shadow: 1px 1px 2px #666;
235 box-shadow: 1px 1px 2px #666;
180 padding: 5px;
236 padding: 5px;
181 margin: 10px auto;
237 margin: 10px auto;
182 display: block;
238 display: block;
183 border: 0px solid #fee !important; }
239 border: 0px solid #fee !important; }
184
240
185 .antenna {
241 .antenna {
186 width: 520px; }
242 width: 520px; }
187
243
188 .NewAntenna {
244 .NewAntenna {
189 width: 750px;
245 width: 750px;
190 border: 0px solid #f00 !important; }
246 border: 0px solid #f00 !important; }
191
247
192 .flsAntenna, .NewFlsAntenna {
248 .flsAntenna, .NewFlsAntenna {
193 margin: 0;
249 margin: 0;
194 padding: 0px;
250 padding: 0px;
195 border: 1px solid #fee !important; }
251 border: 1px solid #fee !important; }
196
252
197 .flsAntenna {
253 .flsAntenna {
198 width: 510px; }
254 width: 510px; }
199
255
200 .NewFlsAntenna {
256 .NewFlsAntenna {
201 width: 100%; }
257 width: 100%; }
202
258
203 .legendAntenna {
259 .legendAntenna {
204 font-family: 'Roboto Condensed', sans-serif;
260 font-family: 'Roboto Condensed', sans-serif;
205 font-size: inherit;
261 font-size: inherit;
206 text-align: left;
262 text-align: left;
207 margin-left: 10px; }
263 margin-left: 10px; }
208
264
209 .infoAntenna {
265 .infoAntenna {
210 width: 500px;
266 width: 500px;
211 float: left;
267 float: left;
212 border: 0px solid #f00 !important; }
268 border: 0px solid #f00 !important; }
213
269
214 .overJRO {
270 .overJRO {
215 width: 250px;
271 width: 250px;
216 float: left;
272 float: left;
217 margin: 0px 5px;
273 margin: 0px 5px;
218 border: 0px solid #1cc !important; }
274 border: 0px solid #1cc !important; }
219
275
220 .divAntenna, .NewDivAntenna, .NewDivTx {
276 .divAntenna, .NewDivAntenna, .NewDivTx {
221 float: left;
277 float: left;
222 margin: 10px;
278 margin: 10px;
223 border: 0px solid #fcc !important; }
279 border: 0px solid #fcc !important; }
224
280
225 .divAntenna {
281 .divAntenna {
226 width: 220px;
282 width: 220px;
227 border: 0px solid #fcc !important; }
283 border: 0px solid #fcc !important; }
228
284
229 .NewDivAntenna {
285 .NewDivAntenna {
230 border: 0px solid #fcc !important; }
286 border: 0px solid #fcc !important; }
231
287
232 .NewDivTx {
288 .NewDivTx {
233 border: 0px solid #fcc !important; }
289 border: 0px solid #fcc !important; }
234
290
235 .titleField {
291 .titleField {
236 display: block;
292 display: block;
237 text-align: center;
293 text-align: center;
238 font-family: 'Roboto Condensed', sans-serif;
294 font-family: 'Roboto Condensed', sans-serif;
239 letter-spacing: 0.086em; }
295 letter-spacing: 0.086em; }
240
296
241 .txtAntenna, .view-textAntenna {
297 .txtAntenna, .view-textAntenna {
242 width: 175px;
298 width: 175px;
243 max-width: 180px;
299 max-width: 180px;
244 height: 160px;
300 height: 160px;
245 max-height: 165px;
301 max-height: 165px;
246 background: #fdfdfb;
302 background: #fdfdfb;
247 border: 2px solid #eee !important;
303 border: 2px solid #eee !important;
248 text-align: justify;
304 text-align: justify;
249 margin: 0 auto;
305 margin: 0 auto;
250 line-height: 20px; }
306 line-height: 20px; }
251
307
252 .txtAntenna {
308 .txtAntenna {
253 padding: 4px;
309 padding: 4px;
254 }
310 }
255
311
256 .view-textAntenna {
312 .view-textAntenna {
257 padding: 2px;
313 padding: 2px;
258 font-family: "Ubuntu";
314 font-family: "Ubuntu";
259 font-size: inherit; }
315 font-size: inherit; }
260
316
261 .boxAntenna, .boxTR {
317 .boxAntenna, .boxTR {
262 border: 2px solid #eee !important;
318 border: 2px solid #eee !important;
263 text-align: center;
319 text-align: center;
264 display: block;
320 display: block;
265 float: left;
321 float: left;
266 margin: 0;
322 margin: 0;
267 padding: 0; }
323 padding: 0; }
268
324
269 .boxAntenna {
325 .boxAntenna {
270 padding: 3px; }
326 padding: 3px; }
271
327
272 .boxTR {
328 .boxTR {
273 padding: 3px; }
329 padding: 3px; }
274
330
275 .fullLine{
331 .fullLine{
276 font-size: 0.95em; }
332 font-size: 0.95em; }
277
333
278 .lineInputs, .lineInputsTx {
334 .lineInputs, .lineInputsTx {
279 text-align: left;
335 text-align: left;
280 line-height: 1.4em;
336 line-height: 1.4em;
281 padding: 0;
337 padding: 0;
282 margin: 0px;
338 margin: 0px;
283 display: block;
339 display: block;
284 float: left;
340 float: left;
285 border: 0px solid #1cc !important; }
341 border: 0px solid #1cc !important; }
286
342
287 .lineInputs {
343 .lineInputs {
288 /*width: 240px;*/
344 /*width: 240px;*/
289 border: 0px solid #1cc !important; }
345 border: 0px solid #1cc !important; }
290
346
291 .lineInputsTx {
347 .lineInputsTx {
292 /*width: 185px;*/
348 /*width: 185px;*/
293 border: 0px solid #1cc !important; }
349 border: 0px solid #1cc !important; }
294
350
295 .divValuesAntenna, .divValuesTx {
351 .divValuesAntenna, .divValuesTx {
296 float: left;
352 float: left;
297 display: block;
353 display: block;
298 margin: 0 auto;
354 margin: 0 auto;
299 border: 0px solid #bbb !important; }
355 border: 0px solid #bbb !important; }
300
356
301 .divValuesAntenna {
357 .divValuesAntenna {
302 /*width: 230px;*/
358 /*width: 230px;*/
303 border: 0px solid #2eb !important; }
359 border: 0px solid #2eb !important; }
304
360
305 .divValuesTx {
361 .divValuesTx {
306 /*width: 175px;*/
362 /*width: 175px;*/
307 border: 0px solid #bbb !important; }
363 border: 0px solid #bbb !important; }
308
364
309 .divValuesAntenna input[type=text], .divValuesTx input[type=text] {
365 .divValuesAntenna input[type=text], .divValuesTx input[type=text] {
310 border: 0px;
366 border: 0px;
311 border-bottom: 1px solid #666 !important;
367 border-bottom: 1px solid #666 !important;
312 line-height: 1.1em;
368 line-height: 1.1em;
313 font-family: 'Roboto Condensed', sans-serif; }
369 font-family: 'Roboto Condensed', sans-serif; }
314
370
315 .divValuesAntenna input[type=text] {
371 .divValuesAntenna input[type=text] {
316 width: 18px; }
372 width: 18px; }
317
373
318 .divValuesTx input[type=text]{
374 .divValuesTx input[type=text]{
319 width: 11px; }
375 width: 11px; }
320
376
321 .lblSign, .lblSignTx {
377 .lblSign, .lblSignTx {
322 font-family: 'Roboto Condensed', sans-serif;
378 font-family: 'Roboto Condensed', sans-serif;
323 color: #666;
379 color: #666;
324 float: left;
380 float: left;
325 margin: 0px;
381 margin: 0px;
326 border: 0px solid #bbb !important; }
382 border: 0px solid #bbb !important; }
327
383
328 .lblSignLeft {
384 .lblSignLeft {
329 font-family: 'Roboto Condensed', sans-serif;
385 font-family: 'Roboto Condensed', sans-serif;
330 color: #666;
386 color: #666;
331 float: left;
387 float: left;
332 margin: 0px 2px 0px 0px;
388 margin: 0px 2px 0px 0px;
333 padding: 0;
389 padding: 0;
334 border: 0px solid #f00 !important; }
390 border: 0px solid #f00 !important; }
335
391
336 .lblSignRight {
392 .lblSignRight {
337 font-family: 'Roboto Condensed', sans-serif;
393 font-family: 'Roboto Condensed', sans-serif;
338 color: #666;
394 color: #666;
339 float: left;
395 float: left;
340 margin: 0;
396 margin: 0;
341 padding: 0;
397 padding: 0;
342 border: 0px solid #f00 !important; }
398 border: 0px solid #f00 !important; }
343
399
344 .lblNewSignLeft, .lblNewSignRight {
400 .lblNewSignLeft, .lblNewSignRight {
345 font-family: 'Roboto Condensed', sans-serif;
401 font-family: 'Roboto Condensed', sans-serif;
346 color: #666;
402 color: #666;
347 float: left;
403 float: left;
348 padding: 0; }
404 padding: 0; }
349
405
350 .lblNewSignLeft {
406 .lblNewSignLeft {
351 margin: 0px 2px 0px 0px;
407 margin: 0px 2px 0px 0px;
352 border: 0px solid #f00 !important; }
408 border: 0px solid #f00 !important; }
353
409
354 .lblNewSignRight {
410 .lblNewSignRight {
355 margin: 0;
411 margin: 0;
356 border: 0px solid #f00 !important; }
412 border: 0px solid #f00 !important; }
357
413
358 .divTx {
414 .divTx {
359 display: block;
415 display: block;
360 float: left;
416 float: left;
361 margin: 10px;
417 margin: 10px;
362 border: 0px solid #f00 !important; }
418 border: 0px solid #f00 !important; }
363
419
364 .divTx label {
420 .divTx label {
365 display: block; }
421 display: block; }
366
422
367 .divTx textarea {
423 .divTx textarea {
368 width: 100px;
424 width: 100px;
369 max-width: 100px;
425 max-width: 100px;
370 height: 160px;
426 height: 160px;
371 max-height: 165px;
427 max-height: 165px;
372 text-align: justify;
428 text-align: justify;
373 border: 2px solid #eee !important;
429 border: 2px solid #eee !important;
374 font-family: "Ubuntu";
430 font-family: "Ubuntu";
375 font-size: inherit;
431 font-size: inherit;
376 line-height: 20px; }
432 line-height: 20px; }
377
433
378 .divTx p {
434 .divTx p {
379 width: 100px;
435 width: 100px;
380 max-width: 105px;
436 max-width: 105px;
381 height: 160px;
437 height: 160px;
382 max-height: 165px;
438 max-height: 165px;
383 background: #fdfdfb;
439 background: #fdfdfb;
384 padding: 2px;
440 padding: 2px;
385 border: 1px solid #eee !important;
441 border: 1px solid #eee !important;
386 font-family: 'Ubuntu', sans-serif;
442 font-family: 'Ubuntu', sans-serif;
387 font-size: inherit;
443 font-size: inherit;
388 text-align: justify;
444 text-align: justify;
389 margin: 0 auto;
445 margin: 0 auto;
390 line-height: 20px; }
446 line-height: 20px; }
391
447
392 .divUes {
448 .divUes {
393 display: block;
449 display: block;
394 margin: 10px; }
450 margin: 10px; }
395
451
396 .divUes input[type=text] {
452 .divUes input[type=text] {
397 width: 240px;
453 width: 240px;
398 max-width: 240px;
454 max-width: 240px;
399 font-family: 'Ubuntu', sans-serif;
455 font-family: 'Ubuntu', sans-serif;
400 font-size: inherit; }
456 font-size: inherit; }
401
457
402 .divNewUes {
458 .divNewUes {
403 width: 350px;
459 width: 350px;
404 display: block;
460 display: block;
405 margin: 0px 10px;
461 margin: 0px 10px;
406 padding: 0;
462 padding: 0;
407 font-family: 'Roboto Condensed', sans-serif;
463 font-family: 'Roboto Condensed', sans-serif;
408 /*overflow: hidden;*/
464 /*overflow: hidden;*/
409 border: 0px solid #f00 !important; }
465 border: 0px solid #f00 !important; }
410
466
411 .titleUes {
467 .titleUes {
412 width: 35px;
468 width: 35px;
413 text-align: right;
469 text-align: right;
414 padding-right: 5px;
470 padding-right: 5px;
415 float: left;
471 float: left;
416 line-height: 22px;
472 line-height: 22px;
417 font-family: 'Roboto Condensed', sans-serif;
473 font-family: 'Roboto Condensed', sans-serif;
418 letter-spacing: 0.086em;
474 letter-spacing: 0.086em;
419 border: 0px solid #266 !important; }
475 border: 0px solid #266 !important; }
420
476
421 .valueUes {
477 .valueUes {
422 width: 300px;
478 width: 300px;
423 float: left;
479 float: left;
424 border: 0px solid #2f4 !important;
480 border: 0px solid #2f4 !important;
425 line-height: 22px; }
481 line-height: 22px; }
426
482
427 .lblUes {
483 .lblUes {
428 font-family: 'Roboto Condensed', sans-serif;
484 font-family: 'Roboto Condensed', sans-serif;
429 color: #666;
485 color: #666;
430 font-size: 1.1em; }
486 font-size: 1.1em; }
431
487
432 .txtUnitUes {
488 .txtUnitUes {
433 width: 60px;
489 width: 60px;
434 border: 0;
490 border: 0;
435 padding: 0px 2px;
491 padding: 0px 2px;
436 text-align: center;
492 text-align: center;
437 font-family: 'Roboto Condensed', sans-serif;
493 font-family: 'Roboto Condensed', sans-serif;
438 font-size: 0.95em;
494 font-size: 0.95em;
439 border-bottom: 1px solid #666 !important; }
495 border-bottom: 1px solid #666 !important; }
440 /*
496 /*
441 .divNewUes input[type=text] {
497 .divNewUes input[type=text] {
442 width: 240px;
498 width: 240px;
443 max-width: 240px;
499 max-width: 240px;
444 line-height: 22px; }
500 line-height: 22px; }
445 */
501 */
446 .checkOnly {
502 .checkOnly {
447 width: 120px;
503 width: 120px;
448 float: left;
504 float: left;
449 display: block;
505 display: block;
450 line-height: 25px;
506 line-height: 25px;
451 border: 0px solid #1cc !important; }
507 border: 0px solid #1cc !important; }
452
508
453 .overJRO img {
509 .overJRO img {
454 width: 400px;
510 width: 400px;
455 height: 270px;
511 height: 270px;
456 text-align: center;
512 text-align: center;
457 vertical-align: middle;
513 vertical-align: middle;
458 margin: 10px 5px 5px 5px;
514 margin: 10px 5px 5px 5px;
459 display: block;
515 display: block;
460 background: #fdfdfb;
516 background: #fdfdfb;
461 border: 1px solid #eee !important; }
517 border: 1px solid #eee !important; }
462
518
463 .overJRO a {
519 .overJRO a {
464 text-align: center;
520 text-align: center;
465 margin-left: 160px;
521 margin-left: 160px;
466 display: block; }
522 display: block; }
467
523
468 .activeOverJRO {
524 .activeOverJRO {
469 width: 60px;
525 width: 60px;
470 padding: 0px 2px;
526 padding: 0px 2px;
471 border-bottom: 1px solid #1494F6 !important; }
527 border-bottom: 1px solid #1494F6 !important; }
472
528
473 /****************************************************************************************/
529 /****************************************************************************************/
474 /****** MENU DE NAVEGACION DE PATRONES **********************************/
530 /****** MENU DE NAVEGACION DE PATRONES **********************************/
475 /****************************************************************************************/
531 /****************************************************************************************/
476 #divMnuPattern {
532 #divMnuPattern {
477 width: 280px;
533 width: 280px;
478 height: 25px;
534 height: 25px;
479 display: block;
535 display: block;
480 float: right;
536 float: right;
481 margin: 5px 40px 5px 0px;
537 margin: 5px 40px 5px 0px;
482 border: 0px solid #1cc !important; }
538 border: 0px solid #1cc !important; }
483
539
484 #divMnuPattern li {
540 #divMnuPattern li {
485 float: right;
541 float: right;
486 display: block;
542 display: block;
487 width: 60px;
543 width: 60px;
488 border: 0px solid #2cc !important; }
544 border: 0px solid #2cc !important; }
489
545
490 #divMnuPattern a {
546 #divMnuPattern a {
491 display: block;
547 display: block;
492 line-height: 22px;
548 line-height: 22px;
493 text-decoration: none;
549 text-decoration: none;
494 padding: 0px 5px;
550 padding: 0px 5px;
495 margin: 0px 2px;
551 margin: 0px 2px;
496 text-align: center;
552 text-align: center;
497 color: #1494F6;
553 color: #1494F6;
498 border-bottom: 1px solid #1494F6 !important; }
554 border-bottom: 1px solid #1494F6 !important; }
499
555
500 #infoPattern {
556 #infoPattern {
501 display: block;
557 display: block;
502 margin: 0px 25px;
558 margin: 0px 25px;
503 border: 0px solid #1494f6 !important; }
559 border: 0px solid #1494f6 !important; }
504
560
505 #navPatterns {
561 #navPatterns {
506 margin: 0 auto;
562 margin: 0 auto;
507 width: 700px;
563 width: 700px;
508 height: 30px;
564 height: 30px;
509 border: 0px solid #d00 !important;
565 border: 0px solid #d00 !important;
510 font-family: 'Ubuntu', sans-serif;
566 font-family: 'Ubuntu', sans-serif;
511 font-size: 14px;
567 font-size: 14px;
512 padding: 5px 0px; }
568 padding: 5px 0px; }
513
569
514 #navPatternList {
570 #navPatternList {
515 margin: 0 auto;
571 margin: 0 auto;
516 border: 0px solid #ecc !important; }
572 border: 0px solid #ecc !important; }
517
573
518 #navPatternList ul {
574 #navPatternList ul {
519 list-style: none;
575 list-style: none;
520 list-style-type: none;
576 list-style-type: none;
521 margin: 0; }
577 margin: 0; }
522
578
523 #navPatternList ul li {
579 #navPatternList ul li {
524 float: left;
580 float: left;
525 width: 50px;
581 width: 50px;
526 border: 1px solid #eee !important; }
582 border: 1px solid #eee !important; }
527
583
528 #navPatternList a {
584 #navPatternList a {
529 width: 50px;
585 width: 50px;
530 display: block;
586 display: block;
531 text-align: center;
587 text-align: center;
532 line-height: 30px;
588 line-height: 30px;
533 padding: 1px 0px;
589 padding: 1px 0px;
534 border: 0px solid #1cc !important; }
590 border: 0px solid #1cc !important; }
535
591
536 .lnkPattern {
592 .lnkPattern {
537 background-color: #ccc !important;
593 background-color: #ccc !important;
538 color: #eee; }
594 color: #eee; }
539
595
540 .lnkPatternSelected {
596 .lnkPatternSelected {
541 background-color: #2cc !important;
597 background-color: #2cc !important;
542 color: #fff; }
598 color: #fff; }
543
599
544 .lnkPatternActive {
600 .lnkPatternActive {
545 color: #f66;
601 color: #f66;
546 }
602 }
547
603
548 .divListofPatterns {
604 .divListofPatterns {
549 width: 650px;
605 width: 650px;
550 display: block;
606 display: block;
551 border: 1px solid #1cc !important;
607 border: 1px solid #1cc !important;
552 margin: 0 auto; }
608 margin: 0 auto; }
553
609
554 .divPattern {
610 .divPattern {
555 width: 600px;
611 width: 600px;
556 display: block;
612 display: block;
557 border: 1px solid #f00 !important;
613 border: 1px solid #f00 !important;
558 margin: 2px auto; }
614 margin: 2px auto; }
559
615
560 /****************************************************************************************/
616 /****************************************************************************************/
561 /****** HEADER *************/
617 /****** HEADER *************/
562 /****************************************************************************************/
618 /****************************************************************************************/
563 header nav {
619 header nav {
564 width: 960px;
620 width: 960px;
565 margin: 0 auto;
621 margin: 0 auto;
566 height: 100%;
622 height: 100%;
567 border: 0px solid #1cc !important; }
623 border: 0px solid #1cc !important; }
568
624
569 header nav a {
625 header nav a {
570 font-family: 'Roboto Condensed', sans-serif;
626 font-family: 'Roboto Condensed', sans-serif;
571 font-size: 1.98em;
627 font-size: 1.98em;
572 text-transform: uppercase;
628 text-transform: uppercase;
573 width: 232px;
629 width: 232px;
574 padding: 2px;
630 padding: 2px;
575 text-align: center;
631 text-align: center;
576 border: 1px solid #ddd !important;
632 border: 1px solid #ddd !important;
577 box-shadow: 1px 1px 2px #ddd;
633 box-shadow: 1px 1px 2px #ddd;
578 display: block;
634 display: block;
579 float: left;
635 float: left;
580 height: 45px;
636 height: 45px;
581 text-decoration: none;
637 text-decoration: none;
582 background: #eee;
638 background: #eee;
583 line-height: 45px;
639 line-height: 45px;
584 color: #15425d;
640 color: #15425d;
585 margin: 0px 1px; }
641 margin: 0px 1px; }
586
642
587 header nav a.selected {
643 header nav a.selected {
588 background: #666;
644 background: #666;
589 color: #fff; }
645 color: #fff; }
590
646
591 #Main_Head {
647 #Main_Head {
592 margin: 0 auto;
648 margin: 0 auto;
593 height: 100%;
649 height: 100%;
594 border: 1px solid #ddd !important;
650 border: 1px solid #ddd !important;
595 box-shadow: 1px 1px 2px #ddd;
651 box-shadow: 1px 1px 2px #ddd;
596 border-radius: 5px;
652 border-radius: 5px;
597 display: block; }
653 display: block; }
598
654
599 .Main_Title {
655 .Main_Title {
600 font-size: 2em;
656 font-size: 2em;
601 letter-spacing: 0.06em;
657 letter-spacing: 0.06em;
602 color: #444;
658 color: #444;
603 text-shadow: 2px 2px #ccc; }
659 text-shadow: 2px 2px #ccc; }
604
660
605 /****************************************************************************************/
661 /****************************************************************************************/
606 /****** FOOTER *************/
662 /****** FOOTER *************/
607 /****************************************************************************************/
663 /****************************************************************************************/
608 footer p {
664 footer p {
609 font-family: 'Roboto Condensed', sans-serif;
665 font-family: 'Roboto Condensed', sans-serif;
610 font-size: 0.98em; }
666 font-size: 0.98em; }
611
667
612 /****************************************************************************************/
668 /****************************************************************************************/
613 /****** LOGIN *************/
669 /****** LOGIN *************/
614 /****************************************************************************************/
670 /****************************************************************************************/
615 #contentLogin {
671 #contentLogin {
616 margin: 0;
672 margin: 0;
617 padding: 0;
673 padding: 0;
618 border: 0px solid #1cc; }
674 border: 0px solid #1cc; }
619
675
620 #MainColumnLogin {
676 #MainColumnLogin {
621 margin: 2px auto;
677 margin: 2px auto;
622 border: 0px solid #f00 !important;
678 border: 0px solid #f00 !important;
623 box-shadow: 1px 1px 2px #ddd;
679 box-shadow: 1px 1px 2px #ddd;
624 border-radius: 2px;
680 border-radius: 2px;
625 background-color: #eee;
681 background-color: #eee;
626 width: 100%;
682 width: 100%;
627 padding: 5px 0px;
683 padding: 5px 0px;
628 }
684 }
629
685
630 .row_reg {
686 .row_reg {
631 margin: 5px auto;
687 margin: 5px auto;
632 display: block;
688 display: block;
633 width: 90%;
689 width: 90%;
634 border: 0px solid #1cc !important;
690 border: 0px solid #1cc !important;
635 line-height: 22px;
691 line-height: 22px;
636 }
692 }
637
693
638 .row_reg label, .row_reg input[type=text] {
694 .row_reg label, .row_reg input[type=text] {
639 float: left;
695 float: left;
640 line-height: 22px;
696 line-height: 22px;
641 }
697 }
642
698
643 #id_username, #id_password {
699 #id_username, #id_password {
644 width: 160px;
700 width: 160px;
645 line-height: 22px;
701 line-height: 22px;
646 }
702 }
647
703
648 .row_reg label {
704 .row_reg label {
649 width: 400px;
705 width: 400px;
650 text-align: right;
706 text-align: right;
651 padding-right: 10px;
707 padding-right: 10px;
652 border: 0px solid #d22 !important;
708 border: 0px solid #d22 !important;
653 }
709 }
654
710
655 .row_reg input[type=submit], .row_reg input[type=button] {
711 .row_reg input[type=submit], .row_reg input[type=button] {
656 margin-left: 410px;
712 margin-left: 410px;
657 width: 80px;
713 width: 80px;
658 }
714 }
659
715
660 #lblTitleLogin {
716 #lblTitleLogin {
661 width: 100%;
717 width: 100%;
662 text-align: center;
718 text-align: center;
663 font-size: 1.2em;
719 font-size: 1.2em;
664 font-weight: normal;
720 font-weight: normal;
665 color: #222;
721 color: #222;
666 border: 0px solid #f00 !important;
722 border: 0px solid #f00 !important;
667 background-color: #ccc;
723 background-color: #ccc;
668 } No newline at end of file
724 }
@@ -1,310 +1,314
1 {% extends "abscontrol/index.html" %}
1 {% extends "abscontrol/index.html" %}
2 {% block title %}ABS CONTROL:::PROFILE:::{{ objProfile.name }}{% endblock %}
2 {% block title %}ABS CONTROL:::PROFILE:::{{ objProfile.name }}{% endblock %}
3 {% block scripting %}
3 {% block scripting %}
4 <script src="/static/static/js/patterns.js"></script>
4 <script src="/static/static/js/patterns.js"></script>
5 {% endblock %}
5 {% endblock %}
6 {% block mnu_profile %}
6 {% block mnu_profile %}
7 <nav class="MnuHorizontal" id="mnuProfiles">
7 <nav class="MnuHorizontal" id="mnuProfiles">
8 <ul>
8 <ul>
9 <li><a href="{% url abscontrol.views.new %}">New</a></li>
9 <li><a href="{% url abscontrol.views.new %}">New</a></li>
10 {% if objProfile and patternChoosen %}
10 <li><a href="{% url abscontrol.views.viewPattern objProfile.id patternChoosen.id %}">View</a></li>
11 <li><a href="{% url abscontrol.views.viewPattern objProfile.id patternChoosen.id %}">View</a></li>
12 {% endif %}
11 {% if objProfile.state == 0 %}
13 {% if objProfile.state == 0 %}
12 <li><a href="/abscontrol/changeName/{{ objProfile.id }}/">Save</a></li>
14 <li><a href="/abscontrol/changeName/{{ objProfile.id }}/">Save</a></li>
13 {% else %}
15 {% else %}
14 <li><a href="#" id="lnkUpdateProfile">Save</a></li>
16 <li><a href="#" id="lnkUpdateProfile">Save</a></li>
15 {% endif %}
17 {% endif %}
16 <li><a href="#">Save as</a></li>
18 <li><a href="#">Save as</a></li>
17 <li><a href="{% url abscontrol.views.importProfile %}">Import</a></li>
19 <li><a href="{% url abscontrol.views.importProfile %}">Import</a></li>
18 {% if objProfile %}
20 {% if objProfile %}
19 <li><a href="#" id="lnkExport" alt="{{ objProfile.id }}">Export</a></li>
21 <li><a href="#" id="lnkExport" alt="{{ objProfile.id }}">Export</a></li>
20 {% endif %}
22 {% endif %}
21 </ul>
23 </ul>
22 </nav>
24 </nav>
23 {% endblock %}
25 {% endblock %}
24 {% block maincolumn%}
26 {% block maincolumn%}
25 <div id="maincolumn">
27 <div id="maincolumn">
26 {% if objProfile.state == 1 %}
28 {% if objProfile.state == 1 %}
27 <form action="{% url abscontrol.views.update objProfile.id %}" method="post" id="frmProfile">
29 <form action="{% url abscontrol.views.update objProfile.id %}" method="post" id="frmProfile">
28 {% csrf_token %}
30 {% csrf_token %}
29 <div id="divProfile">
31 <div id="divProfile">
30 <label for="lblName">Profile:</label>
32 <label for="lblName">Profile:</label>
31 <input type="text" name="txtProfile" value="{{ objProfile.name }}"/>
33 <input type="text" name="txtProfile" value="{{ objProfile.name }}"/>
32 </div>
34 </div>
33 <input type="hidden" name="mode" value="e">
35 <input type="hidden" name="mode" value="e">
34 </form>
36 </form>
35 {% else %}
37 {% else %}
36 <div id="divProfile">
38 <div id="divProfile">
37 <label for="lblName">Profile: {{ objProfile.name }}</label>
39 <label for="lblName">Profile:</label>
38 </div>
40 <label for="lblName" class="lblProfile">{{ objProfile.name }}</label>
41 </div>
42 <div class="cleardivs"></div>
39 {% endif %}
43 {% endif %}
40 {% if patternChoosen %}
44 {% if patternChoosen %}
41 <div id="navPatterns">
45 <div id="navPatterns">
42 <nav class="" id="navPatternList">
46 <nav class="" id="navPatternList">
43 <ul>
47 <ul>
44 {% for element in lsPatterns %}
48 {% for element in lsPatterns %}
45 {% if patternChoosen.id == element.id %}
49 {% if patternChoosen.id == element.id %}
46 <li><a href="{% url abscontrol.views.editPattern objProfile.id element.id %}" class="lnkPatternSelected">{{ element.value }}</a></li>
50 <li><a href="{% url abscontrol.views.editPattern objProfile.id element.id %}" class="lnkPatternSelected">{{ element.value }}</a></li>
47 {% else %}
51 {% else %}
48 <li><a href="{% url abscontrol.views.editPattern objProfile.id element.id %}" class="lnkPattern">{{ element.value }}</a></li>
52 <li><a href="{% url abscontrol.views.editPattern objProfile.id element.id %}" class="lnkPattern">{{ element.value }}</a></li>
49 {% endif %}
53 {% endif %}
50 {% endfor %}
54 {% endfor %}
51 </ul>
55 </ul>
52 </nav>
56 </nav>
53 </div>
57 </div>
54 {% endif %}
58 {% endif %}
55 {% block mnuPattern %}
59 {% block mnuPattern %}
56 <div class="divMenu" id="divMnuPattern">
60 <div class="divMenu" id="divMnuPattern">
57 <nav class="MnuHorizontal">
61 <nav class="MnuHorizontal">
58 <ul class="mnu" id="mnuPattern">
62 <ul class="mnu" id="mnuPattern">
59 {% if lsPatterns|length > 1 %}
63 {% if lsPatterns|length > 1 %}
60 <li><a href="{% url abscontrol.views.deletePattern objProfile.id patternChoosen.id %}">Delete</a></li>
64 <li><a href="{% url abscontrol.views.deletePattern objProfile.id patternChoosen.id %}">Delete</a></li>
61 {% endif %}
65 {% endif %}
62 <li><a href="#" class="" id="lnkSavePattern">Save</a></li>
66 <li><a href="#" class="" id="lnkSavePattern">Save</a></li>
63 {% if lsPatterns|length < 10 %}
67 {% if lsPatterns|length < 10 %}
64 <li><a href="{% url abscontrol.views.addPattern objProfile.id %}">Add</a></li>
68 <li><a href="{% url abscontrol.views.addPattern objProfile.id %}">Add</a></li>
65 {% endif %}
69 {% endif %}
66 </ul>
70 </ul>
67 </nav>
71 </nav>
68 </div>
72 </div>
69 <div class="cleardivs"></div>
73 <div class="cleardivs"></div>
70 {% endblock %}
74 {% endblock %}
71 {% block pattern %}
75 {% block pattern %}
72 <div id="divPattern">
76 <div id="divPattern">
73 <form action="{% url abscontrol.views.savePattern objProfile.id %}" id="frmPattern" method="post">
77 <form action="{% url abscontrol.views.savePattern objProfile.id %}" id="frmPattern" method="post">
74 {% csrf_token %}
78 {% csrf_token %}
75 <div id="antennaUp" class="NewAntenna">
79 <div id="antennaUp" class="NewAntenna">
76 <fieldset class="NewFlsAntenna">
80 <fieldset class="NewFlsAntenna">
77 <legend class="legendAntenna">UP</legend>
81 <legend class="legendAntenna">UP</legend>
78 <div class="NewDivAntenna">
82 <div class="NewDivAntenna">
79 <label for="lblAntenna" class="titleField">Antenna</label>
83 <label for="lblAntenna" class="titleField">Antenna</label>
80 <div class="boxAntenna" id="divtxtAntenna">
84 <div class="boxAntenna" id="divtxtAntenna">
81 {% for lines in arrayAntennaUp %}
85 {% for lines in arrayAntennaUp %}
82 <div class="fullLine">
86 <div class="fullLine">
83 {% if forloop.first %}
87 {% if forloop.first %}
84 <label for="lblSignLeft" class="lblSignLeft">[</label>
88 <label for="lblSignLeft" class="lblSignLeft">[</label>
85 {% else %}
89 {% else %}
86 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
90 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
87 {% endif %}
91 {% endif %}
88 <div class="lineInputs">
92 <div class="lineInputs">
89 <label for="lblSign" class="lblSign">[</label>
93 <label for="lblSign" class="lblSign">[</label>
90 <div class="divValuesAntenna">
94 <div class="divValuesAntenna">
91 {% for line in lines %}
95 {% for line in lines %}
92 <input type="text" name="txtUnitAntennaUp" class="txtUnitAntenna" id="txtUnitAntennaUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{line}}" maxlength="3" />
96 <input type="text" name="txtUnitAntennaUp" class="txtUnitAntenna" id="txtUnitAntennaUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{line}}" maxlength="3" />
93 {% if not forloop.last %},{% endif %}
97 {% if not forloop.last %},{% endif %}
94 {% endfor %}
98 {% endfor %}
95 </div>
99 </div>
96 <label for="lblSign" class="lblSign">]</label>
100 <label for="lblSign" class="lblSign">]</label>
97 </div>
101 </div>
98 {% if forloop.last %}
102 {% if forloop.last %}
99 <label for="lblSignRight" class="lblSignRight">]</label>
103 <label for="lblSignRight" class="lblSignRight">]</label>
100 {% else %}
104 {% else %}
101 <label for="lblSignRight" class="lblSignRight">,</label>
105 <label for="lblSignRight" class="lblSignRight">,</label>
102 {% endif %}
106 {% endif %}
103 </div>
107 </div>
104 <div class="cleardivs"></div>
108 <div class="cleardivs"></div>
105 {% endfor %}
109 {% endfor %}
106 </div>
110 </div>
107 </div>
111 </div>
108 <div class="NewDivTx">
112 <div class="NewDivTx">
109 <label for="lblTx" class="titleField">Tx</label>
113 <label for="lblTx" class="titleField">Tx</label>
110 <div class="boxTR" id="divtxtTR">
114 <div class="boxTR" id="divtxtTR">
111 {% for lines in arrayTxUp %}
115 {% for lines in arrayTxUp %}
112 <div class="fullLine">
116 <div class="fullLine">
113 {% if forloop.first %}
117 {% if forloop.first %}
114 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
118 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
115 {% else %}
119 {% else %}
116 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
120 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
117 {% endif %}
121 {% endif %}
118 <div class="lineInputsTx">
122 <div class="lineInputsTx">
119 <label for="lblSign" class="lblSignTx">[</label>
123 <label for="lblSign" class="lblSignTx">[</label>
120 <div class="divValuesTx">
124 <div class="divValuesTx">
121 {% for line in lines %}
125 {% for line in lines %}
122 <input type="text" name="txtUnitTxUp" class="txtUnitTx" id="txtUnitTxUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
126 <input type="text" name="txtUnitTxUp" class="txtUnitTx" id="txtUnitTxUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
123 {% if not forloop.last %},{% endif %}
127 {% if not forloop.last %},{% endif %}
124 {% endfor %}
128 {% endfor %}
125 </div>
129 </div>
126 <label for="lblSign" class="lblSignTx">]</label>
130 <label for="lblSign" class="lblSignTx">]</label>
127 </div>
131 </div>
128 {% if forloop.last %}
132 {% if forloop.last %}
129 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
133 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
130 {% else %}
134 {% else %}
131 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
135 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
132 {% endif %}
136 {% endif %}
133 </div>
137 </div>
134 <div class="cleardivs"></div>
138 <div class="cleardivs"></div>
135 {% endfor %}
139 {% endfor %}
136 </div>
140 </div>
137 <div class="cleardivs"></div>
141 <div class="cleardivs"></div>
138 </div>
142 </div>
139 <div class="NewDivTx">
143 <div class="NewDivTx">
140 <label for="lblRx" class="titleField">Rx</label>
144 <label for="lblRx" class="titleField">Rx</label>
141 <div class="boxTR" id="divtxtTR">
145 <div class="boxTR" id="divtxtTR">
142 {% for lines in arrayRxUp %}
146 {% for lines in arrayRxUp %}
143 <div class="fullLine">
147 <div class="fullLine">
144 {% if forloop.first %}
148 {% if forloop.first %}
145 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
149 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
146 {% else %}
150 {% else %}
147 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
151 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
148 {% endif %}
152 {% endif %}
149 <div class="lineInputsTx">
153 <div class="lineInputsTx">
150 <label for="lblSign" class="lblSignTx">[</label>
154 <label for="lblSign" class="lblSignTx">[</label>
151 <div class="divValuesTx">
155 <div class="divValuesTx">
152 {% for line in lines %}
156 {% for line in lines %}
153 <input type="text" name="txtUnitRxUp" class="txtUnitRx" id="txtUnitRxUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
157 <input type="text" name="txtUnitRxUp" class="txtUnitRx" id="txtUnitRxUp_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
154 {% if not forloop.last %},{% endif %}
158 {% if not forloop.last %},{% endif %}
155 {% endfor %}
159 {% endfor %}
156 </div>
160 </div>
157 <label for="lblSign" class="lblSignTx">]</label>
161 <label for="lblSign" class="lblSignTx">]</label>
158 </div>
162 </div>
159 {% if forloop.last %}
163 {% if forloop.last %}
160 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
164 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
161 {% else %}
165 {% else %}
162 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
166 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
163 {% endif %}
167 {% endif %}
164 </div>
168 </div>
165 <div class="cleardivs"></div>
169 <div class="cleardivs"></div>
166 {% endfor %}
170 {% endfor %}
167 </div>
171 </div>
168 <div class="cleardivs"></div>
172 <div class="cleardivs"></div>
169 </div>
173 </div>
170 <div class="cleardivs"></div>
174 <div class="cleardivs"></div>
171 <div class="divNewUes">
175 <div class="divNewUes">
172 <label for="lblUes" class="titleUes">Ues:</label>
176 <label for="lblUes" class="titleUes">Ues:</label>
173 <div class="valueUes">
177 <div class="valueUes">
174 <label for="lblUes">[</label>
178 <label for="lblUes">[</label>
175 {% for element in arrayUesUp %}
179 {% for element in arrayUesUp %}
176 <input type="text" name="unitUesUp_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
180 <input type="text" name="unitUesUp_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
177 {% if not forloop.last %},{% endif %}
181 {% if not forloop.last %},{% endif %}
178 {% endfor %}
182 {% endfor %}
179 <label for="lblUes">]</label>
183 <label for="lblUes">]</label>
180 </div>
184 </div>
181 </div>
185 </div>
182 <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}" />
186 <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}" />
183 </fieldset>
187 </fieldset>
184 <input type="hidden" name="txtAntennaUp" value="" />
188 <input type="hidden" name="txtAntennaUp" value="" />
185 <input type="hidden" name="txtTxUp" value="" />
189 <input type="hidden" name="txtTxUp" value="" />
186 <input type="hidden" name="txtRxUp" value="" />
190 <input type="hidden" name="txtRxUp" value="" />
187 <input type="hidden" name="txtUesUp" value="" />
191 <input type="hidden" name="txtUesUp" value="" />
188 </div>
192 </div>
189 <div id="antennaDown" class="NewAntenna">
193 <div id="antennaDown" class="NewAntenna">
190 <fieldset class="NewFlsAntenna">
194 <fieldset class="NewFlsAntenna">
191 <legend class="legendAntenna">DOWN</legend>
195 <legend class="legendAntenna">DOWN</legend>
192 <div class="NewDivAntenna">
196 <div class="NewDivAntenna">
193 <label for="lblAntenna" class="titleField">Antenna</label>
197 <label for="lblAntenna" class="titleField">Antenna</label>
194 <div class="boxAntenna" id="divtxtAntenna">
198 <div class="boxAntenna" id="divtxtAntenna">
195 {% for lines in arrayAntennaDown %}
199 {% for lines in arrayAntennaDown %}
196 <div class="fullLine">
200 <div class="fullLine">
197 {% if forloop.first %}
201 {% if forloop.first %}
198 <label for="lblSignLeft" class="lblSignLeft">[</label>
202 <label for="lblSignLeft" class="lblSignLeft">[</label>
199 {% else %}
203 {% else %}
200 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
204 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
201 {% endif %}
205 {% endif %}
202 <div class="lineInputs">
206 <div class="lineInputs">
203 <label for="lblSign" class="lblSign">[</label>
207 <label for="lblSign" class="lblSign">[</label>
204 <div class="divValuesAntenna">
208 <div class="divValuesAntenna">
205 {% for line in lines %}
209 {% for line in lines %}
206 <input type="text" name="txtUnitAntennaDown" class="txtUnitAntenna" id="txtUnitAntennaDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="3" />
210 <input type="text" name="txtUnitAntennaDown" class="txtUnitAntenna" id="txtUnitAntennaDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="3" />
207 {% if not forloop.last %},{% endif %}
211 {% if not forloop.last %},{% endif %}
208 {% endfor %}
212 {% endfor %}
209 </div>
213 </div>
210 <label for="lblSign" class="lblSign">]</label>
214 <label for="lblSign" class="lblSign">]</label>
211 </div>
215 </div>
212 {% if forloop.last %}
216 {% if forloop.last %}
213 <label for="lblSignRight" class="lblSignRight">]</label>
217 <label for="lblSignRight" class="lblSignRight">]</label>
214 {% else %}
218 {% else %}
215 <label for="lblSignRight" class="lblSignRight">,</label>
219 <label for="lblSignRight" class="lblSignRight">,</label>
216 {% endif %}
220 {% endif %}
217 </div>
221 </div>
218 <div class="cleardivs"></div>
222 <div class="cleardivs"></div>
219 {% endfor %}
223 {% endfor %}
220 </div>
224 </div>
221 </div>
225 </div>
222 <div class="NewDivTx">
226 <div class="NewDivTx">
223 <label for="lblTx" class="titleField">Tx</label>
227 <label for="lblTx" class="titleField">Tx</label>
224 <div class="boxTR" id="divtxtTR">
228 <div class="boxTR" id="divtxtTR">
225 {% for lines in arrayTxDown %}
229 {% for lines in arrayTxDown %}
226 <div class="fullLine">
230 <div class="fullLine">
227 {% if forloop.first %}
231 {% if forloop.first %}
228 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
232 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
229 {% else %}
233 {% else %}
230 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
234 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
231 {% endif %}
235 {% endif %}
232 <div class="lineInputsTx">
236 <div class="lineInputsTx">
233 <label for="lblSign" class="lblSignTx">[</label>
237 <label for="lblSign" class="lblSignTx">[</label>
234 <div class="divValuesTx">
238 <div class="divValuesTx">
235 {% for line in lines %}
239 {% for line in lines %}
236 <input type="text" name="txtUnitTxDown" class="txtUnitTx" id="txtUnitTxDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
240 <input type="text" name="txtUnitTxDown" class="txtUnitTx" id="txtUnitTxDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" maxlength="1" />
237 {% if not forloop.last %},{% endif %}
241 {% if not forloop.last %},{% endif %}
238 {% endfor %}
242 {% endfor %}
239 </div>
243 </div>
240 <label for="lblSign" class="lblSignTx">]</label>
244 <label for="lblSign" class="lblSignTx">]</label>
241 </div>
245 </div>
242 {% if forloop.last %}
246 {% if forloop.last %}
243 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
247 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
244 {% else %}
248 {% else %}
245 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
249 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
246 {% endif %}
250 {% endif %}
247 </div>
251 </div>
248 <div class="cleardivs"></div>
252 <div class="cleardivs"></div>
249 {% endfor %}
253 {% endfor %}
250 </div>
254 </div>
251 <div class="cleardivs"></div>
255 <div class="cleardivs"></div>
252 </div>
256 </div>
253 <div class="NewDivTx">
257 <div class="NewDivTx">
254 <label for="lblRx" class="titleField">Rx</label>
258 <label for="lblRx" class="titleField">Rx</label>
255 <div class="boxTR" id="divtxtTR">
259 <div class="boxTR" id="divtxtTR">
256 {% for lines in arrayRxDown %}
260 {% for lines in arrayRxDown %}
257 <div class="fullLine">
261 <div class="fullLine">
258 {% if forloop.first %}
262 {% if forloop.first %}
259 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
263 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
260 {% else %}
264 {% else %}
261 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
265 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
262 {% endif %}
266 {% endif %}
263 <div class="lineInputsTx">
267 <div class="lineInputsTx">
264 <label for="lblSign" class="lblSignTx">[</label>
268 <label for="lblSign" class="lblSignTx">[</label>
265 <div class="divValuesTx">
269 <div class="divValuesTx">
266 {% for line in lines %}
270 {% for line in lines %}
267 <input type="text" name="txtUnitRxDown" class="txtUnitRx" id="txtUnitRxDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" />
271 <input type="text" name="txtUnitRxDown" class="txtUnitRx" id="txtUnitRxDown_{{ forloop.parentloop.counter0 }}_{{ forloop.counter0 }}" value="{{ line }}" />
268 {% if not forloop.last %},{% endif %}
272 {% if not forloop.last %},{% endif %}
269 {% endfor %}
273 {% endfor %}
270 </div>
274 </div>
271 <label for="lblSign" class="lblSignTx">]</label>
275 <label for="lblSign" class="lblSignTx">]</label>
272 </div>
276 </div>
273 {% if forloop.last %}
277 {% if forloop.last %}
274 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
278 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
275 {% else %}
279 {% else %}
276 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
280 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
277 {% endif %}
281 {% endif %}
278 </div>
282 </div>
279 <div class="cleardivs"></div>
283 <div class="cleardivs"></div>
280 {% endfor %}
284 {% endfor %}
281 </div>
285 </div>
282 <div class="cleardivs"></div>
286 <div class="cleardivs"></div>
283 </div>
287 </div>
284 <div class="cleardivs"></div>
288 <div class="cleardivs"></div>
285 <div class="divNewUes">
289 <div class="divNewUes">
286 <label for="lblUes" class="titleUes">Ues:</label>
290 <label for="lblUes" class="titleUes">Ues:</label>
287 <div class="valueUes">
291 <div class="valueUes">
288 <label for="lblUes">[</label>
292 <label for="lblUes">[</label>
289 {% for element in arrayUesDown %}
293 {% for element in arrayUesDown %}
290 <input type="text" name="unitUesDown_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
294 <input type="text" name="unitUesDown_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
291 {% if not forloop.last %},{% endif %}
295 {% if not forloop.last %},{% endif %}
292 {% endfor %}
296 {% endfor %}
293 <label for="lblUes">]</label>
297 <label for="lblUes">]</label>
294 </div>
298 </div>
295 </div>
299 </div>
296 <input type="hidden" name="txtAntennaDownId" value="{{ antennaDown.id }}" />
300 <input type="hidden" name="txtAntennaDownId" value="{{ antennaDown.id }}" />
297 </fieldset>
301 </fieldset>
298 <input type="hidden" name="txtAntennaDown" value="" />
302 <input type="hidden" name="txtAntennaDown" value="" />
299 <input type="hidden" name="txtTxDown" value="" />
303 <input type="hidden" name="txtTxDown" value="" />
300 <input type="hidden" name="txtRxDown" value="" />
304 <input type="hidden" name="txtRxDown" value="" />
301 <input type="hidden" name="txtUesDown" value="" />
305 <input type="hidden" name="txtUesDown" value="" />
302 </div>
306 </div>
303 <input type="hidden" name="pattern_id" id="pattern_id" value="{{ patternChoosen.id }}" />
307 <input type="hidden" name="pattern_id" id="pattern_id" value="{{ patternChoosen.id }}" />
304 <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" />
308 <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" />
305 <input type="hidden" name="mode" value="e">
309 <input type="hidden" name="mode" value="e">
306 </form>
310 </form>
307 </div>
311 </div>
308 {% endblock %}
312 {% endblock %}
309 </div>
313 </div>
310 {% endblock %}
314 {% endblock %}
@@ -1,264 +1,264
1 {% extends "abscontrol/index.html" %}
1 {% extends "abscontrol/index.html" %}
2 {% load url from future %}
2 {% load url from future %}
3 {% block title %}ABS CONTROL:::::NEW PROFILE{% endblock %}
3 {% block title %}ABS CONTROL:::::NEW PROFILE{% endblock %}
4 {% block scripting %}
4 {% block scripting %}
5 <script src="/static/static/js/patterns.js"></script>
5 <script src="/static/static/js/patterns.js"></script>
6 {% endblock %}
6 {% endblock %}
7 {% block maincolumn%}
7 {% block maincolumn%}
8 <div id="maincolumn">
8 <div id="maincolumn">
9 <!-- <form action="/abscontrol/{{ profile_id }}/save/" method="post" id="frmPattern"> -->
10 <form action="/abscontrol/upgrade/{{ profile_id }}/" method="post" id="frmPattern">
9 <form action="/abscontrol/upgrade/{{ profile_id }}/" method="post" id="frmPattern">
11 {% csrf_token %}
10 {% csrf_token %}
12 <div id="divProfile">
11 <div id="divProfile">
13 <label for="lblName">Profile: {{ profile_name }}</label>
12 <label for="lblName">Profile:</label>
13 <label for="lblName" class="lblProfile">{{ profile_name }}</label>
14 </div>
14 </div>
15 {% block mnuPattern %}
15 {% block mnuPattern %}
16 <div class="divMenu" id="divMnuPattern">
16 <div class="divMenu" id="divMnuPattern">
17 <nav class="MnuHorizontal">
17 <nav class="MnuHorizontal">
18 <ul class="mnu" id="mnuPattern">
18 <ul class="mnu" id="mnuPattern">
19 <li><a href="#" id="lnkSavePattern">Save</a></li>
19 <li><a href="#" id="lnkSavePattern">Save</a></li>
20 </ul>
20 </ul>
21 </nav>
21 </nav>
22 </div>
22 </div>
23 <div class="cleardivs"></div>
23 <div class="cleardivs"></div>
24 {% endblock %}
24 {% endblock %}
25 <div id="divPattern">
25 <div id="divPattern">
26 <div id="antennaUp" class="NewAntenna">
26 <div id="antennaUp" class="NewAntenna">
27 <fieldset class="NewFlsAntenna">
27 <fieldset class="NewFlsAntenna">
28 <legend class="legendAntenna">UP</legend>
28 <legend class="legendAntenna">UP</legend>
29 <div class="NewDivAntenna">
29 <div class="NewDivAntenna">
30 <label for="lblAntenna" class="titleField">Antenna</label>
30 <label for="lblAntenna" class="titleField">Antenna</label>
31 <div class="boxAntenna" id="divtxtAntenna">
31 <div class="boxAntenna" id="divtxtAntenna">
32 {% for i in range %}
32 {% for i in range %}
33 <div class="fullLine">
33 <div class="fullLine">
34 {% if i == 0 %}
34 {% if i == 0 %}
35 <label for="lblSignLeft" class="lblSignLeft">[</label>
35 <label for="lblSignLeft" class="lblSignLeft">[</label>
36 {% else %}
36 {% else %}
37 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
37 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
38 {% endif %}
38 {% endif %}
39 <div class="lineInputs">
39 <div class="lineInputs">
40 <label for="lblSign" class="lblSign">[</label>
40 <label for="lblSign" class="lblSign">[</label>
41 <div class="divValuesAntenna">
41 <div class="divValuesAntenna">
42 {% for j in range %}
42 {% for j in range %}
43 <input type="text" name="txtUnitAntennaUp" class="txtUnitAntenna" id="txtUnitAntennaUp_{{ i }}_{{ j }}" value="0.5" maxlength="3" />
43 <input type="text" name="txtUnitAntennaUp" class="txtUnitAntenna" id="txtUnitAntennaUp_{{ i }}_{{ j }}" value="0.5" maxlength="3" />
44 {% if j != 7 %},{% endif %}
44 {% if j != 7 %},{% endif %}
45 {% endfor %}
45 {% endfor %}
46 </div>
46 </div>
47 <label for="lblSign" class="lblSign">]</label>
47 <label for="lblSign" class="lblSign">]</label>
48 </div>
48 </div>
49 {% if i == 7 %}
49 {% if i == 7 %}
50 <label for="lblSignRight" class="lblSignRight">]</label>
50 <label for="lblSignRight" class="lblSignRight">]</label>
51 {% else %}
51 {% else %}
52 <label for="lblSignRight" class="lblSignRight">,</label>
52 <label for="lblSignRight" class="lblSignRight">,</label>
53 {% endif %}
53 {% endif %}
54 </div>
54 </div>
55 <div class="cleardivs"></div>
55 <div class="cleardivs"></div>
56 {% endfor %}
56 {% endfor %}
57 </div>
57 </div>
58 </div>
58 </div>
59 <div class="NewDivTx">
59 <div class="NewDivTx">
60 <label for="lblTx" class="titleField">Tx</label>
60 <label for="lblTx" class="titleField">Tx</label>
61 <div class="boxTR" id="divtxtTR">
61 <div class="boxTR" id="divtxtTR">
62 {% for i in range %}
62 {% for i in range %}
63 <div class="fullLine">
63 <div class="fullLine">
64 {% if i == 0 %}
64 {% if i == 0 %}
65 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
65 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
66 {% else %}
66 {% else %}
67 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
67 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
68 {% endif %}
68 {% endif %}
69 <div class="lineInputsTx">
69 <div class="lineInputsTx">
70 <label for="lblSign" class="lblSignTx">[</label>
70 <label for="lblSign" class="lblSignTx">[</label>
71 <div class="divValuesTx">
71 <div class="divValuesTx">
72 {% for j in range %}
72 {% for j in range %}
73 <input type="text" name="txtUnitTxUp" class="txtUnitTx" id="txtUnitTxUp_{{ i }}_{{ j }}" value="1" maxlength="1" />
73 <input type="text" name="txtUnitTxUp" class="txtUnitTx" id="txtUnitTxUp_{{ i }}_{{ j }}" value="1" maxlength="1" />
74 {% if j != 7 %},{% endif %}
74 {% if j != 7 %},{% endif %}
75 {% endfor %}
75 {% endfor %}
76 </div>
76 </div>
77 <label for="lblSign" class="lblSignTx">]</label>
77 <label for="lblSign" class="lblSignTx">]</label>
78 </div>
78 </div>
79 {% if i == 7 %}
79 {% if i == 7 %}
80 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
80 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
81 {% else %}
81 {% else %}
82 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
82 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
83 {% endif %}
83 {% endif %}
84 </div>
84 </div>
85 <div class="cleardivs"></div>
85 <div class="cleardivs"></div>
86 {% endfor %}
86 {% endfor %}
87 </div>
87 </div>
88 <div class="cleardivs"></div>
88 <div class="cleardivs"></div>
89 </div>
89 </div>
90 <div class="NewDivTx">
90 <div class="NewDivTx">
91 <label for="lblRx" class="titleField">Rx</label>
91 <label for="lblRx" class="titleField">Rx</label>
92 <div class="boxTR" id="divtxtTR">
92 <div class="boxTR" id="divtxtTR">
93 {% for i in range %}
93 {% for i in range %}
94 <div class="fullLine">
94 <div class="fullLine">
95 {% if i == 0 %}
95 {% if i == 0 %}
96 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
96 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
97 {% else %}
97 {% else %}
98 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
98 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
99 {% endif %}
99 {% endif %}
100 <div class="lineInputsTx">
100 <div class="lineInputsTx">
101 <label for="lblSign" class="lblSignTx">[</label>
101 <label for="lblSign" class="lblSignTx">[</label>
102 <div class="divValuesTx">
102 <div class="divValuesTx">
103 {% for j in range %}
103 {% for j in range %}
104 <input type="text" name="txtUnitRxUp" class="txtUnitRx" id="txtUnitRxUp_{{ i }}_{{ j }}" value="0" maxlength="1" />
104 <input type="text" name="txtUnitRxUp" class="txtUnitRx" id="txtUnitRxUp_{{ i }}_{{ j }}" value="0" maxlength="1" />
105 {% if j != 7 %},{% endif %}
105 {% if j != 7 %},{% endif %}
106 {% endfor %}
106 {% endfor %}
107 </div>
107 </div>
108 <label for="lblSign" class="lblSignTx">]</label>
108 <label for="lblSign" class="lblSignTx">]</label>
109 </div>
109 </div>
110 {% if i == 7 %}
110 {% if i == 7 %}
111 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
111 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
112 {% else %}
112 {% else %}
113 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
113 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
114 {% endif %}
114 {% endif %}
115 </div>
115 </div>
116 <div class="cleardivs"></div>
116 <div class="cleardivs"></div>
117 {% endfor %}
117 {% endfor %}
118 </div>
118 </div>
119 <div class="cleardivs"></div>
119 <div class="cleardivs"></div>
120 </div>
120 </div>
121 <div class="cleardivs"></div>
121 <div class="cleardivs"></div>
122 <div class="divNewUes">
122 <div class="divNewUes">
123 <label for="lblUes" class="titleUes">Ues:</label>
123 <label for="lblUes" class="titleUes">Ues:</label>
124 <div class="valueUes">
124 <div class="valueUes">
125 <label for="lblUes">[</label>
125 <label for="lblUes">[</label>
126 {% for element in arrayUes %}
126 {% for element in arrayUes %}
127 <input type="text" name="unitUesUp_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
127 <input type="text" name="unitUesUp_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
128 {% if not forloop.last %},{% endif %}
128 {% if not forloop.last %},{% endif %}
129 {% endfor %}
129 {% endfor %}
130 <label for="lblUes">]</label>
130 <label for="lblUes">]</label>
131 </div>
131 </div>
132 </div>
132 </div>
133 <div class="checkOnly">
133 <div class="checkOnly">
134 <input type="checkbox" name="chkOnlyRxUp" value="" />
134 <input type="checkbox" name="chkOnlyRxUp" value="" />
135 <label for="lblOnlyRx">Only Rx</label>
135 <label for="lblOnlyRx">Only Rx</label>
136 </div>
136 </div>
137 </fieldset>
137 </fieldset>
138 <input type="hidden" name="txtAntennaUp" value="" />
138 <input type="hidden" name="txtAntennaUp" value="" />
139 <input type="hidden" name="txtTxUp" value="" />
139 <input type="hidden" name="txtTxUp" value="" />
140 <input type="hidden" name="txtRxUp" value="" />
140 <input type="hidden" name="txtRxUp" value="" />
141 <input type="hidden" name="txtUesUp" value="" />
141 <input type="hidden" name="txtUesUp" value="" />
142 </div>
142 </div>
143 <div id="antennaDown" class="NewAntenna">
143 <div id="antennaDown" class="NewAntenna">
144 <fieldset class="NewFlsAntenna">
144 <fieldset class="NewFlsAntenna">
145 <legend class="legendAntenna">DOWN</legend>
145 <legend class="legendAntenna">DOWN</legend>
146 <div class="NewDivAntenna">
146 <div class="NewDivAntenna">
147 <label for="lblAntenna" class="titleField">Antenna</label>
147 <label for="lblAntenna" class="titleField">Antenna</label>
148 <div class="boxAntenna" id="divtxtAntenna">
148 <div class="boxAntenna" id="divtxtAntenna">
149 {% for i in range %}
149 {% for i in range %}
150 <div class="fullLine">
150 <div class="fullLine">
151 {% if i == 0 %}
151 {% if i == 0 %}
152 <label for="lblSignLeft" class="lblSignLeft">[</label>
152 <label for="lblSignLeft" class="lblSignLeft">[</label>
153 {% else %}
153 {% else %}
154 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
154 <label for="lblSignLeft" class="lblSignLeft">&nbsp;</label>
155 {% endif %}
155 {% endif %}
156 <div class="lineInputs">
156 <div class="lineInputs">
157 <label for="lblSign" class="lblSign">[</label>
157 <label for="lblSign" class="lblSign">[</label>
158 <div class="divValuesAntenna">
158 <div class="divValuesAntenna">
159 {% for j in range %}
159 {% for j in range %}
160 <input type="text" name="txtUnitAntennaDown" class="txtUnitAntenna" id="txtUnitAntennaDown_{{ i }}_{{ j }}" value="0.5" maxlength="3" />
160 <input type="text" name="txtUnitAntennaDown" class="txtUnitAntenna" id="txtUnitAntennaDown_{{ i }}_{{ j }}" value="0.5" maxlength="3" />
161 {% if j != 7 %},{% endif %}
161 {% if j != 7 %},{% endif %}
162 {% endfor %}
162 {% endfor %}
163 </div>
163 </div>
164 <label for="lblSign" class="lblSign">]</label>
164 <label for="lblSign" class="lblSign">]</label>
165 </div>
165 </div>
166 {% if i == 7 %}
166 {% if i == 7 %}
167 <label for="lblSignRight" class="lblSignRight">]</label>
167 <label for="lblSignRight" class="lblSignRight">]</label>
168 {% else %}
168 {% else %}
169 <label for="lblSignRight" class="lblSignRight">,</label>
169 <label for="lblSignRight" class="lblSignRight">,</label>
170 {% endif %}
170 {% endif %}
171 </div>
171 </div>
172 <div class="cleardivs"></div>
172 <div class="cleardivs"></div>
173 {% endfor %}
173 {% endfor %}
174 </div>
174 </div>
175 </div>
175 </div>
176 <div class="NewDivTx">
176 <div class="NewDivTx">
177 <label for="lblTx" class="titleField">Tx</label>
177 <label for="lblTx" class="titleField">Tx</label>
178 <div class="boxTR" id="divtxtTR">
178 <div class="boxTR" id="divtxtTR">
179 {% for i in range %}
179 {% for i in range %}
180 <div class="fullLine">
180 <div class="fullLine">
181 {% if i == 0 %}
181 {% if i == 0 %}
182 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
182 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
183 {% else %}
183 {% else %}
184 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
184 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
185 {% endif %}
185 {% endif %}
186 <div class="lineInputsTx">
186 <div class="lineInputsTx">
187 <label for="lblSign" class="lblSignTx">[</label>
187 <label for="lblSign" class="lblSignTx">[</label>
188 <div class="divValuesTx">
188 <div class="divValuesTx">
189 {% for j in range %}
189 {% for j in range %}
190 <input type="text" name="txtUnitTxDown" class="txtUnitTx" id="txtUnitTxDown_{{ i }}_{{ j }}" value="1" maxlength="1" />
190 <input type="text" name="txtUnitTxDown" class="txtUnitTx" id="txtUnitTxDown_{{ i }}_{{ j }}" value="1" maxlength="1" />
191 {% if j != 7 %},{% endif %}
191 {% if j != 7 %},{% endif %}
192 {% endfor %}
192 {% endfor %}
193 </div>
193 </div>
194 <label for="lblSign" class="lblSignTx">]</label>
194 <label for="lblSign" class="lblSignTx">]</label>
195 </div>
195 </div>
196 {% if i == 7 %}
196 {% if i == 7 %}
197 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
197 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
198 {% else %}
198 {% else %}
199 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
199 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
200 {% endif %}
200 {% endif %}
201 </div>
201 </div>
202 <div class="cleardivs"></div>
202 <div class="cleardivs"></div>
203 {% endfor %}
203 {% endfor %}
204 </div>
204 </div>
205 <div class="cleardivs"></div>
205 <div class="cleardivs"></div>
206 </div>
206 </div>
207 <div class="NewDivTx">
207 <div class="NewDivTx">
208 <label for="lblRx" class="titleField">Rx</label>
208 <label for="lblRx" class="titleField">Rx</label>
209 <div class="boxTR" id="divtxtTR">
209 <div class="boxTR" id="divtxtTR">
210 {% for i in range %}
210 {% for i in range %}
211 <div class="fullLine">
211 <div class="fullLine">
212 {% if i == 0 %}
212 {% if i == 0 %}
213 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
213 <label for="lblNewSignLeft" class="lblNewSignLeft">[</label>
214 {% else %}
214 {% else %}
215 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
215 <label for="lblNewSignLeft" class="lblNewSignLeft">&nbsp;</label>
216 {% endif %}
216 {% endif %}
217 <div class="lineInputsTx">
217 <div class="lineInputsTx">
218 <label for="lblSign" class="lblSignTx">[</label>
218 <label for="lblSign" class="lblSignTx">[</label>
219 <div class="divValuesTx">
219 <div class="divValuesTx">
220 {% for j in range %}
220 {% for j in range %}
221 <input type="text" name="txtUnitRxDown" class="txtUnitRx" id="txtUnitRxDown_{{ i }}_{{ j }}" value="0" />
221 <input type="text" name="txtUnitRxDown" class="txtUnitRx" id="txtUnitRxDown_{{ i }}_{{ j }}" value="0" />
222 {% if j != 7 %},{% endif %}
222 {% if j != 7 %},{% endif %}
223 {% endfor %}
223 {% endfor %}
224 </div>
224 </div>
225 <label for="lblSign" class="lblSignTx">]</label>
225 <label for="lblSign" class="lblSignTx">]</label>
226 </div>
226 </div>
227 {% if i == 7 %}
227 {% if i == 7 %}
228 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
228 <label for="lblNewSignRight" class="lblNewSignRight">]</label>
229 {% else %}
229 {% else %}
230 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
230 <label for="lblNewSignRight" class="lblNewSignRight">,</label>
231 {% endif %}
231 {% endif %}
232 </div>
232 </div>
233 <div class="cleardivs"></div>
233 <div class="cleardivs"></div>
234 {% endfor %}
234 {% endfor %}
235 </div>
235 </div>
236 <div class="cleardivs"></div>
236 <div class="cleardivs"></div>
237 </div>
237 </div>
238 <div class="cleardivs"></div>
238 <div class="cleardivs"></div>
239 <div class="divNewUes">
239 <div class="divNewUes">
240 <label for="lblUes" class="titleUes">Ues:</label>
240 <label for="lblUes" class="titleUes">Ues:</label>
241 <div class="valueUes">
241 <div class="valueUes">
242 <label for="lblUes">[</label>
242 <label for="lblUes">[</label>
243 {% for element in arrayUes %}
243 {% for element in arrayUes %}
244 <input type="text" name="unitUesDown_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
244 <input type="text" name="unitUesDown_{{ forloop.counter }}" value="{{ element }}" maxlength="8" class="txtUnitUes" />
245 {% if not forloop.last %},{% endif %}
245 {% if not forloop.last %},{% endif %}
246 {% endfor %}
246 {% endfor %}
247 <label for="lblUes">]</label>
247 <label for="lblUes">]</label>
248 </div>
248 </div>
249 </div>
249 </div>
250 <div class="checkOnly">
250 <div class="checkOnly">
251 <input type="checkbox" name="chkOnlyRxDown" value="" />
251 <input type="checkbox" name="chkOnlyRxDown" value="" />
252 <label for="lblOnlyRx">Only Rx</label>
252 <label for="lblOnlyRx">Only Rx</label>
253 </div>
253 </div>
254 </fieldset>
254 </fieldset>
255 <input type="hidden" name="txtAntennaDown" value="" />
255 <input type="hidden" name="txtAntennaDown" value="" />
256 <input type="hidden" name="txtTxDown" value="" />
256 <input type="hidden" name="txtTxDown" value="" />
257 <input type="hidden" name="txtRxDown" value="" />
257 <input type="hidden" name="txtRxDown" value="" />
258 <input type="hidden" name="txtUesDown" value="" />
258 <input type="hidden" name="txtUesDown" value="" />
259 </div>
259 </div>
260 </div>
260 </div>
261 <input type="hidden" name="mode" value="e">
261 <input type="hidden" name="mode" value="e">
262 </form>
262 </form>
263 </div>
263 </div>
264 {% endblock %}
264 {% endblock %}
@@ -1,141 +1,156
1 {% extends "abscontrol/index.html" %}
1 {% extends "abscontrol/index.html" %}
2 {% block title %}ABS CONTROL:::PROFILE:::{{ objProfile.name }}{% endblock %}
2 {% block title %}ABS CONTROL:::PROFILE:::{{ objProfile.name }}{% endblock %}
3
3
4 {% block mnu_profile %}
4 {% block mnu_profile %}
5 <nav class="MnuHorizontal" id="mnuProfiles">
5 <nav class="MnuHorizontal" id="mnuProfiles">
6 <ul>
6 <ul>
7 <li><a href="{% url abscontrol.views.new %}">New</a></li>
7 <li><a href="{% url abscontrol.views.new %}">New</a></li>
8 {% if patternChoosen %}
8 {% if patternChoosen %}
9 <li><a href="/abscontrol/{{ objProfile.id }}/edit/{{ patternChoosen.id }}">Edit</a></li>
9 <li><a href="/abscontrol/{{ objProfile.id }}/edit/{{ patternChoosen.id }}">Edit</a></li>
10 {% else %}
10 {% else %}
11 <li><a href="/abscontrol/edit/{{ objProfile.id }}">Edit</a></li>
11 <li><a href="/abscontrol/edit/{{ objProfile.id }}">Edit</a></li>
12 {% endif %}
12 {% endif %}
13 <li><a href="#">Save as</a></li>
13 <li><a href="#">Save as</a></li>
14 <li><a href="{% url abscontrol.views.importProfile %}">Import</a></li>
14 <li><a href="{% url abscontrol.views.importProfile %}">Import</a></li>
15 <li><a href="#" id="lnkExport" alt="{{ objProfile.id }}">Export</a></li>
15 <li><a href="#" id="lnkExport" alt="{{ objProfile.id }}">Export</a></li>
16 <li><a href="#" id="lnkSendFile" alt="{{ objProfile.id }}">Send</a></li>
16 <li><a href="#" id="lnkSendFile" alt="{{ objProfile.id }}">Send</a></li>
17 </ul>
17 </ul>
18 </nav>
18 </nav>
19 {% endblock %}
19 {% endblock %}
20 {% block maincolumn%}
20 {% block maincolumn%}
21 {% block activeProfileBar %}
22 <div class="cleardivs"></div>
23 <div id="activeProfileBar">
24 <label for="lblProfileTitle" class="titleBar">Active Profile</label>
25 <img src="/media/navbarsep.png" class="navbarsep">
26 {% if profileActive != None %}
27 <a href="{% url abscontrol.views.view profileActive.id %}" class="lnkActiveProfile">{{ profileActive.name }}</a>
28 {% endif %}
29 {% if patternActive != None %}
30 <img src="/media/navbarsep.png" class="navbarsep">
31 <a href="{% url abscontrol.views.viewPattern profileActive.id patternActive.id %}" class="lnkActiveProfile">{{ patternActive.value }}</a>
32 {% endif %}
33 </div>
34 <div class="cleardivs"></div>
35 {% endblock %}
21 <div id="maincolumn">
36 <div id="maincolumn">
22 {% if objProfile.state == 0 %}
37 {% if objProfile.state == 0 %}
23 <div id="divProfile">
38 <div id="divProfile">
24 <label for="lblName">Profile:</label>
39 <label for="lblName">Profile:</label>
25 <label for="lblProfile">{{ objProfile.name }}</label>
40 <label for="lblProfile">{{ objProfile.name }}</label>
26 </div>
41 </div>
27 {% endif %}
42 {% endif %}
28 {% if patternChoosen %}
43 {% if patternChoosen %}
29 <div id="navPatterns">
44 <div id="navPatterns">
30 <nav class="" id="navPatternList">
45 <nav class="" id="navPatternList">
31 <ul>
46 <ul>
32 {% for element in lsPatterns %}
47 {% for element in lsPatterns %}
33 <li>
48 <li>
34 {% if patternChoosen.id == element.id %}
49 {% if patternChoosen.id == element.id %}
35 {% if element.is_active == 1 %}
50 {% if element.is_active == 1 %}
36 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPatternSelected lnkPatternActive">{{ element.value }}</a>
51 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPatternSelected lnkPatternActive">{{ element.value }}</a>
37 {% else %}
52 {% else %}
38 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPatternSelected">{{ element.value }}</a>
53 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPatternSelected">{{ element.value }}</a>
39 {% endif %}
54 {% endif %}
40 {% else %}
55 {% else %}
41 {% if element.is_active == 1 %}
56 {% if element.is_active == 1 %}
42 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPattern lnkPatternActive">{{ element.value }}</a>
57 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPattern lnkPatternActive">{{ element.value }}</a>
43 {% else %}
58 {% else %}
44 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPattern">{{ element.value }}</a>
59 <a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}/" class="lnkPattern">{{ element.value }}</a>
45 {% endif %}
60 {% endif %}
46 {% endif %}
61 {% endif %}
47 </li>
62 </li>
48 {% endfor %}
63 {% endfor %}
49 </ul>
64 </ul>
50 <div class="cleardivs"></div>
65 <div class="cleardivs"></div>
51 </nav>
66 </nav>
52 </div>
67 </div>
53 {% endif %}
68 {% endif %}
54 {% block mnuPattern %}
69 {% block mnuPattern %}
55 {% if objProfile.is_active == 1 %}
70 {% if objProfile.is_active == 1 %}
56 <div class="divMenu" id="divMnuPattern">
71 <div class="divMenu" id="divMnuPattern">
57 <nav class="MnuHorizontal">
72 <nav class="MnuHorizontal">
58 <ul class="mnu" id="mnuPattern">
73 <ul class="mnu" id="mnuPattern">
59 <li><a href="#" class="lnkChangePattern">Apply</a></li>
74 <li><a href="#" class="lnkChangePattern">Apply</a></li>
60 </ul>
75 </ul>
61 </nav>
76 </nav>
62 </div>
77 </div>
63 <div class="cleardivs"></div>
78 <div class="cleardivs"></div>
64 {% endif %}
79 {% endif %}
65 {% endblock %}
80 {% endblock %}
66 <div id="divPattern">
81 <div id="divPattern">
67 <div id="infoPattern">
82 <div id="infoPattern">
68 <div id="antennaUp" class="antenna" style="float: left">
83 <div id="antennaUp" class="antenna" style="float: left">
69 <fieldset class="flsAntenna">
84 <fieldset class="flsAntenna">
70 <legend class="legendAntenna">UP</legend>
85 <legend class="legendAntenna">UP</legend>
71 <div class="infoAntenna">
86 <div class="infoAntenna">
72 <div class="divAntenna">
87 <div class="divAntenna">
73 <label for="lblAntenna">Antenna</label>
88 <label for="lblAntenna">Antenna</label>
74 <p class="view-textAntenna">{{ antennaUp.value }}</p>
89 <p class="view-textAntenna">{{ antennaUp.value }}</p>
75 </div>
90 </div>
76 <div class="divTx">
91 <div class="divTx">
77 <label for="lblTx">Tx</label>
92 <label for="lblTx">Tx</label>
78 <p>{{ antennaUp.tx }}</p>
93 <p>{{ antennaUp.tx }}</p>
79 </div>
94 </div>
80 <div class="divTx">
95 <div class="divTx">
81 <label for="lblRx">Rx</label>
96 <label for="lblRx">Rx</label>
82 <p>{{ antennaUp.rx }}</p>
97 <p>{{ antennaUp.rx }}</p>
83 </div>
98 </div>
84 <div class="cleardivs"></div>
99 <div class="cleardivs"></div>
85 <div class="divUes">
100 <div class="divUes">
86 <label for="lblUes">Ues:</label>
101 <label for="lblUes">Ues:</label>
87 <label for="lblAntennaUpUes">{{ antennaUp.ues }}</label>
102 <label for="lblAntennaUpUes">{{ antennaUp.ues }}</label>
88 {% if antennaUp.only_rx == 0 %}
103 {% if antennaUp.only_rx == 0 %}
89 <input type="checkbox" name="chkOnlyRxUp" value="" />
104 <input type="checkbox" name="chkOnlyRxUp" value="" />
90 {% else %}
105 {% else %}
91 <input type="checkbox" name="chkOnlyRxUp" value="" checked="checked"/>
106 <input type="checkbox" name="chkOnlyRxUp" value="" checked="checked"/>
92 {% endif %}
107 {% endif %}
93 <label for="lblOnlyRx">Only RX</label>
108 <label for="lblOnlyRx">Only RX</label>
94 </div>
109 </div>
95 </div>
110 </div>
96 </fieldset>
111 </fieldset>
97 </div>
112 </div>
98 {% include 'abscontrol/overjro_up.html' %}
113 {% include 'abscontrol/overjro_up.html' %}
99 <div class="cleardivs"></div>
114 <div class="cleardivs"></div>
100
115
101 <div id="antennaDown" class="antenna" style="float: left">
116 <div id="antennaDown" class="antenna" style="float: left">
102 <fieldset class="flsAntenna">
117 <fieldset class="flsAntenna">
103 <legend class="legendAntenna">DOWN</legend>
118 <legend class="legendAntenna">DOWN</legend>
104 <div class="infoAntenna">
119 <div class="infoAntenna">
105 <div class="divAntenna">
120 <div class="divAntenna">
106 <label for="lblAntenna">Antenna</label>
121 <label for="lblAntenna">Antenna</label>
107 <p class="view-textAntenna">{{ antennaDown.value }}</p>
122 <p class="view-textAntenna">{{ antennaDown.value }}</p>
108 </div>
123 </div>
109 <div class="divTx">
124 <div class="divTx">
110 <label for="lblTx">Tx</label>
125 <label for="lblTx">Tx</label>
111 <p>{{ antennaDown.tx }}</p>
126 <p>{{ antennaDown.tx }}</p>
112 </div>
127 </div>
113 <div class="divTx">
128 <div class="divTx">
114 <label for="lblRx">Rx</label>
129 <label for="lblRx">Rx</label>
115 <p>{{ antennaDown.rx }}</p>
130 <p>{{ antennaDown.rx }}</p>
116 </div>
131 </div>
117 <div class="cleardivs"></div>
132 <div class="cleardivs"></div>
118 <div class="divUes">
133 <div class="divUes">
119 <label for="lblUes">Ues:</label>
134 <label for="lblUes">Ues:</label>
120 <label for="lblAntennaDownUes">{{ antennaDown.ues }}</label>
135 <label for="lblAntennaDownUes">{{ antennaDown.ues }}</label>
121 {% if antennaDown.only_rx == 0 %}
136 {% if antennaDown.only_rx == 0 %}
122 <input type="checkbox" name="chkOnlyRxDown" value="" />
137 <input type="checkbox" name="chkOnlyRxDown" value="" />
123 {% else %}
138 {% else %}
124 <input type="checkbox" name="chkOnlyRxDown" value="" checked="checked"/>
139 <input type="checkbox" name="chkOnlyRxDown" value="" checked="checked"/>
125 {% endif %}
140 {% endif %}
126 <label for="lblOnlyRx">Only RX</label>
141 <label for="lblOnlyRx">Only RX</label>
127 </div>
142 </div>
128 </div>
143 </div>
129
144
130 </fieldset>
145 </fieldset>
131 </div>
146 </div>
132 {% include 'abscontrol/overjro_down.html' %}
147 {% include 'abscontrol/overjro_down.html' %}
133 <div class="cleardivs"></div>
148 <div class="cleardivs"></div>
134 </div>
149 </div>
135 <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}"/>
150 <input type="hidden" name="txtAntennaUpId" value="{{ antennaUp.id }}"/>
136 <input type="hidden" name="txtAntennaDownId" value="{{ antennaDown.id }}"/>
151 <input type="hidden" name="txtAntennaDownId" value="{{ antennaDown.id }}"/>
137 <input type="hidden" name="txtPatternId" value="{{ patternChoosen.id }}"/>
152 <input type="hidden" name="txtPatternId" value="{{ patternChoosen.id }}"/>
138 <input type="hidden" name="txtProfileId" value="{{ objProfile.id }}"/>
153 <input type="hidden" name="txtProfileId" value="{{ objProfile.id }}"/>
139 </div>
154 </div>
140 </div>
155 </div>
141 {% endblock %}
156 {% endblock %}
General Comments 0
You need to be logged in to leave comments. Login now