@@ -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 %} |
@@ -1,11 +1,17 | |||
|
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 | 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,103 +1,211 | |||
|
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] |
|
6 | 53 | profile_list = Profile.objects.all() |
|
7 | 54 | return render_to_response('abscontrol/index.html', {'profile_list': profile_list}) |
|
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, |
|
56 | 61 | 'txtUes' : txtUes, 'txtTxUp' : txtTxUp, |
|
57 | 62 | 'txtTxDown' : txtTxDown, 'txtRxUp' : txtRxUp, |
|
58 | 63 | 'txtRxDown' : txtRxDown, |
|
59 | 64 | }) |
|
60 | 65 | |
|
61 | 66 | def save(request): |
|
62 | 67 | |
|
63 | 68 | txtProfile = request.POST["txtProfile"] |
|
64 | 69 | |
|
65 | 70 | txtAntennaUp = request.POST["txtAntennaUp"] |
|
66 | 71 | txtTxUp = request.POST["txtTxUp"] |
|
67 | 72 | txtRxUp = request.POST["txtRxUp"] |
|
68 | 73 | txtUesUp = request.POST["txtUesUp"] |
|
69 | 74 | |
|
70 | 75 | txtAntennaDown = request.POST["txtAntennaDown"] |
|
71 | 76 | txtTxDown = request.POST["txtTxDown"] |
|
72 | 77 | txtRxDown = request.POST["txtRxDown"] |
|
73 | 78 | txtUesDown = request.POST["txtUesDown"] |
|
74 | 79 | |
|
75 | 80 | newprofile = Profile(name=txtProfile) |
|
76 | 81 | newprofile.save() |
|
77 | 82 | |
|
78 | 83 | newpattern = newprofile.pattern_set.create(value=1) |
|
79 | 84 | newpattern.antennaup_set.create(value=txtAntennaUp,tx=txtTxUp,rx=txtRxUp,ues=txtUesUp) |
|
80 | 85 | newpattern.antennadown_set.create(value=txtAntennaDown,tx=txtTxDown,rx=txtRxDown,ues=txtUesDown) |
|
81 | 86 | |
|
82 | 87 | newurl = '/abscontrol/view/%d' % newprofile.id |
|
83 | 88 | |
|
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: |
|
90 | 97 | pattern_value = 1 |
|
91 | 98 | |
|
92 | 99 | profile_list = Profile.objects.all() |
|
93 | 100 | objProfile = Profile.objects.get(pk=profile_id) |
|
94 | 101 | |
|
95 | 102 | lsPatterns = objProfile.pattern_set.all() |
|
96 | 103 | patternChoosen = objProfile.pattern_set.get(value=pattern_value) |
|
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) |
@@ -1,103 +1,120 | |||
|
1 | 1 | @font-face { |
|
2 | 2 | font-family: 'Open Sans'; |
|
3 | 3 | font-style: normal; |
|
4 | 4 | font-weight: 300; |
|
5 | 5 | src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff'); |
|
6 | 6 | } |
|
7 | 7 | @font-face { |
|
8 | 8 | font-family: 'Open Sans'; |
|
9 | 9 | font-style: normal; |
|
10 | 10 | font-weight: 400; |
|
11 | 11 | src: local('Open Sans'), local('OpenSans'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); |
|
12 | 12 | } |
|
13 | 13 | @font-face { |
|
14 | 14 | font-family: 'Open Sans'; |
|
15 | 15 | font-style: normal; |
|
16 | 16 | font-weight: 600; |
|
17 | 17 | src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff'); |
|
18 | 18 | } |
|
19 | 19 | @font-face { |
|
20 | 20 | font-family: 'Open Sans'; |
|
21 | 21 | font-style: normal; |
|
22 | 22 | font-weight: 700; |
|
23 | 23 | src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff'); |
|
24 | 24 | } |
|
25 | 25 | @font-face { |
|
26 | 26 | font-family: 'Open Sans'; |
|
27 | 27 | font-style: normal; |
|
28 | 28 | font-weight: 800; |
|
29 | 29 | src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/EInbV5DfGHOiMmvb1Xr-hnhCUOGz7vYGh680lGh-uXM.woff) format('woff'); |
|
30 | 30 | } |
|
31 | 31 | @font-face { |
|
32 | 32 | font-family: 'Open Sans'; |
|
33 | 33 | font-style: italic; |
|
34 | 34 | font-weight: 300; |
|
35 | 35 | src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxh_xHqYgAV9Bl_ZQbYUxnQU.woff) format('woff'); |
|
36 | 36 | } |
|
37 | 37 | @font-face { |
|
38 | 38 | font-family: 'Open Sans'; |
|
39 | 39 | font-style: italic; |
|
40 | 40 | font-weight: 400; |
|
41 | 41 | src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff'); |
|
42 | 42 | } |
|
43 | 43 | @font-face { |
|
44 | 44 | font-family: 'Open Sans'; |
|
45 | 45 | font-style: italic; |
|
46 | 46 | font-weight: 600; |
|
47 | 47 | src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxn5HxGBcBvicCpTp6spHfNo.woff) format('woff'); |
|
48 | 48 | } |
|
49 | 49 | @font-face { |
|
50 | 50 | font-family: 'Open Sans'; |
|
51 | 51 | font-style: italic; |
|
52 | 52 | font-weight: 700; |
|
53 | 53 | src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxjqR_3kx9_hJXbbyU8S6IN0.woff) format('woff'); |
|
54 | 54 | } |
|
55 | 55 | @font-face { |
|
56 | 56 | font-family: 'Open Sans'; |
|
57 | 57 | font-style: italic; |
|
58 | 58 | font-weight: 800; |
|
59 | 59 | src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxkCDe67GEgBv_HnyvHTfdew.woff) format('woff'); |
|
60 | 60 | } |
|
61 | 61 | |
|
62 | 62 | body {font-size: 11px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif} |
|
63 | 63 | article, aside, figure, footer, header, hgroup, nav, section { display:block; } |
|
64 | 64 | header {border: 1px solid #fcc; font-size: 2em; height: 50px; text-align: center; line-height: 50px} |
|
65 | 65 | #schema {margin: 0 auto; width: 980px; border: 1px solid #f00; padding: 10px 10px 10px 10px} |
|
66 | 66 | #content {border: 1px solid #1cc; margin-top: 5px; margin-bottom: 5px} |
|
67 | 67 | #content #leftcolumn {float: left;border: 1px solid #c55; width: 150px; font-family: Monaco;} |
|
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 **********************************/ |
|
76 | 82 | /****************************************************************************************/ |
|
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} |
@@ -1,64 +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 | <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 %} |
|
18 | 10 | <div id="content"> |
|
19 | 11 | {% block leftcolumn %} |
|
20 | 12 | <div id="leftcolumn"> |
|
21 | 13 | <div id="lsProfiles"> |
|
22 | 14 | <div id="infoProfiles"> |
|
23 | 15 | <label for="lblProfile" class="lblInfo">Profiles:</label><br /> |
|
24 | 16 | {% if profile_list %} |
|
25 | 17 | <select name="lsProfiles" id="listProfiles"> |
|
26 | 18 | <option value="-1">Choose ...</option> |
|
27 | 19 | {% for entry in profile_list %} |
|
28 | 20 | {% if objProfile %} |
|
29 | 21 | {% if objProfile.id == entry.id %} |
|
30 | 22 | <option value="{{ entry.id }}" selected>{{ entry.name }}</option> |
|
31 | 23 | {% else %} |
|
32 | 24 | <option value="{{ entry.id }}">{{ entry.name }}</option> |
|
33 | 25 | {% endif %} |
|
34 | 26 | {% else %} |
|
35 | 27 | <option value="{{ entry.id }}">{{ entry.name }}</option> |
|
36 | 28 | {% endif %} |
|
37 | 29 | {% endfor %} |
|
38 | 30 | </select> |
|
39 | 31 | {% else %} |
|
40 | 32 | <label for="lblMessage" class="lblInfo">No profiles.</label> |
|
41 | 33 | {% endif %} |
|
42 | 34 | </div> |
|
43 | 35 | </div> |
|
44 | 36 | {% block mnu_profile %} |
|
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> |
|
51 | 47 | <li><a href="#">Apply</a></li> |
|
52 | 48 | </ul> |
|
53 | 49 | </nav> |
|
54 | 50 | {% endblock %} |
|
55 | 51 | </div> |
|
56 | 52 | {% endblock %} |
|
57 | 53 | {% block maincolumn %} |
|
58 | 54 | <div id="maincolumn"> |
|
59 | 55 | |
|
60 | 56 | </div> |
|
61 | 57 | {% endblock %} |
|
62 | 58 | <div class="cleardivs"></div> |
|
63 | 59 | </div> |
|
64 | 60 | {% endblock %} No newline at end of file |
@@ -1,63 +1,74 | |||
|
1 | 1 | {% extends "abscontrol/index.html" %} |
|
2 | 2 | {% block title %}ABS CONTROL:::PROFILE:::{{ objProfile.name }}{% endblock %} |
|
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 %} |
@@ -1,52 +1,52 | |||
|
1 | 1 | {% load static %} |
|
2 | 2 | <!DOCTYPE html> |
|
3 | 3 | <html lang="en"> |
|
4 | 4 | <head> |
|
5 | 5 | <meta charset="utf-8" /> |
|
6 | 6 | {% comment %} |
|
7 | 7 | <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame |
|
8 | 8 | Remove this if you use the .htaccess --> |
|
9 | 9 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
|
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" /> |
|
16 | 17 | |
|
17 | 18 | {# <meta name="viewport" content="width=device-width; initial-scale=1.0" /> #} |
|
18 | 19 | {% comment %} |
|
19 | 20 | <!-- Replace favicon.ico & apple-touch-icon.png in the root of your domain and delete these references --> |
|
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"> |
|
27 | 27 | <header> |
|
28 | 28 | {% block header %} |
|
29 | 29 | <nav> |
|
30 | 30 | <a href="/abscontrol">ABS</a> | |
|
31 | 31 | <a href="#">CR</a> | |
|
32 | 32 | <a href="#">DDS</a> | |
|
33 | 33 | <a href="#">JARS</a> |
|
34 | 34 | </nav> |
|
35 | 35 | {% endblock %} |
|
36 | 36 | </header> |
|
37 | 37 | {% block content %} |
|
38 | 38 | <div id="content"> |
|
39 | 39 | <nav> |
|
40 | 40 | <p><a href="/">Home</a></p> |
|
41 | 41 | <p><a href="/contact">Contact</a></p> |
|
42 | 42 | </nav> |
|
43 | 43 | </div> |
|
44 | 44 | {% endblock %} |
|
45 | 45 | <footer> |
|
46 | 46 | {% block footer %} |
|
47 | 47 | <p>© Copyright by Jicamarca Radio Observatory</p> |
|
48 | 48 | {% endblock %} |
|
49 | 49 | </footer> |
|
50 | 50 | </div> |
|
51 | 51 | </body> |
|
52 | 52 | </html> |
General Comments 0
You need to be logged in to leave comments.
Login now