@@ -0,0 +1,25 | |||
|
1 | /** | |
|
2 | * @author Jose Antonio Sal y Rosas Celi | |
|
3 | * @contact: jose.salyrosas@jro.igp.gob.pe, arturo.jasyrc@gmail.com | |
|
4 | */ | |
|
5 | ||
|
6 | $(document).on('ready',function(){ | |
|
7 | $('#listProfiles').change(function() { | |
|
8 | if($(this).val() != -1){ | |
|
9 | location.href="/abscontrol/view/" + $(this).val(); | |
|
10 | } | |
|
11 | }); | |
|
12 | ||
|
13 | $('#lnkSave').click(function() { | |
|
14 | $('#frmPattern').submit(); | |
|
15 | }); | |
|
16 | ||
|
17 | $('#lnkCancel').click(function() { | |
|
18 | if ($("#pattern_id").val() == 0){ | |
|
19 | location.href="/abscontrol/edit/" + $("#profile_id").val(); | |
|
20 | }else{ | |
|
21 | location.href="/abscontrol/" + $("#profile_id").val() + "/view/" + $("#pattern_id").val() | |
|
22 | } | |
|
23 | ||
|
24 | }); | |
|
25 | }); No newline at end of file |
@@ -0,0 +1,12 | |||
|
1 | /** | |
|
2 | * @author Jose Antonio Sal y Rosas Celi | |
|
3 | * @contact: jose.salyrosas@jro.igp.gob.pe, arturo.jasyrc@gmail.com | |
|
4 | */ | |
|
5 | ||
|
6 | $(document).on('ready',function(){ | |
|
7 | $('#listProfiles').change(function() { | |
|
8 | if($(this).val() != -1){ | |
|
9 | location.href="/abscontrol/view/" + $(this).val(); | |
|
10 | } | |
|
11 | }); | |
|
12 | }); No newline at end of file |
@@ -0,0 +1,65 | |||
|
1 | {% extends "abscontrol/edit.html" %} | |
|
2 | ||
|
3 | {% block mnuPattern %} | |
|
4 | <div class="divMenu" id="divMnuPattern"> | |
|
5 | <nav class="MnuHorizontal"> | |
|
6 | <ul class="mnu" id="mnuPattern"> | |
|
7 | <li><a href="#" id="lnkSave">Save</a></li> | |
|
8 | <li><a href="#" id="lnkCancel">Cancel</a></li> | |
|
9 | </ul> | |
|
10 | </nav> | |
|
11 | </div> | |
|
12 | <div class="cleardivs"></div> | |
|
13 | {% endblock %} | |
|
14 | {% block pattern %} | |
|
15 | <div id="infoPattern"> | |
|
16 | <form action="/abscontrol/{{ objProfile.id }}/save/" id="frmPattern" method="post"> | |
|
17 | <div id="antennaUp"> | |
|
18 | <fieldset class="flsAntenna"> | |
|
19 | <legend>UP</legend> | |
|
20 | <div class="divAntenna"> | |
|
21 | <label for="lblAntenna">Antenna</label> | |
|
22 | <textarea name="txtAntennaUp" class="txtAntenna" cols="38" rows="8">{{ txtAntenna }}</textarea> | |
|
23 | </div> | |
|
24 | <div class="divTx"> | |
|
25 | <label for="lblTx">Tx</label> | |
|
26 | <textarea name="txtTxUp" class="txtTR" cols="20" rows="8">{{ txtTxUp }}</textarea> | |
|
27 | </div> | |
|
28 | <div class="divTx"> | |
|
29 | <label for="lblRx">Rx</label> | |
|
30 | <textarea name="txtRxUp" class="txtTR" cols="20" rows="8">{{ txtRxUp }}</textarea> | |
|
31 | </div> | |
|
32 | <div class="cleardivs"></div> | |
|
33 | <div class="divUes"> | |
|
34 | <label for="lblUes">Ues:</label> | |
|
35 | <input type="text" name="txtUesUp" value="{{ txtUes }}" /> | |
|
36 | </div> | |
|
37 | </fieldset> | |
|
38 | </div> | |
|
39 | <div id="antennaDown"> | |
|
40 | <fieldset class="flsAntenna"> | |
|
41 | <legend>DOWN</legend> | |
|
42 | <div class="divAntenna"> | |
|
43 | <label for="lblAntenna">Antenna</label> | |
|
44 | <textarea name="txtAntennaDown" class="txtAntenna" cols="38" rows="8">{{ txtAntenna }}</textarea> | |
|
45 | </div> | |
|
46 | <div class="divTx"> | |
|
47 | <label for="lblTx">Tx</label> | |
|
48 | <textarea name="txtTxDown" class="txtTR" cols="20" rows="8">{{ txtTxDown }}</textarea> | |
|
49 | </div> | |
|
50 | <div class="divTx"> | |
|
51 | <label for="lblRx">Rx</label> | |
|
52 | <textarea name="txtRxDown" class="txtTR" cols="20" rows="8">{{ txtRxDown }}</textarea> | |
|
53 | </div> | |
|
54 | <div class="cleardivs"></div> | |
|
55 | <div class="divUes"> | |
|
56 | <label for="lblUes">Ues:</label> | |
|
57 | <input type="text" name="txtUesDown" value="{{ txtUes }}" /> | |
|
58 | </div> | |
|
59 | </fieldset> | |
|
60 | </div> | |
|
61 | <input type="hidden" name="pattern_id" id="pattern_id" value="0" /> | |
|
62 | <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" /> | |
|
63 | </form> | |
|
64 | </div> | |
|
65 | {% endblock %} |
@@ -0,0 +1,93 | |||
|
1 | {% extends "abscontrol/index.html" %} | |
|
2 | {% block title %}ABS CONTROL:::PROFILE:::{{ objProfile.name }}{% endblock %} | |
|
3 | {% block scripting %} | |
|
4 | <script src="/static/static/js/patterns.js"></script> | |
|
5 | {% endblock %} | |
|
6 | {% block maincolumn%} | |
|
7 | <div id="maincolumn"> | |
|
8 | <div id="divProfile"> | |
|
9 | <label for="lblName">Profile:</label> | |
|
10 | <label for="lblProfile">{{ objProfile.name }}</label> | |
|
11 | </div> | |
|
12 | <div id="divPattern"> | |
|
13 | {% block mnuPattern %} | |
|
14 | <div class="divMenu" id="divMnuPattern"> | |
|
15 | <nav class="MnuHorizontal"> | |
|
16 | <ul class="mnu" id="mnuPattern"> | |
|
17 | <li><a href="/abscontrol/{{ objProfile.id }}/add">Add</a></li> | |
|
18 | <li><a href="/abscontrol/{{ objProfile.id }}/edit/{{ patternChoosen.id }}">Edit</a></li> | |
|
19 | {% if lsPatterns|length > 1 %} | |
|
20 | <li><a href="/abscontrol/{{ objProfile.id }}/delete/{{ patternChoosen.id }}">Delete</a></li> | |
|
21 | {% endif %} | |
|
22 | <li><a href="#">Apply</a></li> | |
|
23 | </ul> | |
|
24 | </nav> | |
|
25 | </div> | |
|
26 | <div class="cleardivs"></div> | |
|
27 | {% endblock %} | |
|
28 | {% block pattern %} | |
|
29 | <div id="infoPattern"> | |
|
30 | {% if patternChoosen %} | |
|
31 | <div id="navPatterns"> | |
|
32 | <nav class="MnuHorizontal"> | |
|
33 | <ul class="mnu" id="navPatternList"> | |
|
34 | {% for element in lsPatterns %} | |
|
35 | {% if patternChoosen.id == element.id %} | |
|
36 | <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPatternSelected">{{ element.value }}</a></li> | |
|
37 | {% else %} | |
|
38 | <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPattern">{{ element.value }}</a></li> | |
|
39 | {% endif %} | |
|
40 | {% endfor %} | |
|
41 | </ul> | |
|
42 | </nav> | |
|
43 | </div> | |
|
44 | {% endif %} | |
|
45 | <div id="antennaUp"> | |
|
46 | <fieldset class="flsAntenna"> | |
|
47 | <legend>UP</legend> | |
|
48 | <div class="divAntenna"> | |
|
49 | <label for="lblAntenna">Antenna</label> | |
|
50 | <p>{{ antennaUp.value }}</p> | |
|
51 | </div> | |
|
52 | <div class="divTx"> | |
|
53 | <label for="lblTx">Tx</label> | |
|
54 | <p>{{ antennaUp.tx }}</p> | |
|
55 | </div> | |
|
56 | <div class="divTx"> | |
|
57 | <label for="lblRx">Rx</label> | |
|
58 | <p>{{ antennaUp.rx }}</p> | |
|
59 | </div> | |
|
60 | <div class="cleardivs"></div> | |
|
61 | <div class="divUes"> | |
|
62 | <label for="lblUes">Ues:</label> | |
|
63 | <label for="lblAntennaUpUes">{{ antennaUp.ues }}</label> | |
|
64 | </div> | |
|
65 | </fieldset> | |
|
66 | </div> | |
|
67 | <div id="antennaDown"> | |
|
68 | <fieldset class="flsAntenna"> | |
|
69 | <legend>DOWN</legend> | |
|
70 | <div class="divAntenna"> | |
|
71 | <label for="lblAntenna">Antenna</label> | |
|
72 | <p>{{ antennaDown.value }}</textarea> | |
|
73 | </div> | |
|
74 | <div class="divTx"> | |
|
75 | <label for="lblTx">Tx</label> | |
|
76 | <p>{{ antennaDown.tx }}</p> | |
|
77 | </div> | |
|
78 | <div class="divTx"> | |
|
79 | <label for="lblRx">Rx</label> | |
|
80 | <p>{{ antennaDown.rx }}</p> | |
|
81 | </div> | |
|
82 | <div class="cleardivs"></div> | |
|
83 | <div class="divUes"> | |
|
84 | <label for="lblUes">Ues:</label> | |
|
85 | <label for="lblAntennaDownUes">{{ antennaDown.ues }}</label> | |
|
86 | </div> | |
|
87 | </fieldset> | |
|
88 | </div> | |
|
89 | </div> | |
|
90 | {% endblock %} | |
|
91 | </div> | |
|
92 | </div> | |
|
93 | {% endblock %} |
@@ -0,0 +1,69 | |||
|
1 | {% extends "abscontrol/edit.html" %} | |
|
2 | ||
|
3 | {% block mnuPattern %} | |
|
4 | <div class="divMenu" id="divMnuPattern"> | |
|
5 | <nav class="MnuHorizontal"> | |
|
6 | <ul class="mnu" id="mnuPattern"> | |
|
7 | <li><a href="#" id="lnkSave">Save</a></li> | |
|
8 | <li><a href="#" id="lnkCancel">Cancel</a></li> | |
|
9 | </ul> | |
|
10 | </nav> | |
|
11 | </div> | |
|
12 | <div class="cleardivs"></div> | |
|
13 | {% endblock %} | |
|
14 | {% block pattern %} | |
|
15 | <div id="infoPattern"> | |
|
16 | {% if patternChoosen %} | |
|
17 | <div id="navPatterns"> | |
|
18 | <label for="lblValue">Pattern:</label> | |
|
19 | <label for="lblPatternValue">{{ patternChoosen.value }}</label> | |
|
20 | </div> | |
|
21 | {% endif %} | |
|
22 | <div id="antennaUp"> | |
|
23 | <fieldset class="flsAntenna"> | |
|
24 | <legend>UP</legend> | |
|
25 | <div class="divAntenna"> | |
|
26 | <label for="lblAntenna">Antenna</label> | |
|
27 | <textarea name="txtAntennaUp" class="txtAntenna" cols="38" rows="8">{{ antennaUp.value }}</textarea> | |
|
28 | </div> | |
|
29 | <div class="divTx"> | |
|
30 | <label for="lblTx">Tx</label> | |
|
31 | <textarea name="txtTxUp" class="txtTR" cols="20" rows="8">{{ antennaUp.tx }}</textarea> | |
|
32 | </div> | |
|
33 | <div class="divTx"> | |
|
34 | <label for="lblRx">Rx</label> | |
|
35 | <textarea name="txtRxUp" class="txtTR" cols="20" rows="8">{{ antennaUp.rx }}</textarea> | |
|
36 | </div> | |
|
37 | <div class="cleardivs"></div> | |
|
38 | <div class="divUes"> | |
|
39 | <label for="lblUes">Ues:</label> | |
|
40 | <input type="text" name="txtUesUp" value="{{ antennaUp.ues }}" /> | |
|
41 | </div> | |
|
42 | </fieldset> | |
|
43 | </div> | |
|
44 | <div id="antennaDown"> | |
|
45 | <fieldset class="flsAntenna"> | |
|
46 | <legend>DOWN</legend> | |
|
47 | <div class="divAntenna"> | |
|
48 | <label for="lblAntenna">Antenna</label> | |
|
49 | <textarea name="txtAntennaDown" class="txtAntenna" cols="38" rows="8">{{ antennaDown.value }}</textarea> | |
|
50 | </div> | |
|
51 | <div class="divTx"> | |
|
52 | <label for="lblTx">Tx</label> | |
|
53 | <textarea name="txtTxDown" class="txtTR" cols="20" rows="8">{{ antennaDown.tx }}</textarea> | |
|
54 | </div> | |
|
55 | <div class="divTx"> | |
|
56 | <label for="lblRx">Rx</label> | |
|
57 | <textarea name="txtRxDown" class="txtTR" cols="20" rows="8">{{ antennaDown.rx }}</textarea> | |
|
58 | </div> | |
|
59 | <div class="cleardivs"></div> | |
|
60 | <div class="divUes"> | |
|
61 | <label for="lblUes">Ues:</label> | |
|
62 | <input type="text" name="txtUesDown" value="{{ antennaDown.ues }}" /> | |
|
63 | </div> | |
|
64 | </fieldset> | |
|
65 | </div> | |
|
66 | <input type="hidden" name="pattern_id" id="pattern_id" value="{{ patternChoosen.id }}" /> | |
|
67 | <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" /> | |
|
68 | </div> | |
|
69 | {% endblock %} |
@@ -0,0 +1,80 | |||
|
1 | {% extends "abscontrol/edit.html" %} | |
|
2 | ||
|
3 | {% block mnuPattern %} | |
|
4 | <div class="divMenu" id="divMnuPattern"> | |
|
5 | <nav class="MnuHorizontal"> | |
|
6 | <ul class="mnu" id="mnuPattern"> | |
|
7 | <li><a href="/abscontrol/{{ objProfile.id }}/edit/{{ patternChoosen.id }}">Edit</a></li> | |
|
8 | {% if lsPatterns|length > 1 %} | |
|
9 | <li><a href="/abscontrol/{{ objProfile.id }}/delete/{{ patternChoosen.id }}">Delete</a></li> | |
|
10 | {% endif %} | |
|
11 | <li><a href="#">Apply</a></li> | |
|
12 | </ul> | |
|
13 | </nav> | |
|
14 | </div> | |
|
15 | <div class="cleardivs"></div> | |
|
16 | {% endblock %} | |
|
17 | {% block pattern %} | |
|
18 | <div id="infoPattern"> | |
|
19 | {% if patternChoosen %} | |
|
20 | <div id="navPatterns"> | |
|
21 | <nav class="MnuHorizontal"> | |
|
22 | <ul class="mnu" id="navPatternList"> | |
|
23 | {% for element in lsPatterns %} | |
|
24 | {% if patternChoosen.id == element.id %} | |
|
25 | <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPatternSelected">{{ element.value }}</a></li> | |
|
26 | {% else %} | |
|
27 | <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPattern">{{ element.value }}</a></li> | |
|
28 | {% endif %} | |
|
29 | {% endfor %} | |
|
30 | </ul> | |
|
31 | </nav> | |
|
32 | </div> | |
|
33 | {% endif %} | |
|
34 | <div id="antennaUp"> | |
|
35 | <fieldset class="flsAntenna"> | |
|
36 | <legend>UP</legend> | |
|
37 | <div class="divAntenna"> | |
|
38 | <label for="lblAntenna">Antenna</label> | |
|
39 | <p>{{ antennaUp.value }}</p> | |
|
40 | </div> | |
|
41 | <div class="divTx"> | |
|
42 | <label for="lblTx">Tx</label> | |
|
43 | <p>{{ antennaUp.tx }}</p> | |
|
44 | </div> | |
|
45 | <div class="divTx"> | |
|
46 | <label for="lblRx">Rx</label> | |
|
47 | <p>{{ antennaUp.rx }}</p> | |
|
48 | </div> | |
|
49 | <div class="cleardivs"></div> | |
|
50 | <div class="divUes"> | |
|
51 | <label for="lblUes">Ues:</label> | |
|
52 | <label for="lblAntennaUpUes">{{ antennaUp.ues }}</label> | |
|
53 | </div> | |
|
54 | </fieldset> | |
|
55 | </div> | |
|
56 | <div id="antennaDown"> | |
|
57 | <fieldset class="flsAntenna"> | |
|
58 | <legend>DOWN</legend> | |
|
59 | <div class="divAntenna"> | |
|
60 | <label for="lblAntenna">Antenna</label> | |
|
61 | <p>{{ antennaDown.value }}</p> | |
|
62 | </div> | |
|
63 | <div class="divTx"> | |
|
64 | <label for="lblTx">Tx</label> | |
|
65 | <p>{{ antennaDown.tx }}</p> | |
|
66 | </div> | |
|
67 | <div class="divTx"> | |
|
68 | <label for="lblRx">Rx</label> | |
|
69 | <p>{{ antennaDown.rx }}</p> | |
|
70 | </div> | |
|
71 | <div class="cleardivs"></div> | |
|
72 | <div class="divUes"> | |
|
73 | <label for="lblUes">Ues:</label> | |
|
74 | <label for="lblAntennaDownUes">{{ antennaDown.ues }}</label> | |
|
75 | </div> | |
|
76 | </fieldset> | |
|
77 | </div> | |
|
78 | <input type="hidden" name="profile_id" id="profile_id" value="{{ objProfile.id }}" /> | |
|
79 | </div> | |
|
80 | {% endblock %} |
@@ -5,7 +5,13 | |||
|
5 | 5 | url(r'^new/$', 'new'), |
|
6 | 6 | url(r'^save/$', 'save'), |
|
7 | 7 | url(r'^view/(?P<profile_id>\d+)/$', 'view'), |
|
8 | url(r'^edit/(?P<profile_id>\d+)/$', 'edit'), | |
|
8 | 9 | #url(r'^(?P<profile_id>\d+)/$', 'detail'), |
|
10 | url(r'^(?P<profile_id>\d+)/add/$', 'addPattern'), | |
|
11 | url(r'^(?P<profile_id>\d+)/save/$', 'savePattern'), | |
|
12 | url(r'^(?P<profile_id>\d+)/edit/(?P<pattern_id>\d+)/$', 'editPattern'), | |
|
13 | url(r'^(?P<profile_id>\d+)/view/(?P<pattern_id>\d+)/$', 'viewPattern'), | |
|
14 | url(r'^(?P<profile_id>\d+)/delete/(?P<pattern_id>\d+)/$', 'deletePattern'), | |
|
9 | 15 | #url(r'^(?P<poll_id>\d+)/results/$', 'results'), |
|
10 | 16 | #url(r'^(?P<poll_id>\d+)/vote/$', 'vote'), |
|
11 | 17 | ) No newline at end of file |
@@ -1,5 +1,52 | |||
|
1 | 1 | from django.shortcuts import render_to_response, redirect |
|
2 | from abscontrol.models import Profile | |
|
2 | from abscontrol.models import Profile, Pattern | |
|
3 | ||
|
4 | txtAntenna = "[[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |
|
5 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ | |
|
6 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |
|
7 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |
|
8 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ | |
|
9 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |
|
10 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ | |
|
11 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]]" | |
|
12 | ||
|
13 | txtTxUp = "[[1,1,1,1,1,1,1,1]," \ | |
|
14 | "[1,1,1,1,1,1,1,1]," \ | |
|
15 | "[1,1,1,1,1,1,1,1]," \ | |
|
16 | "[1,1,1,1,1,1,1,1]," \ | |
|
17 | "[1,1,1,1,1,1,1,1]," \ | |
|
18 | "[1,1,1,1,1,1,1,1]," \ | |
|
19 | "[1,1,1,1,1,1,1,1]," \ | |
|
20 | "[1,1,1,1,1,1,1,1]]" | |
|
21 | ||
|
22 | txtTxDown = "[[1,1,1,1,0,0,0,0]," \ | |
|
23 | "[1,1,1,1,0,0,0,0]," \ | |
|
24 | "[1,1,1,1,0,0,0,0]," \ | |
|
25 | "[1,1,1,1,0,0,0,0]," \ | |
|
26 | "[0,0,0,0,1,1,1,1]," \ | |
|
27 | "[0,0,0,0,1,1,1,1]," \ | |
|
28 | "[0,0,0,0,1,1,1,1]," \ | |
|
29 | "[0,0,0,0,1,1,1,1]]" | |
|
30 | ||
|
31 | txtRxUp = "[[0,0,0,0,1,1,1,1]," \ | |
|
32 | "[0,0,0,0,1,1,1,1]," \ | |
|
33 | "[0,0,0,0,1,1,1,1]," \ | |
|
34 | "[0,0,0,0,1,1,1,1]," \ | |
|
35 | "[1,1,1,1,1,1,1,1]," \ | |
|
36 | "[1,1,1,1,1,1,1,1]," \ | |
|
37 | "[1,1,1,1,1,1,1,1]," \ | |
|
38 | "[1,1,1,1,1,1,1,1]]" | |
|
39 | ||
|
40 | txtRxDown = "[[1,1,1,1,1,1,1,1]," \ | |
|
41 | "[1,1,1,1,1,1,1,1]," \ | |
|
42 | "[1,1,1,1,1,1,1,1]," \ | |
|
43 | "[1,1,1,1,1,1,1,1]," \ | |
|
44 | "[1,1,1,1,1,1,1,1]," \ | |
|
45 | "[1,1,1,1,1,1,1,1]," \ | |
|
46 | "[1,1,1,1,1,1,1,1]," \ | |
|
47 | "[1,1,1,1,1,1,1,1]]" | |
|
48 | ||
|
49 | txtUes = "[0.533333,0.00000,1.06667,0.00000]" | |
|
3 | 50 | |
|
4 | 51 | def index(request): |
|
5 | 52 | #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5] |
@@ -8,48 +55,6 | |||
|
8 | 55 | |
|
9 | 56 | def new(request): |
|
10 | 57 | profile_list = Profile.objects.all() |
|
11 | txtAntenna = "[[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |
|
12 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ | |
|
13 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |
|
14 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |
|
15 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ | |
|
16 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]," \ | |
|
17 | "[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]," \ | |
|
18 | "[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]]" | |
|
19 | txtTxUp = "[[1,1,1,1,1,1,1,1]," \ | |
|
20 | "[1,1,1,1,1,1,1,1]," \ | |
|
21 | "[1,1,1,1,1,1,1,1]," \ | |
|
22 | "[1,1,1,1,1,1,1,1]," \ | |
|
23 | "[1,1,1,1,1,1,1,1]," \ | |
|
24 | "[1,1,1,1,1,1,1,1]," \ | |
|
25 | "[1,1,1,1,1,1,1,1]," \ | |
|
26 | "[1,1,1,1,1,1,1,1]]" | |
|
27 | txtTxDown = "[[1,1,1,1,0,0,0,0]," \ | |
|
28 | "[1,1,1,1,0,0,0,0]," \ | |
|
29 | "[1,1,1,1,0,0,0,0]," \ | |
|
30 | "[1,1,1,1,0,0,0,0]," \ | |
|
31 | "[0,0,0,0,1,1,1,1]," \ | |
|
32 | "[0,0,0,0,1,1,1,1]," \ | |
|
33 | "[0,0,0,0,1,1,1,1]," \ | |
|
34 | "[0,0,0,0,1,1,1,1]]" | |
|
35 | txtRxUp = "[[0,0,0,0,1,1,1,1]," \ | |
|
36 | "[0,0,0,0,1,1,1,1]," \ | |
|
37 | "[0,0,0,0,1,1,1,1]," \ | |
|
38 | "[0,0,0,0,1,1,1,1]," \ | |
|
39 | "[1,1,1,1,1,1,1,1]," \ | |
|
40 | "[1,1,1,1,1,1,1,1]," \ | |
|
41 | "[1,1,1,1,1,1,1,1]," \ | |
|
42 | "[1,1,1,1,1,1,1,1]]" | |
|
43 | txtRxDown = "[[1,1,1,1,1,1,1,1]," \ | |
|
44 | "[1,1,1,1,1,1,1,1]," \ | |
|
45 | "[1,1,1,1,1,1,1,1]," \ | |
|
46 | "[1,1,1,1,1,1,1,1]," \ | |
|
47 | "[1,1,1,1,1,1,1,1]," \ | |
|
48 | "[1,1,1,1,1,1,1,1]," \ | |
|
49 | "[1,1,1,1,1,1,1,1]," \ | |
|
50 | "[1,1,1,1,1,1,1,1]]" | |
|
51 | ||
|
52 | txtUes = "[0.533333,0.00000,1.06667,0.00000]" | |
|
53 | 58 | |
|
54 | 59 | return render_to_response('abscontrol/new.html', {'profile_list': profile_list, |
|
55 | 60 | 'txtAntenna' : txtAntenna, |
@@ -84,6 +89,8 | |||
|
84 | 89 | return redirect(newurl) |
|
85 | 90 | |
|
86 | 91 | def view(request, profile_id): |
|
92 | nextPattern = 0 | |
|
93 | ||
|
87 | 94 | if request.method == 'GET' and 'pattern' in request.GET: |
|
88 | 95 | pattern_value = request.GET["pattern"] |
|
89 | 96 | else: |
@@ -97,7 +104,108 | |||
|
97 | 104 | objAntennaUp = patternChoosen.antennaup_set.get() |
|
98 | 105 | objAntennaDown = patternChoosen.antennadown_set.get() |
|
99 | 106 | |
|
107 | if len(lsPatterns) > 1: | |
|
108 | if pattern_value == 1: | |
|
109 | nextValuePattern = pattern_value + 1 | |
|
110 | nextPattern = objProfile.pattern_set.get(value=nextValuePattern) | |
|
111 | ||
|
112 | ||
|
100 | 113 | return render_to_response('abscontrol/view.html', {'objProfile': objProfile, 'profile_list': profile_list, |
|
101 | 114 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, |
|
102 | 115 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, |
|
116 | 'nextPattern' : nextPattern, | |
|
103 | 117 | }) |
|
118 | ||
|
119 | def edit(request, profile_id): | |
|
120 | if request.method == 'GET' and 'pattern' in request.GET: | |
|
121 | pattern_value = request.GET["pattern"] | |
|
122 | else: | |
|
123 | pattern_value = 1 | |
|
124 | ||
|
125 | profile_list = Profile.objects.all() | |
|
126 | objProfile = Profile.objects.get(pk=profile_id) | |
|
127 | ||
|
128 | lsPatterns = objProfile.pattern_set.all() | |
|
129 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) | |
|
130 | objAntennaUp = patternChoosen.antennaup_set.get() | |
|
131 | objAntennaDown = patternChoosen.antennadown_set.get() | |
|
132 | ||
|
133 | return render_to_response('abscontrol/edit.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
|
134 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, | |
|
135 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, | |
|
136 | }) | |
|
137 | ||
|
138 | def addPattern(request, profile_id): | |
|
139 | profile_list = Profile.objects.all() | |
|
140 | objProfile = Profile.objects.get(pk=profile_id) | |
|
141 | ||
|
142 | return render_to_response('abscontrol/addPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
|
143 | 'txtAntenna' : txtAntenna, 'txtUes' : txtUes, | |
|
144 | 'txtTxUp' : txtTxUp, 'txtTxDown' : txtTxDown, | |
|
145 | 'txtRxUp' : txtRxUp, 'txtRxDown' : txtRxDown, | |
|
146 | }) | |
|
147 | ||
|
148 | def editPattern(request, profile_id, pattern_id): | |
|
149 | profile_list = Profile.objects.all() | |
|
150 | objProfile = Profile.objects.get(pk=profile_id) | |
|
151 | lsPatterns = objProfile.pattern_set.all() | |
|
152 | patternChoosen = Pattern.objects.get(pk=pattern_id) | |
|
153 | objAntennaUp = patternChoosen.antennaup_set.get() | |
|
154 | objAntennaDown = patternChoosen.antennadown_set.get() | |
|
155 | ||
|
156 | return render_to_response('abscontrol/editPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
|
157 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, | |
|
158 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, | |
|
159 | }) | |
|
160 | ||
|
161 | def savePattern(request, profile_id): | |
|
162 | maxValuePattern = 0 | |
|
163 | txtAntennaUp = request.POST["txtAntennaUp"] | |
|
164 | txtTxUp = request.POST["txtTxUp"] | |
|
165 | txtRxUp = request.POST["txtRxUp"] | |
|
166 | txtUesUp = request.POST["txtUesUp"] | |
|
167 | ||
|
168 | txtAntennaDown = request.POST["txtAntennaDown"] | |
|
169 | txtTxDown = request.POST["txtTxDown"] | |
|
170 | txtRxDown = request.POST["txtRxDown"] | |
|
171 | txtUesDown = request.POST["txtUesDown"] | |
|
172 | ||
|
173 | objProfile = Profile.objects.get(pk=profile_id) | |
|
174 | lsPatterns = objProfile.pattern_set.all() | |
|
175 | for element in lsPatterns: | |
|
176 | if element.value > maxValuePattern: | |
|
177 | maxPattern = element.value | |
|
178 | ||
|
179 | if maxPattern < 10 : | |
|
180 | newValuePattern = maxPattern + 1 | |
|
181 | newpattern = objProfile.pattern_set.create(value=newValuePattern) | |
|
182 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) | |
|
183 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) | |
|
184 | ||
|
185 | newurl = '/abscontrol/%d/view/%d' % (int(profile_id), newpattern.id) | |
|
186 | else: | |
|
187 | newurl = '/abscontrol/edit/%d' % (int(profile_id)) | |
|
188 | ||
|
189 | return redirect(newurl) | |
|
190 | ||
|
191 | def viewPattern(request, profile_id, pattern_id): | |
|
192 | ||
|
193 | profile_list = Profile.objects.all() | |
|
194 | objProfile = Profile.objects.get(pk=profile_id) | |
|
195 | ||
|
196 | patternChoosen = Pattern.objects.get(pk=pattern_id) | |
|
197 | ||
|
198 | objAntennaUp = patternChoosen.antennaup_set.get() | |
|
199 | objAntennaDown = patternChoosen.antennadown_set.get() | |
|
200 | ||
|
201 | lsPatterns = objProfile.pattern_set.all() | |
|
202 | ||
|
203 | return render_to_response('abscontrol/viewPattern.html', {'objProfile': objProfile, 'profile_list': profile_list, | |
|
204 | 'patternChoosen' : patternChoosen, 'lsPatterns' : lsPatterns, | |
|
205 | 'antennaUp' : objAntennaUp, 'antennaDown' : objAntennaDown, | |
|
206 | }) | |
|
207 | ||
|
208 | def deletePattern(request, profile_id, pattern_id): | |
|
209 | newurl = '/abscontrol/edit/%d' % int(profile_id) | |
|
210 | ||
|
211 | return redirect(newurl) |
@@ -68,8 +68,14 | |||
|
68 | 68 | #content #maincolumn {float: left; border: 1px solid #000; width: 800px; padding-left: 20px;} |
|
69 | 69 | footer {border: 1px solid #200; font-size: 0.9em; height: 30px; text-align: center; line-height: 20px} |
|
70 | 70 | |
|
71 |
.cleardivs {clear: both; border: |
|
|
72 | ||
|
71 | .cleardivs {clear: both; border: 0px solid #400; height: 0px} | |
|
72 | /****************************************************************************************/ | |
|
73 | /****** ESTILOS GENERALES *****************/ | |
|
74 | /****************************************************************************************/ | |
|
75 | .mnu{ height: 22px; border: 1px solid #c55 !important;} | |
|
76 | .mnu li{ display:inline;} | |
|
77 | /*.MnuHorizontal{ display: -webkit-box; -webkit-box-orient:horizontal;}*/ | |
|
78 | /*.MnuHorizontal a{ display:block; padding:10px; -webkit-box-flex:1; text-align:center; }*/ | |
|
73 | 79 | |
|
74 | 80 | /****************************************************************************************/ |
|
75 | 81 | /****** MENU DE NAVEGACION DE PERFILES **********************************/ |
@@ -77,27 +83,38 | |||
|
77 | 83 | #content #infoProfiles {border: 1px solid #d00; width: 140px; margin: 0px; padding-top: 2px; padding-bottom: 2px} |
|
78 | 84 | .lblInfo {padding-left: 12px; line-height: 20px;} |
|
79 | 85 | #infoProfiles select {padding-left: 12px; line-height: 20px;margin-left: 12px} |
|
80 |
#content nav {border: |
|
|
81 |
#content nav ul{list-style: none; list-style-type: none; margin: |
|
|
82 |
#content nav ul li{line-height: 2 |
|
|
86 | #content nav {border: 0px solid #c55 !important; margin: 0px; font-family: Monaco; font-size: 1.2em;} | |
|
87 | #content nav ul{list-style: none; list-style-type: none; margin: 0; padding-left: 20px; border: 0px solid #eee !important} | |
|
88 | #content nav ul li{line-height: 22px; } | |
|
83 | 89 | |
|
84 | 90 | /****************************************************************************************/ |
|
85 | 91 | /******** FORMULARIO DE PERFILES *************************************/ |
|
86 | 92 | /****************************************************************************************/ |
|
87 | #divProfile {border: 0px solid #dff; margin: 10px 0px; padding: 10px 10px; width: 500px} | |
|
88 | .flsAntenna {margin: 10px 0px; width: 750px; padding: 10px 10px} | |
|
89 |
#divPattern textarea,input[type=text],label |
|
|
93 | #divProfile { border: 0px solid #dff; margin: 10px 0px; padding: 10px 10px; width: 500px } | |
|
94 | .flsAntenna { margin: 10px 0px; width: 750px; padding: 10px 10px } | |
|
95 | #divPattern textarea,input[type=text],label{ font-family: Monaco; font-size: inherit; } | |
|
90 | 96 | |
|
91 | 97 | #divPattern textarea {resize: none; overflow: hidden} |
|
92 | 98 | |
|
93 |
.divAntenna {float: left; margin: 10px; height: 160px; border: |
|
|
94 |
.divAntenna label |
|
|
95 | .txtAntenna {max-width: 250px; max-height: 125px; width: 250px; height: 125px} | |
|
99 | .divAntenna { float: left; margin: 10px; height: 160px; border: 0px solid #fcc !important; width: 260px } | |
|
100 | .divAntenna label{ display: block } | |
|
101 | .txtAntenna { max-width: 250px; max-height: 125px; width: 250px; height: 125px } | |
|
102 | .divAntenna p{ max-width: 250px; max-height: 125px; width: 250px; height: 125px } | |
|
96 | 103 | |
|
97 | .divTx {display: block; float: left; margin: 10px; height: 150px} | |
|
98 |
.divTx label |
|
|
99 |
.divTx textarea |
|
|
104 | .divTx { display: block; float: left; margin: 10px; height: 150px } | |
|
105 | .divTx label{ display: block } | |
|
106 | .divTx textarea{ width: 135px; max-width: 135px; height: 125px; max-height: 125px; text-align: justify } | |
|
107 | .divTx p{ width: 135px; max-width: 135px; height: 125px; max-height: 125px; text-align: justify } | |
|
100 | 108 | |
|
101 | .divUes {display: block; margin: 10px} | |
|
102 | .divUes input[type=text] {width: 240px; max-width: 240px;} | |
|
109 | .divUes { display: block; margin: 10px} | |
|
110 | .divUes input[type=text] { width: 240px; max-width: 240px;} | |
|
103 | 111 | |
|
112 | /****************************************************************************************/ | |
|
113 | /****** MENU DE NAVEGACION DE PATRONES **********************************/ | |
|
114 | /****************************************************************************************/ | |
|
115 | #divMnuPattern{ width: 350px; height: 25px; display: block; border: 1px solid #1cc !important; float: right } | |
|
116 | #infoPattern{ display: block; border: 1px solid #1494f6 !important, margin: 5px 2px; } | |
|
117 | #navPatterns{ margin: 5px auto; padding: 2px; border: 1px solid #d00 !important; width: 400px; height: 25px} | |
|
118 | #navPatterns ul li{ width: 50px; border: 1px solid #1cc !important} | |
|
119 | #navPatterns a{ width: 50px; border: 0px solid #1cc !important} | |
|
120 | #navPatternList{ margin: 0px auto; border: 1px solid #ecc !important} |
@@ -3,15 +3,7 | |||
|
3 | 3 | {% block title %}ABS CONTROL:::::{% endblock %} |
|
4 | 4 | {% block scripting %} |
|
5 | 5 | {% if profile_list %} |
|
6 | <script type="text/javascript"> | |
|
7 | $(document).on('ready',function(){ | |
|
8 | $('#listProfiles').change(function() { | |
|
9 | if($(this).val() != -1){ | |
|
10 | location.href="/abscontrol/view/" + $(this).val(); | |
|
11 | } | |
|
12 | }); | |
|
13 | }); | |
|
14 | </script> | |
|
6 | <script src="/static/static/js/profiles.js"></script> | |
|
15 | 7 | {% endif %} |
|
16 | 8 | {% endblock %} |
|
17 | 9 | {% block content %} |
@@ -45,6 +37,10 | |||
|
45 | 37 | <nav> |
|
46 | 38 | <ul> |
|
47 | 39 | <li><a href="/abscontrol/new">New</a></li> |
|
40 | {% if objProfile %} | |
|
41 | <li><a href="/abscontrol/edit/{{ objProfile.id }}">Edit</a></li> | |
|
42 | <li><a href="#">Save</a></li> | |
|
43 | {% endif %} | |
|
48 | 44 | <li><a href="#">Save as</a></li> |
|
49 | 45 | <li><a href="#">Import</a></li> |
|
50 | 46 | <li><a href="#">Export</a></li> |
@@ -3,61 +3,72 | |||
|
3 | 3 | |
|
4 | 4 | {% block maincolumn%} |
|
5 | 5 | <div id="maincolumn"> |
|
6 | <form action="/abscontrol/save/" method="post"> | |
|
7 | 6 | <div id="divProfile"> |
|
8 | 7 | <label for="lblName">Profile:</label> |
|
9 | 8 | <label for="lblProfile">{{ objProfile.name }}</label> |
|
10 | 9 | </div> |
|
11 | 10 | <div id="divPattern"> |
|
12 | {% if patternChoosen %} | |
|
13 | <label for="lblValue">Pattern:</label> | |
|
14 | <label for="lblPatternValue">{{ patternChoosen.value }}</label> | |
|
15 | {% endif %} | |
|
16 | <div id="antennaUp"> | |
|
17 | <fieldset class="flsAntenna"> | |
|
18 | <legend>UP</legend> | |
|
19 | <div class="divAntenna"> | |
|
20 | <label for="lblAntenna">Antenna</label> | |
|
21 | <textarea name="txtAntennaUp" class="txtAntenna" cols="38" rows="8">{{ antennaUp.value }}</textarea> | |
|
22 |
|
|
|
23 | <div class="divTx"> | |
|
24 |
< |
|
|
25 | <textarea name="txtTxUp" class="txtTR" cols="20" rows="8">{{ antennaUp.tx }}</textarea> | |
|
26 |
|
|
|
27 | <div class="divTx"> | |
|
28 | <label for="lblRx">Rx</label> | |
|
29 | <textarea name="txtRxUp" class="txtTR" cols="20" rows="8">{{ antennaUp.rx }}</textarea> | |
|
30 |
</d |
|
|
31 |
<div class=" |
|
|
32 | <div class="divUes"> | |
|
33 | <label for="lblUes">Ues:</label> | |
|
34 | <label for="lblAntennaUpUes">{{ antennaUp.ues }}</label> | |
|
35 |
< |
|
|
36 | </fieldset> | |
|
37 | </div> | |
|
38 | <div id="antennaDown"> | |
|
39 |
< |
|
|
40 | <legend>DOWN</legend> | |
|
41 | <div class="divAntenna"> | |
|
42 | <label for="lblAntenna">Antenna</label> | |
|
43 | <textarea name="txtAntennaDown" class="txtAntenna" cols="38" rows="8">{{ antennaDown.value }}</textarea> | |
|
44 |
< |
|
|
45 | <div class="divTx"> | |
|
46 |
<label for="lbl |
|
|
47 | <textarea name="txtTxDown" class="txtTR" cols="20" rows="8">{{ antennaDown.tx }}</textarea> | |
|
48 |
</ |
|
|
49 |
|
|
|
50 | <label for="lblRx">Rx</label> | |
|
51 | <textarea name="txtRxDown" class="txtTR" cols="20" rows="8">{{ antennaDown.rx }}</textarea> | |
|
52 |
</d |
|
|
53 |
<div class=" |
|
|
54 | <div class="divUes"> | |
|
55 | <label for="lblUes">Ues:</label> | |
|
56 | <label for="lblAntennaDownUes">{{ antennaDown.ues }}</label> | |
|
57 |
< |
|
|
58 | </fieldset> | |
|
11 | <div id="infoPattern"> | |
|
12 | {% if patternChoosen %} | |
|
13 | <div id="navPatterns"> | |
|
14 | <nav class="MnuHorizontal"> | |
|
15 | <ul class="mnu" id="navPatternList"> | |
|
16 | {% for element in lsPatterns %} | |
|
17 | {% if patternChoosen.id == element.id %} | |
|
18 | <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPatternSelected">{{ element.value }}</a></li> | |
|
19 | {% else %} | |
|
20 | <li><a href="/abscontrol/{{ objProfile.id }}/view/{{ element.id }}" class="lnkPattern">{{ element.value }}</a></li> | |
|
21 | {% endif %} | |
|
22 | {% endfor %} | |
|
23 | </ul> | |
|
24 | </nav> | |
|
25 | </div> | |
|
26 | {% endif %} | |
|
27 | <div id="antennaUp"> | |
|
28 | <fieldset class="flsAntenna"> | |
|
29 | <legend>UP</legend> | |
|
30 | <div class="divAntenna"> | |
|
31 | <label for="lblAntenna">Antenna</label> | |
|
32 | <p>{{ antennaUp.value }}</p> | |
|
33 | </div> | |
|
34 | <div class="divTx"> | |
|
35 | <label for="lblTx">Tx</label> | |
|
36 | <p>{{ antennaUp.tx }}</p> | |
|
37 | </div> | |
|
38 | <div class="divTx"> | |
|
39 | <label for="lblRx">Rx</label> | |
|
40 | <p>{{ antennaUp.rx }}</p> | |
|
41 | </div> | |
|
42 | <div class="cleardivs"></div> | |
|
43 | <div class="divUes"> | |
|
44 | <label for="lblUes">Ues:</label> | |
|
45 | <label for="lblAntennaUpUes">{{ antennaUp.ues }}</label> | |
|
46 | </div> | |
|
47 | </fieldset> | |
|
48 | </div> | |
|
49 | <div id="antennaDown"> | |
|
50 | <fieldset class="flsAntenna"> | |
|
51 | <legend>DOWN</legend> | |
|
52 | <div class="divAntenna"> | |
|
53 | <label for="lblAntenna">Antenna</label> | |
|
54 | <p>{{ antennaDown.value }}</p> | |
|
55 | </div> | |
|
56 | <div class="divTx"> | |
|
57 | <label for="lblTx">Tx</label> | |
|
58 | <p>{{ antennaDown.tx }}</p> | |
|
59 | </div> | |
|
60 | <div class="divTx"> | |
|
61 | <label for="lblRx">Rx</label> | |
|
62 | <p>{{ antennaDown.rx }}</p> | |
|
63 | </div> | |
|
64 | <div class="cleardivs"></div> | |
|
65 | <div class="divUes"> | |
|
66 | <label for="lblUes">Ues:</label> | |
|
67 | <label for="lblAntennaDownUes">{{ antennaDown.ues }}</label> | |
|
68 | </div> | |
|
69 | </fieldset> | |
|
70 | </div> | |
|
59 | 71 | </div> |
|
60 | 72 | </div> |
|
61 | </form> | |
|
62 | 73 | </div> |
|
63 | 74 | {% endblock %} |
@@ -10,6 +10,7 | |||
|
10 | 10 | {% endcomment %} |
|
11 | 11 | <link rel="stylesheet" href="{% static 'static/css/style.css' %}" type="text/css" /> |
|
12 | 12 | <script src="{% static 'static/js/jquery-1.9.1.min.js' %}"></script> |
|
13 | {% block scripting %}{% endblock %} | |
|
13 | 14 | <title>{% block title %}JRO WEB APPS::::{% endblock %}</title> |
|
14 | 15 | <meta name="description" content="JRO WEB APPLICATIONS" /> |
|
15 | 16 | <meta name="author" content="Jose Antonio Sal y Rosas Celi" /> |
@@ -20,7 +21,6 | |||
|
20 | 21 | <link rel="shortcut icon" href="/favicon.ico" /> |
|
21 | 22 | <link rel="apple-touch-icon" href="/apple-touch-icon.png" /> |
|
22 | 23 | {% endcomment %} |
|
23 | {% block scripting %}{% endblock %} | |
|
24 | 24 | </head> |
|
25 | 25 | <body> |
|
26 | 26 | <div id="schema"> |
General Comments 0
You need to be logged in to leave comments.
Login now