@@ -0,0 +1,16 | |||
|
1 | {% extends "abscontrol/index.html" %} | |
|
2 | {% block title %}ABS CONTROL:::::IMPORT PROFILE{% endblock %} | |
|
3 | ||
|
4 | {% block content %} | |
|
5 | <div id="content"> | |
|
6 | <form action="/abscontrol/saveImport/" method="post" enctype="multipart/form-data"> | |
|
7 | <div id="divPattern"> | |
|
8 | <div class="divUes"> | |
|
9 | <label for="lblFile">Choose File:</label> | |
|
10 | <input type="file" name="txtFile" /> | |
|
11 | <input type="submit" name="btnSend" value="Upload" /> | |
|
12 | </div> | |
|
13 | </div> | |
|
14 | </form> | |
|
15 | </div> | |
|
16 | {% endblock %} |
@@ -0,0 +1,17 | |||
|
1 | {% extends "abscontrol/index.html" %} | |
|
2 | {% block title %}ABS CONTROL:::::IMPORT PROFILE{% endblock %} | |
|
3 | ||
|
4 | {% block content %} | |
|
5 | <div id="content"> | |
|
6 | <div id="divPattern"> | |
|
7 | <div class="divUes"> | |
|
8 | <label for="lblFile">File:</label> | |
|
9 | <label for="lblFilename">{{ txtFilename }}</label> | |
|
10 | </div> | |
|
11 | <div class="divUes"> | |
|
12 | <label for="lblFile">content:</label> | |
|
13 | <p>{{ content }}</p> | |
|
14 | </div> | |
|
15 | </div> | |
|
16 | </div> | |
|
17 | {% endblock %} |
|
1 | NO CONTENT: new file 10644 |
@@ -0,0 +1,20 | |||
|
1 | ''' | |
|
2 | Created on May 2, 2013 | |
|
3 | ||
|
4 | @author: Jose Antonio Sal y Rosas Celi | |
|
5 | @contact: jose.salyrosas@jro.igp.gob.pe | |
|
6 | ''' | |
|
7 | ||
|
8 | class readABSFile(object): | |
|
9 | ||
|
10 | __scriptName = "readABSFile.py" | |
|
11 | ||
|
12 | def __init__(self, filename): | |
|
13 | self.fileName = filename | |
|
14 | ||
|
15 | def readFile(self): | |
|
16 | destination = open(self.fileName, 'wb+') | |
|
17 | ||
|
18 | destination.close() | |
|
19 | ||
|
20 | No newline at end of file |
@@ -1,33 +1,42 | |||
|
1 | 1 | from abscontrol.models import Profile, Pattern, AntennaUp, AntennaDown |
|
2 | 2 | from django.contrib import admin |
|
3 | 3 | |
|
4 | 4 | class AntennaUpInline(admin.StackedInline): |
|
5 | 5 | model = AntennaUp |
|
6 | 6 | |
|
7 | 7 | class AntennaDownInline(admin.StackedInline): |
|
8 | 8 | model = AntennaDown |
|
9 | 9 | |
|
10 | 10 | class PatternAdmin(admin.ModelAdmin): |
|
11 | 11 | fieldsets = [ |
|
12 | 12 | (None, {'fields': ['value']}), |
|
13 | 13 | ('Date information', {'fields': ['date_create', 'date_modified'], 'classes': ['collapse']}), |
|
14 | 14 | ] |
|
15 | 15 | inlines = [AntennaUpInline] |
|
16 | 16 | inlines = [AntennaDownInline] |
|
17 | 17 | |
|
18 | 18 | class PatternInline(admin.StackedInline): |
|
19 | 19 | model = Pattern |
|
20 | readonly_fields = ['date_create', 'date_modified', 'hits'] | |
|
21 | ||
|
22 | fieldsets = [ | |
|
23 | (None, {'fields': ['value']}), | |
|
24 | ('Date information', {'fields': [('date_create', 'date_modified')], 'classes': ['collapse']}), | |
|
25 | ('State', {'fields': ['hits', 'state'], 'classes': ['collapse', 'wide', 'extrapretty']}), | |
|
26 | ] | |
|
20 | 27 | extra = 0 |
|
21 | 28 | |
|
22 | 29 | class ProfileAdmin(admin.ModelAdmin): |
|
30 | readonly_fields = ['date_create', 'date_modified','hits'] | |
|
23 | 31 | fieldsets = [ |
|
24 | 32 | (None, {'fields': ['name']}), |
|
25 | ('Date information', {'fields': ['date_create', 'date_modified'], 'classes': ['collapse']}), | |
|
33 | ('Date information', {'fields': [('date_create', 'date_modified')], 'classes': ['collapse']}), | |
|
34 | ('State', {'fields': ['hits', 'state'], 'classes': ['collapse']}), | |
|
26 | 35 | ] |
|
27 | 36 | inlines = [PatternInline] |
|
28 | 37 | |
|
29 | 38 | |
|
30 | 39 | admin.site.register(Profile, ProfileAdmin) |
|
31 | admin.site.register(Pattern, PatternAdmin) | |
|
32 | admin.site.register(AntennaUp) | |
|
33 | admin.site.register(AntennaDown) No newline at end of file | |
|
40 | #admin.site.register(Pattern, PatternAdmin) | |
|
41 | #admin.site.register(AntennaUp) | |
|
42 | #admin.site.register(AntennaDown) No newline at end of file |
@@ -1,17 +1,19 | |||
|
1 | 1 | from django.conf.urls import patterns, url |
|
2 | 2 | |
|
3 | 3 | urlpatterns = patterns('abscontrol.views', |
|
4 | 4 | url(r'^$', 'index'), |
|
5 | 5 | url(r'^new/$', 'new'), |
|
6 | 6 | url(r'^save/$', 'save'), |
|
7 | 7 | url(r'^view/(?P<profile_id>\d+)/$', 'view'), |
|
8 | 8 | url(r'^edit/(?P<profile_id>\d+)/$', 'edit'), |
|
9 | 9 | #url(r'^(?P<profile_id>\d+)/$', 'detail'), |
|
10 | 10 | url(r'^(?P<profile_id>\d+)/add/$', 'addPattern'), |
|
11 | 11 | url(r'^(?P<profile_id>\d+)/save/$', 'savePattern'), |
|
12 | 12 | url(r'^(?P<profile_id>\d+)/edit/(?P<pattern_id>\d+)/$', 'editPattern'), |
|
13 | 13 | url(r'^(?P<profile_id>\d+)/view/(?P<pattern_id>\d+)/$', 'viewPattern'), |
|
14 | 14 | url(r'^(?P<profile_id>\d+)/delete/(?P<pattern_id>\d+)/$', 'deletePattern'), |
|
15 | 15 | #url(r'^(?P<poll_id>\d+)/results/$', 'results'), |
|
16 | 16 | #url(r'^(?P<poll_id>\d+)/vote/$', 'vote'), |
|
17 | url(r'^import/$', 'importProfile'), | |
|
18 | url(r'^saveImport/$', 'saveImport'), | |
|
17 | 19 | ) No newline at end of file |
@@ -1,237 +1,261 | |||
|
1 | 1 | from django.shortcuts import render_to_response, redirect |
|
2 | 2 | from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp |
|
3 | 3 | |
|
4 | 4 | txtAntenna = "[[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ |
|
5 | 5 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ |
|
6 | 6 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ |
|
7 | 7 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ |
|
8 | 8 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ |
|
9 | 9 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ |
|
10 | 10 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ |
|
11 | 11 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]]" |
|
12 | 12 | |
|
13 | 13 | txtTxUp = "[[1,1,1,1,1,1,1,1]," \ |
|
14 | 14 | "[1,1,1,1,1,1,1,1]," \ |
|
15 | 15 | "[1,1,1,1,1,1,1,1]," \ |
|
16 | 16 | "[1,1,1,1,1,1,1,1]," \ |
|
17 | 17 | "[1,1,1,1,1,1,1,1]," \ |
|
18 | 18 | "[1,1,1,1,1,1,1,1]," \ |
|
19 | 19 | "[1,1,1,1,1,1,1,1]," \ |
|
20 | 20 | "[1,1,1,1,1,1,1,1]]" |
|
21 | 21 | |
|
22 | 22 | txtTxDown = "[[1,1,1,1,0,0,0,0]," \ |
|
23 | 23 | "[1,1,1,1,0,0,0,0]," \ |
|
24 | 24 | "[1,1,1,1,0,0,0,0]," \ |
|
25 | 25 | "[1,1,1,1,0,0,0,0]," \ |
|
26 | 26 | "[0,0,0,0,1,1,1,1]," \ |
|
27 | 27 | "[0,0,0,0,1,1,1,1]," \ |
|
28 | 28 | "[0,0,0,0,1,1,1,1]," \ |
|
29 | 29 | "[0,0,0,0,1,1,1,1]]" |
|
30 | 30 | |
|
31 | 31 | txtRxUp = "[[0,0,0,0,1,1,1,1]," \ |
|
32 | 32 | "[0,0,0,0,1,1,1,1]," \ |
|
33 | 33 | "[0,0,0,0,1,1,1,1]," \ |
|
34 | 34 | "[0,0,0,0,1,1,1,1]," \ |
|
35 | 35 | "[1,1,1,1,1,1,1,1]," \ |
|
36 | 36 | "[1,1,1,1,1,1,1,1]," \ |
|
37 | 37 | "[1,1,1,1,1,1,1,1]," \ |
|
38 | 38 | "[1,1,1,1,1,1,1,1]]" |
|
39 | 39 | |
|
40 | 40 | txtRxDown = "[[1,1,1,1,1,1,1,1]," \ |
|
41 | 41 | "[1,1,1,1,1,1,1,1]," \ |
|
42 | 42 | "[1,1,1,1,1,1,1,1]," \ |
|
43 | 43 | "[1,1,1,1,1,1,1,1]," \ |
|
44 | 44 | "[1,1,1,1,1,1,1,1]," \ |
|
45 | 45 | "[1,1,1,1,1,1,1,1]," \ |
|
46 | 46 | "[1,1,1,1,1,1,1,1]," \ |
|
47 | 47 | "[1,1,1,1,1,1,1,1]]" |
|
48 | 48 | |
|
49 | 49 | txtUes = "[0.533333,0.00000,1.06667,0.00000]" |
|
50 | 50 | |
|
51 | 51 | def index(request): |
|
52 | 52 | #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5] |
|
53 | 53 | profile_list = Profile.objects.all() |
|
54 | 54 | return render_to_response('abscontrol/index.html', {'profile_list': profile_list}) |
|
55 | 55 | |
|
56 | 56 | def new(request): |
|
57 | 57 | profile_list = Profile.objects.all() |
|
58 | 58 | |
|
59 | 59 | return render_to_response('abscontrol/new.html', {'profile_list': profile_list, |
|
60 | 60 | 'txtAntenna' : txtAntenna, |
|
61 | 61 | 'txtUes' : txtUes, 'txtTxUp' : txtTxUp, |
|
62 | 62 | 'txtTxDown' : txtTxDown, 'txtRxUp' : txtRxUp, |
|
63 | 63 | 'txtRxDown' : txtRxDown, |
|
64 | 64 | }) |
|
65 | 65 | |
|
66 | 66 | def save(request): |
|
67 | 67 | |
|
68 | 68 | txtProfile = request.POST["txtProfile"] |
|
69 | 69 | |
|
70 | 70 | txtAntennaUp = request.POST["txtAntennaUp"] |
|
71 | 71 | txtTxUp = request.POST["txtTxUp"] |
|
72 | 72 | txtRxUp = request.POST["txtRxUp"] |
|
73 | 73 | txtUesUp = request.POST["txtUesUp"] |
|
74 | 74 | |
|
75 | 75 | txtAntennaDown = request.POST["txtAntennaDown"] |
|
76 | 76 | txtTxDown = request.POST["txtTxDown"] |
|
77 | 77 | txtRxDown = request.POST["txtRxDown"] |
|
78 | 78 | txtUesDown = request.POST["txtUesDown"] |
|
79 | 79 | |
|
80 | 80 | newprofile = Profile(name=txtProfile) |
|
81 | 81 | newprofile.save() |
|
82 | 82 | |
|
83 | 83 | newpattern = newprofile.pattern_set.create(value=1) |
|
84 | 84 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) |
|
85 | 85 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) |
|
86 | 86 | |
|
87 | 87 | newurl = '/abscontrol/view/%d' % newprofile.id |
|
88 | 88 | |
|
89 | 89 | return redirect(newurl) |
|
90 | 90 | |
|
91 | 91 | def view(request, profile_id): |
|
92 | 92 | nextPattern = 0 |
|
93 | 93 | |
|
94 | 94 | if request.method == 'GET' and 'pattern' in request.GET: |
|
95 | 95 | pattern_value = request.GET["pattern"] |
|
96 | 96 | else: |
|
97 | 97 | pattern_value = 1 |
|
98 | 98 | |
|
99 | 99 | profile_list = Profile.objects.all() |
|
100 | 100 | objProfile = Profile.objects.get(pk=profile_id) |
|
101 | 101 | |
|
102 | 102 | lsPatterns = objProfile.pattern_set.all() |
|
103 | 103 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) |
|
104 | 104 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
105 | 105 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
106 | 106 | |
|
107 | 107 | if len(lsPatterns) > 1: |
|
108 | 108 | if pattern_value == 1: |
|
109 | 109 | nextValuePattern = pattern_value + 1 |
|
110 | 110 | nextPattern = objProfile.pattern_set.get(value=nextValuePattern) |
|
111 | 111 | |
|
112 | 112 | |
|
113 | 113 | return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
114 | 114 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
115 | 115 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
116 | 116 | 'nextPattern' : nextPattern, |
|
117 | 117 | }) |
|
118 | 118 | |
|
119 | 119 | def edit(request, profile_id): |
|
120 | 120 | if request.method == 'GET' and 'pattern' in request.GET: |
|
121 | 121 | pattern_value = request.GET["pattern"] |
|
122 | 122 | else: |
|
123 | 123 | pattern_value = 1 |
|
124 | 124 | |
|
125 | 125 | profile_list = Profile.objects.all() |
|
126 | 126 | objProfile = Profile.objects.get(pk=profile_id) |
|
127 | 127 | |
|
128 | 128 | lsPatterns = objProfile.pattern_set.all() |
|
129 | 129 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) |
|
130 | 130 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
131 | 131 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
132 | 132 | |
|
133 | 133 | return render_to_response('abscontrol/edit.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
134 | 134 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
135 | 135 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
136 | 136 | }) |
|
137 | 137 | |
|
138 | 138 | def addPattern(request, profile_id): |
|
139 | 139 | profile_list = Profile.objects.all() |
|
140 | 140 | objProfile = Profile.objects.get(pk=profile_id) |
|
141 | 141 | |
|
142 | 142 | return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
143 | 143 | 'txtAntenna' : txtAntenna, 'txtUes' : txtUes, |
|
144 | 144 | 'txtTxUp' : txtTxUp, 'txtTxDown' : txtTxDown, |
|
145 | 145 | 'txtRxUp' : txtRxUp, 'txtRxDown' : txtRxDown, |
|
146 | 146 | }) |
|
147 | 147 | |
|
148 | 148 | def editPattern(request, profile_id, pattern_id): |
|
149 | 149 | profile_list = Profile.objects.all() |
|
150 | 150 | objProfile = Profile.objects.get(pk=profile_id) |
|
151 | 151 | lsPatterns = objProfile.pattern_set.all() |
|
152 | 152 | patternChoosen = Pattern.objects.get(pk=pattern_id) |
|
153 | 153 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
154 | 154 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
155 | 155 | |
|
156 | 156 | return render_to_response('abscontrol/editPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
157 | 157 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
158 | 158 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
159 | 159 | }) |
|
160 | 160 | |
|
161 | 161 | def savePattern(request, profile_id): |
|
162 | 162 | pattern_id = 0 |
|
163 | 163 | method = "save" |
|
164 | 164 | |
|
165 | 165 | if 'pattern_id' in request.POST: |
|
166 | 166 | pattern_id = request.POST["pattern_id"] |
|
167 | 167 | method = "update" |
|
168 | 168 | |
|
169 | 169 | maxValuePattern = 0 |
|
170 | 170 | txtAntennaUp = request.POST["txtAntennaUp"] |
|
171 | 171 | txtTxUp = request.POST["txtTxUp"] |
|
172 | 172 | txtRxUp = request.POST["txtRxUp"] |
|
173 | 173 | txtUesUp = request.POST["txtUesUp"] |
|
174 | 174 | |
|
175 | 175 | txtAntennaDown = request.POST["txtAntennaDown"] |
|
176 | 176 | txtTxDown = request.POST["txtTxDown"] |
|
177 | 177 | txtRxDown = request.POST["txtRxDown"] |
|
178 | 178 | txtUesDown = request.POST["txtUesDown"] |
|
179 | 179 | |
|
180 | 180 | if method == "save": |
|
181 | 181 | objProfile = Profile.objects.get(pk=profile_id) |
|
182 | 182 | lsPatterns = objProfile.pattern_set.all() |
|
183 | 183 | for element in lsPatterns: |
|
184 | 184 | if element.value > maxValuePattern: |
|
185 | 185 | maxPattern = element.value |
|
186 | 186 | |
|
187 | 187 | if maxPattern < 10 : |
|
188 | 188 | newValuePattern = maxPattern + 1 |
|
189 | 189 | newpattern = objProfile.pattern_set.create(value=newValuePattern) |
|
190 | 190 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) |
|
191 | 191 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) |
|
192 | 192 | |
|
193 | 193 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id) |
|
194 | 194 | else: |
|
195 | 195 | newurl = '/abscontrol/edit/%d' % (int(profile_id)) |
|
196 | 196 | else: |
|
197 | 197 | txtAntennaUpId = request.POST["txtAntennaUpId"] |
|
198 | 198 | objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId) |
|
199 | 199 | objAntennaUp.value = txtAntennaUp |
|
200 | 200 | objAntennaUp.tx = txtTxUp |
|
201 | 201 | objAntennaUp.rx = txtRxUp |
|
202 | 202 | objAntennaUp.ues = txtUesUp |
|
203 | 203 | objAntennaUp.save() |
|
204 | 204 | |
|
205 | 205 | txtAntennaDownId = request.POST["txtAntennaDownId"] |
|
206 | 206 | objAntennaDown = AntennaDown.objects.get(pk=txtAntennaDownId) |
|
207 | 207 | objAntennaDown.value = txtAntennaDown |
|
208 | 208 | objAntennaDown.tx = txtTxDown |
|
209 | 209 | objAntennaDown.rx = txtRxDown |
|
210 | 210 | objAntennaDown.ues = txtUesDown |
|
211 | 211 | objAntennaDown.save() |
|
212 | 212 | |
|
213 | 213 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), int(pattern_id)) |
|
214 | 214 | |
|
215 | 215 | return redirect(newurl) |
|
216 | 216 | |
|
217 | 217 | def viewPattern(request, profile_id, pattern_id): |
|
218 | 218 | |
|
219 | 219 | profile_list = Profile.objects.all() |
|
220 | 220 | objProfile = Profile.objects.get(pk=profile_id) |
|
221 | 221 | |
|
222 | 222 | patternChoosen = Pattern.objects.get(pk=pattern_id) |
|
223 | 223 | |
|
224 | 224 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
225 | 225 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
226 | 226 | |
|
227 | 227 | lsPatterns = objProfile.pattern_set.all() |
|
228 | 228 | |
|
229 | 229 | return render_to_response('abscontrol/viewPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
230 | 230 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
231 | 231 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
232 | 232 | }) |
|
233 | 233 | |
|
234 | 234 | def deletePattern(request, profile_id, pattern_id): |
|
235 | 235 | newurl = '/abscontrol/edit/%d' % int(profile_id) |
|
236 | 236 | |
|
237 | 237 | return redirect(newurl) |
|
238 | ||
|
239 | def importProfile(request): | |
|
240 | ||
|
241 | return render_to_response('abscontrol/import.html', { }) | |
|
242 | ||
|
243 | def saveImport(request): | |
|
244 | if request.method == 'POST': | |
|
245 | txtFilename = request.FILES['txtFile'] | |
|
246 | if txtFilename: | |
|
247 | destination = open('/tmp/'+txtFilename.name, 'wb+') | |
|
248 | for chunk in txtFilename.chunks(): | |
|
249 | destination.write(chunk) | |
|
250 | destination.close() | |
|
251 | f = open('/tmp/'+txtFilename.name, 'r') | |
|
252 | content = f.read() | |
|
253 | #for line in f: | |
|
254 | # lsLine = line.readline() | |
|
255 | f.close() | |
|
256 | #content = lsLine | |
|
257 | else: | |
|
258 | txtFilename = "Error" | |
|
259 | content = "Error" | |
|
260 | return render_to_response('abscontrol/upload.html', {'txtFilename': txtFilename, 'content' : content}) | |
|
261 |
@@ -1,60 +1,60 | |||
|
1 | 1 | {% extends "base.html" %} |
|
2 | 2 | |
|
3 | 3 | {% block title %}ABS CONTROL:::::{% endblock %} |
|
4 | 4 | {% block scripting %} |
|
5 | 5 | {% if profile_list %} |
|
6 | 6 | <script src="/static/static/js/profiles.js"></script> |
|
7 | 7 | {% endif %} |
|
8 | 8 | {% endblock %} |
|
9 | 9 | {% block content %} |
|
10 | 10 | <div id="content"> |
|
11 | 11 | {% block leftcolumn %} |
|
12 | 12 | <div id="leftcolumn"> |
|
13 | 13 | <div id="lsProfiles"> |
|
14 | 14 | <div id="infoProfiles"> |
|
15 | 15 | <label for="lblProfile" class="lblInfo">Profiles:</label><br /> |
|
16 | 16 | {% if profile_list %} |
|
17 | 17 | <select name="lsProfiles" id="listProfiles"> |
|
18 | 18 | <option value="-1">Choose ...</option> |
|
19 | 19 | {% for entry in profile_list %} |
|
20 | 20 | {% if objProfile %} |
|
21 | 21 | {% if objProfile.id == entry.id %} |
|
22 | 22 | <option value="{{ entry.id }}" selected>{{ entry.name }}</option> |
|
23 | 23 | {% else %} |
|
24 | 24 | <option value="{{ entry.id }}">{{ entry.name }}</option> |
|
25 | 25 | {% endif %} |
|
26 | 26 | {% else %} |
|
27 | 27 | <option value="{{ entry.id }}">{{ entry.name }}</option> |
|
28 | 28 | {% endif %} |
|
29 | 29 | {% endfor %} |
|
30 | 30 | </select> |
|
31 | 31 | {% else %} |
|
32 | 32 | <label for="lblMessage" class="lblInfo">No profiles.</label> |
|
33 | 33 | {% endif %} |
|
34 | 34 | </div> |
|
35 | 35 | </div> |
|
36 | 36 | {% block mnu_profile %} |
|
37 | 37 | <nav class="MnuVertical" id="mnuProfiles"> |
|
38 | 38 | <ul> |
|
39 | 39 | <li><a href="/abscontrol/new">New</a></li> |
|
40 | 40 | {% if objProfile %} |
|
41 | 41 | <li><a href="/abscontrol/edit/{{ objProfile.id }}">Edit</a></li> |
|
42 | 42 | <li><a href="#">Save</a></li> |
|
43 | 43 | {% endif %} |
|
44 | 44 | <li><a href="#">Save as</a></li> |
|
45 |
<li><a href=" |
|
|
45 | <li><a href="/abscontrol/import">Import</a></li> | |
|
46 | 46 | <li><a href="#">Export</a></li> |
|
47 | 47 | <li><a href="#">Apply</a></li> |
|
48 | 48 | </ul> |
|
49 | 49 | </nav> |
|
50 | 50 | {% endblock %} |
|
51 | 51 | </div> |
|
52 | 52 | {% endblock %} |
|
53 | 53 | {% block maincolumn %} |
|
54 | 54 | <div id="maincolumn"> |
|
55 | 55 | |
|
56 | 56 | </div> |
|
57 | 57 | {% endblock %} |
|
58 | 58 | <div class="cleardivs"></div> |
|
59 | 59 | </div> |
|
60 | 60 | {% endblock %} No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now