@@ -16,7 +16,7 | |||||
16 | if self.pk is None: |
|
16 | if self.pk is None: | |
17 | self.date_create = timezone.now() |
|
17 | self.date_create = timezone.now() | |
18 | self.hits = 0 |
|
18 | self.hits = 0 | |
19 |
self.state = |
|
19 | self.state = 0 | |
20 | else: |
|
20 | else: | |
21 | self.date_modified = timezone.now() |
|
21 | self.date_modified = timezone.now() | |
22 | super(Profile, self).save() |
|
22 | super(Profile, self).save() |
@@ -6,6 +6,7 | |||||
6 | url(r'^save/$', 'save'), |
|
6 | url(r'^save/$', 'save'), | |
7 | url(r'^view/(?P<profile_id>\d+)/$', 'view'), |
|
7 | url(r'^view/(?P<profile_id>\d+)/$', 'view'), | |
8 | url(r'^edit/(?P<profile_id>\d+)/$', 'edit'), |
|
8 | url(r'^edit/(?P<profile_id>\d+)/$', 'edit'), | |
|
9 | #url(r'^(?P<profile_id>\d+)/edit/$', 'edit'), | |||
9 | #url(r'^(?P<profile_id>\d+)/$', 'detail'), |
|
10 | #url(r'^(?P<profile_id>\d+)/$', 'detail'), | |
10 | url(r'^(?P<profile_id>\d+)/add/$', 'addPattern'), |
|
11 | url(r'^(?P<profile_id>\d+)/add/$', 'addPattern'), | |
11 | url(r'^(?P<profile_id>\d+)/save/$', 'savePattern'), |
|
12 | url(r'^(?P<profile_id>\d+)/save/$', 'savePattern'), |
@@ -4,7 +4,11 | |||||
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 | ||||
|
8 | from datetime import datetime | |||
|
9 | ||||
7 | from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp |
|
10 | from abscontrol.models import Profile, Pattern, AntennaDown, AntennaUp | |
|
11 | ||||
8 | from util.readABSFile import readABSFile |
|
12 | from util.readABSFile import readABSFile | |
9 | from util.saveABSFile import saveABSFile |
|
13 | from util.saveABSFile import saveABSFile | |
10 | from scripts.sendFile import sendFile |
|
14 | from scripts.sendFile import sendFile | |
@@ -58,14 +62,22 | |||||
58 |
|
62 | |||
59 | def index(request): |
|
63 | def index(request): | |
60 | #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5] |
|
64 | #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5] | |
61 |
profile_list = Profile.objects. |
|
65 | profile_list = Profile.objects.filter(state=1) | |
62 | return render_to_response('abscontrol/index.html', {'profile_list': profile_list}) |
|
66 | return render_to_response('abscontrol/index.html', {'profile_list': profile_list}) | |
63 |
|
67 | |||
64 | def new(request): |
|
68 | def new(request): | |
65 |
profile_list = Profile.objects. |
|
69 | profile_list = Profile.objects.filter(state=1) | |
|
70 | txtProfile = datetime.now().strftime("%Y%m%d%H%M%S%f") | |||
|
71 | newprofile = Profile(name=txtProfile) | |||
|
72 | newprofile.save() | |||
|
73 | ||||
|
74 | lsPatterns = None | |||
66 |
|
75 | |||
67 | return render_to_response('abscontrol/new.html', {'profile_list': profile_list, |
|
76 | return render_to_response('abscontrol/new.html', {'profile_list': profile_list, | |
68 | 'txtAntenna' : txtAntenna, |
|
77 | 'txtAntenna' : txtAntenna, | |
|
78 | 'profile_name' : newprofile.name, | |||
|
79 | 'profile_id' : newprofile.id, | |||
|
80 | 'lsPatterns' : lsPatterns, | |||
69 | 'txtUes' : txtUes, 'txtTxUp' : txtTxUp, |
|
81 | 'txtUes' : txtUes, 'txtTxUp' : txtTxUp, | |
70 | 'txtTxDown' : txtTxDown, 'txtRxUp' : txtRxUp, |
|
82 | 'txtTxDown' : txtTxDown, 'txtRxUp' : txtRxUp, | |
71 | 'txtRxDown' : txtRxDown, |
|
83 | 'txtRxDown' : txtRxDown, | |
@@ -144,7 +156,7 | |||||
144 | }) |
|
156 | }) | |
145 |
|
157 | |||
146 | def addPattern(request, profile_id): |
|
158 | def addPattern(request, profile_id): | |
147 |
profile_list = Profile.objects. |
|
159 | profile_list = Profile.objects.filter(state=1) | |
148 | objProfile = Profile.objects.get(pk=profile_id) |
|
160 | objProfile = Profile.objects.get(pk=profile_id) | |
149 |
|
161 | |||
150 | return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
162 | return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
@@ -154,7 +166,7 | |||||
154 | }) |
|
166 | }) | |
155 |
|
167 | |||
156 | def editPattern(request, profile_id, pattern_id): |
|
168 | def editPattern(request, profile_id, pattern_id): | |
157 |
profile_list = Profile.objects. |
|
169 | profile_list = Profile.objects.filter(state=1) | |
158 | objProfile = Profile.objects.get(pk=profile_id) |
|
170 | objProfile = Profile.objects.get(pk=profile_id) | |
159 | lsPatterns = objProfile.pattern_set.all() |
|
171 | lsPatterns = objProfile.pattern_set.all() | |
160 | patternChoosen = Pattern.objects.get(pk=pattern_id) |
|
172 | patternChoosen = Pattern.objects.get(pk=pattern_id) | |
@@ -185,22 +197,31 | |||||
185 | txtRxDown = request.POST["txtRxDown"] |
|
197 | txtRxDown = request.POST["txtRxDown"] | |
186 | txtUesDown = request.POST["txtUesDown"] |
|
198 | txtUesDown = request.POST["txtUesDown"] | |
187 |
|
199 | |||
|
200 | mode = request.POST["mode"] | |||
|
201 | ||||
188 | if method == "save": |
|
202 | if method == "save": | |
189 | objProfile = Profile.objects.get(pk=profile_id) |
|
203 | objProfile = Profile.objects.get(pk=profile_id) | |
190 | lsPatterns = objProfile.pattern_set.all() |
|
204 | lsPatterns = objProfile.pattern_set.all() | |
191 |
f |
|
205 | if len(lsPatterns) > 0: | |
192 |
|
|
206 | for element in lsPatterns: | |
193 |
|
|
207 | if element.value > maxValuePattern: | |
|
208 | maxPattern = element.value | |||
|
209 | else: | |||
|
210 | maxPattern = 0 | |||
194 |
|
211 | |||
195 | if maxPattern < 10 : |
|
212 | if maxPattern < 10 : | |
196 | newValuePattern = maxPattern + 1 |
|
213 | newValuePattern = maxPattern + 1 | |
197 | newpattern = objProfile.pattern_set.create(value=newValuePattern) |
|
214 | newpattern = objProfile.pattern_set.create(value=newValuePattern) | |
198 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) |
|
215 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) | |
199 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) |
|
216 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) | |
200 |
|
217 | error = 0 | ||
|
218 | else: | |||
|
219 | error = 1 # Can not add more patterns | |||
|
220 | ||||
|
221 | if mode == "e": | |||
|
222 | newurl = '/abscontrol/%d/edit/%d' % (int(profile_id), newpattern.id) | |||
|
223 | else: | |||
201 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id) |
|
224 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id) | |
202 | else: |
|
|||
203 | newurl = '/abscontrol/edit/%d' % (int(profile_id)) |
|
|||
204 | else: |
|
225 | else: | |
205 | txtAntennaUpId = request.POST["txtAntennaUpId"] |
|
226 | txtAntennaUpId = request.POST["txtAntennaUpId"] | |
206 | objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId) |
|
227 | objAntennaUp = AntennaUp.objects.get(pk=txtAntennaUpId) |
@@ -9,6 +9,10 | |||||
9 | location.href="/abscontrol/view/" + $(this).val(); |
|
9 | location.href="/abscontrol/view/" + $(this).val(); | |
10 | } |
|
10 | } | |
11 | }); |
|
11 | }); | |
|
12 | $('#lnkAdd').click(function() { | |||
|
13 | profile_id = $("#profile_id").val(); | |||
|
14 | location.href="/abscontrol/" + profile_id + "/add/"; | |||
|
15 | }); | |||
12 | $('#lnkSave').click(function() { |
|
16 | $('#lnkSave').click(function() { | |
13 | $('#frmPattern').submit(); |
|
17 | $('#frmPattern').submit(); | |
14 | }); |
|
18 | }); | |
@@ -16,7 +20,7 | |||||
16 | if ($("#pattern_id").val() == 0){ |
|
20 | if ($("#pattern_id").val() == 0){ | |
17 | location.href="/abscontrol/edit/" + $("#profile_id").val(); |
|
21 | location.href="/abscontrol/edit/" + $("#profile_id").val(); | |
18 | }else{ |
|
22 | }else{ | |
19 | location.href="/abscontrol/" + $("#profile_id").val() + "/view/" + $("#pattern_id").val() |
|
23 | location.href="/abscontrol/" + $("#profile_id").val() + "/view/" + $("#pattern_id").val(); | |
20 | } |
|
24 | } | |
21 | }); |
|
25 | }); | |
22 | $('#lnkExport').click(function(){ |
|
26 | $('#lnkExport').click(function(){ |
@@ -59,6 +59,7 | |||||
59 | </fieldset> |
|
59 | </fieldset> | |
60 | </div> |
|
60 | </div> | |
61 | <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" /> |
|
61 | <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" /> | |
|
62 | <input type="hidden" name="mode" value="e"> | |||
62 | </form> |
|
63 | </form> | |
63 | </div> |
|
64 | </div> | |
64 | {% endblock %} |
|
65 | {% endblock %} |
@@ -4,8 +4,9 | |||||
4 | <div class="divMenu" id="divMnuPattern"> |
|
4 | <div class="divMenu" id="divMnuPattern"> | |
5 | <nav class="MnuHorizontal"> |
|
5 | <nav class="MnuHorizontal"> | |
6 | <ul class="mnu" id="mnuPattern"> |
|
6 | <ul class="mnu" id="mnuPattern"> | |
|
7 | <li><a href="#" id="lnkAdd">Add</a></li> | |||
7 | <li><a href="#" id="lnkSave">Save</a></li> |
|
8 | <li><a href="#" id="lnkSave">Save</a></li> | |
8 |
<li><a href="#" id="lnkCancel"> |
|
9 | <li><a href="#" id="lnkCancel">Delete</a></li> | |
9 | </ul> |
|
10 | </ul> | |
10 | </nav> |
|
11 | </nav> | |
11 | </div> |
|
12 | </div> | |
@@ -13,12 +14,20 | |||||
13 | {% endblock %} |
|
14 | {% endblock %} | |
14 | {% block pattern %} |
|
15 | {% block pattern %} | |
15 | <div id="infoPattern"> |
|
16 | <div id="infoPattern"> | |
16 | {% if patternChoosen %} |
|
17 | <div id="navPatterns"> | |
17 |
< |
|
18 | <nav class="" id="navPatternList"> | |
18 | <label for="lblValue">Pattern:</label> |
|
19 | <ul> | |
19 | <label for="lblPatternValue">{{ patternChoosen.value }}</label> |
|
20 | {% for element in lsPatterns %} | |
|
21 | {% if patternChoosen.id == element.id %} | |||
|
22 | <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPatternSelected">{{ element.value }}</a></li> | |||
|
23 | {% else %} | |||
|
24 | <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPattern">{{ element.value }}</a></li> | |||
|
25 | {% endif %} | |||
|
26 | {% endfor %} | |||
|
27 | </ul> | |||
|
28 | </nav> | |||
20 | </div> |
|
29 | </div> | |
21 | {% endif %} |
|
30 | <div class="cleardivs"></div> | |
22 | <form action="/abscontrol/{{ objProfile.id }}/save/" id="frmPattern" method="post"> |
|
31 | <form action="/abscontrol/{{ objProfile.id }}/save/" id="frmPattern" method="post"> | |
23 | <div id="antennaUp"> |
|
32 | <div id="antennaUp"> | |
24 | <fieldset class="flsAntenna"> |
|
33 | <fieldset class="flsAntenna"> | |
@@ -70,4 +79,4 | |||||
70 | <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" /> |
|
79 | <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" /> | |
71 | </form> |
|
80 | </form> | |
72 | </div> |
|
81 | </div> | |
73 | {% endblock %} |
|
82 | {% endblock %} No newline at end of file |
@@ -1,14 +1,24 | |||||
1 | {% extends "abscontrol/index.html" %} |
|
1 | {% extends "abscontrol/index.html" %} | |
2 | {% block title %}ABS CONTROL:::::NEW PROFILE{% endblock %} |
|
2 | {% block title %}ABS CONTROL:::::NEW PROFILE{% endblock %} | |
3 |
|
3 | {% block scripting %} | ||
|
4 | <script src="/static/static/js/patterns.js"></script> | |||
|
5 | {% endblock %} | |||
4 | {% block maincolumn%} |
|
6 | {% block maincolumn%} | |
5 | <div id="maincolumn"> |
|
7 | <div id="maincolumn"> | |
6 | <form action="/abscontrol/save/" method="post"> |
|
8 | <form action="/abscontrol/{{ profile_id }}/save/" method="post" id="frmPattern"> | |
7 | <div id="divProfile"> |
|
9 | <div id="divProfile"> | |
8 | <label for="lblName">Profile:</label> |
|
10 | <label for="lblName">Profile: {{ profile_name }}</label> | |
9 | <input type="text" name="txtProfile" id="" value="" /> |
|
|||
10 | <input type="submit" value="Save" /> |
|
|||
11 | </div> |
|
11 | </div> | |
|
12 | {% block mnuPattern %} | |||
|
13 | <div class="divMenu" id="divMnuPattern"> | |||
|
14 | <nav class="MnuHorizontal"> | |||
|
15 | <ul class="mnu" id="mnuPattern"> | |||
|
16 | <li><a href="#" id="lnkSave">Save</a></li> | |||
|
17 | </ul> | |||
|
18 | </nav> | |||
|
19 | </div> | |||
|
20 | <div class="cleardivs"></div> | |||
|
21 | {% endblock %} | |||
12 | <div id="divPattern"> |
|
22 | <div id="divPattern"> | |
13 | <div id="antennaUp"> |
|
23 | <div id="antennaUp"> | |
14 | <fieldset class="flsAntenna"> |
|
24 | <fieldset class="flsAntenna"> | |
@@ -59,6 +69,7 | |||||
59 | </fieldset> |
|
69 | </fieldset> | |
60 | </div> |
|
70 | </div> | |
61 | </div> |
|
71 | </div> | |
|
72 | <input type="hidden" name="mode" value="e"> | |||
62 | </form> |
|
73 | </form> | |
63 | </div> |
|
74 | </div> | |
64 | {% endblock %} |
|
75 | {% endblock %} |
@@ -50,15 +50,7 | |||||
50 | return value |
|
50 | return value | |
51 |
|
51 | |||
52 | def setFilename(self): |
|
52 | def setFilename(self): | |
53 | initialTime = datetime.today() |
|
53 | return datetime.today().strftime("%Y%m%d%H%M%S%f") | |
54 | filename = str(initialTime) |
|
|||
55 |
|
||||
56 | filename = filename.replace("-","") |
|
|||
57 | filename = filename.replace(":","") |
|
|||
58 | filename = filename.replace(".","") |
|
|||
59 | filename = filename.replace(" ","") |
|
|||
60 |
|
||||
61 | return filename |
|
|||
62 |
|
54 | |||
63 | def saveFile(self, filename): |
|
55 | def saveFile(self, filename): | |
64 | f = open(filename, 'a+') |
|
56 | f = open(filename, 'a+') |
General Comments 0
You need to be logged in to leave comments.
Login now