Commit bd7832e0d833844b00af037524185adf20a6dffc
1 parent
6cebde62
Exists in
master
and in
1 other branch
- changes in the looks of the admin page
Showing
2 changed files
with
57 additions
and
46 deletions
Show diff stats
static/js/admin.js
1 | $(document).ready(function() { | 1 | $(document).ready(function() { |
2 | // button handlers (runs once) | 2 | // button handlers (runs once) |
3 | - function define_buttons_handlers() { | 3 | + function button_handlers() { |
4 | $("#allow_all").click( | 4 | $("#allow_all").click( |
5 | function() { | 5 | function() { |
6 | $(":checkbox").prop("checked", true).trigger('change'); | 6 | $(":checkbox").prop("checked", true).trigger('change'); |
@@ -13,11 +13,13 @@ $(document).ready(function() { | @@ -13,11 +13,13 @@ $(document).ready(function() { | ||
13 | ); | 13 | ); |
14 | $("#reset_password").click( | 14 | $("#reset_password").click( |
15 | function () { | 15 | function () { |
16 | - var number = $("#reset_number").val(); | ||
17 | $.ajax({ | 16 | $.ajax({ |
18 | type: "POST", | 17 | type: "POST", |
19 | url: "/admin", | 18 | url: "/admin", |
20 | - data: {"cmd": "reset_password", "value": number} | 19 | + data: { |
20 | + "cmd": "reset_password", | ||
21 | + "value": $("#reset_number").val() | ||
22 | + } | ||
21 | }); | 23 | }); |
22 | } | 24 | } |
23 | ); | 25 | ); |
@@ -78,16 +80,15 @@ $(document).ready(function() { | @@ -78,16 +80,15 @@ $(document).ready(function() { | ||
78 | active.sort(function(a,b){return a[2] < b[2] ? -1 : (a[2] == b[2] ? 0 : 1);}); | 80 | active.sort(function(a,b){return a[2] < b[2] ? -1 : (a[2] == b[2] ? 0 : 1);}); |
79 | n = active.length; | 81 | n = active.length; |
80 | for(var i = 0; i < n; i++) { | 82 | for(var i = 0; i < n; i++) { |
81 | - rows += '<tr' + (active[i][5]? '' : ' class="danger"') + '>\ | 83 | + rows += '<tr' + (active[i][5]? '' : ' class="bg-danger"') + '>\ |
82 | <td>' + active[i][0] + '</td>\ | 84 | <td>' + active[i][0] + '</td>\ |
83 | <td>' + active[i][1] + '</td>\ | 85 | <td>' + active[i][1] + '</td>\ |
84 | <td>' + active[i][2].slice(11,19) + '</td>\ | 86 | <td>' + active[i][2].slice(11,19) + '</td>\ |
85 | - <td><div data-toggle="tooltip" data-placement="top" title="'+active[i][4]+'">' + active[i][3] + '</div></td>\ | ||
86 | - <td>' + (active[i][5]? '' : '<span class="label label-danger">unfocus</span>') + '</td>\ | 87 | + <td>' + (active[i][5]? '' : '<span class="label bg-danger">unfocus</span>') + '</td>\ |
87 | </tr>'; | 88 | </tr>'; |
88 | } | 89 | } |
89 | $("#online_students").html(rows); | 90 | $("#online_students").html(rows); |
90 | - $("#online-header").html(n + " Activo(s)"); | 91 | + $("#online-header").html(n); |
91 | 92 | ||
92 | } | 93 | } |
93 | 94 | ||
@@ -111,7 +112,7 @@ $(document).ready(function() { | @@ -111,7 +112,7 @@ $(document).ready(function() { | ||
111 | // ---------------------------------------------------------------------- | 112 | // ---------------------------------------------------------------------- |
112 | function populateStudentsTable(students) { | 113 | function populateStudentsTable(students) { |
113 | var n = students.length; | 114 | var n = students.length; |
114 | - $("#students-header").html(n + " Inscritos") | 115 | + $("#students-header").html(n) |
115 | var rows = ""; | 116 | var rows = ""; |
116 | $.each(students, function(i, d) { | 117 | $.each(students, function(i, d) { |
117 | var uid = d['uid']; | 118 | var uid = d['uid']; |
@@ -130,8 +131,8 @@ $(document).ready(function() { | @@ -130,8 +131,8 @@ $(document).ready(function() { | ||
130 | (d['start_time']=='' ? '' : ' <span class="label label-success">teste</span>') + | 131 | (d['start_time']=='' ? '' : ' <span class="label label-success">teste</span>') + |
131 | // (d['online'] ? '<span class="label label-warning">online</span>' : '') + | 132 | // (d['online'] ? '<span class="label label-warning">online</span>' : '') + |
132 | '</td>\ | 133 | '</td>\ |
133 | - <td>' + uid + '</td>\ | ||
134 | - <td>' + d['name'] + (d['password_defined'] ? ' <span class="label label-default">pw</span>' : '') +'</td>\ | 134 | + <td>' + uid + (d['password_defined'] ? ' <i class="fa fa-key" aria-hidden="true"></i>' : '') + '</td>\ |
135 | + <td>' + d['name'] + '</td>\ | ||
135 | <td>'; | 136 | <td>'; |
136 | var g = d['grades']; | 137 | var g = d['grades']; |
137 | var glength = g.length; | 138 | var glength = g.length; |
@@ -171,6 +172,6 @@ $(document).ready(function() { | @@ -171,6 +172,6 @@ $(document).ready(function() { | ||
171 | } | 172 | } |
172 | 173 | ||
173 | populate(); // run once when the page is loaded | 174 | populate(); // run once when the page is loaded |
174 | - define_buttons_handlers(); | 175 | + button_handlers(); // assign handlers to buttons |
175 | setInterval(populate, 5000); // poll server on 5s interval | 176 | setInterval(populate, 5000); // poll server on 5s interval |
176 | }); | 177 | }); |
templates/admin.html
@@ -11,12 +11,11 @@ | @@ -11,12 +11,11 @@ | ||
11 | 11 | ||
12 | <!-- optional --> | 12 | <!-- optional --> |
13 | <link rel="stylesheet" href="/static/font-awesome/css/font-awesome.min.css"> | 13 | <link rel="stylesheet" href="/static/font-awesome/css/font-awesome.min.css"> |
14 | - <link rel="stylesheet" href="/static/css/test.css"> | 14 | + <!-- <link rel="stylesheet" href="/static/css/test.css"> --> |
15 | 15 | ||
16 | <style> | 16 | <style> |
17 | body { | 17 | body { |
18 | padding-top: 100px; | 18 | padding-top: 100px; |
19 | - background: #ccc; | ||
20 | } | 19 | } |
21 | </style> | 20 | </style> |
22 | </head> | 21 | </head> |
@@ -24,22 +23,42 @@ | @@ -24,22 +23,42 @@ | ||
24 | <body> | 23 | <body> |
25 | <nav class="navbar navbar-expand-lg fixed-top navbar-dark bg-dark"> | 24 | <nav class="navbar navbar-expand-lg fixed-top navbar-dark bg-dark"> |
26 | <a class="navbar-brand" href="#"> | 25 | <a class="navbar-brand" href="#"> |
27 | - <i class="fa fa-clock-o" aria-hidden="true"></i> | 26 | + <!-- <i class="fa fa-clock-o" aria-hidden="true"></i> --> |
28 | <span id="clock"> --:-- </span> | 27 | <span id="clock"> --:-- </span> |
29 | </a> | 28 | </a> |
30 | - <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation"> | 29 | + |
30 | + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"> | ||
31 | <span class="navbar-toggler-icon"></span> | 31 | <span class="navbar-toggler-icon"></span> |
32 | </button> | 32 | </button> |
33 | 33 | ||
34 | - <div class="collapse navbar-collapse" id="navbarText"> | ||
35 | - <ul class="navbar-nav mr-auto"> | ||
36 | - </ul> | 34 | +<!-- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation"> |
35 | + <span class="navbar-toggler-icon"></span> | ||
36 | + </button> | ||
37 | 37 | ||
38 | - <span class="navbar-text"> | 38 | + --> |
39 | + <div class="collapse navbar-collapse" id="navbarNavDropdown"> | ||
40 | + <ul class="navbar-nav"> | ||
41 | +<!-- <li class="nav-item"> | ||
42 | + <a class="nav-link" href="#">Features</a> | ||
43 | + </li> --> | ||
44 | + <li class="nav-item dropdown"> | ||
45 | + <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownAluno" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||
46 | + Aluno | ||
47 | + </a> | ||
48 | + <div class="dropdown-menu" aria-labelledby="navbarDropdownAluno"> | ||
49 | + <a class="dropdown-item" href="#" id="inserir_novo_aluno">Inserir novo...</a> | ||
50 | + <a class="dropdown-item" href="#" id="reset_password">Reset password...</a> | ||
51 | + <a class="dropdown-item" href="#" id="allow_all">Autorizar todos</a> | ||
52 | + <a class="dropdown-item" href="#" id="deny_all">Desautorizar todos</a> | ||
53 | + </div> | ||
54 | + </li> | ||
55 | + </ul> | ||
56 | + <div class="navbar-nav"></div> | ||
57 | +<!-- <span class="navbar-text"> | ||
39 | <i class="fa fa-user" aria-hidden="true"></i> | 58 | <i class="fa fa-user" aria-hidden="true"></i> |
40 | <span id="name">Admin</span> | 59 | <span id="name">Admin</span> |
41 | <span class="caret"></span> | 60 | <span class="caret"></span> |
42 | - </span> | 61 | + </span> --> |
43 | </div> | 62 | </div> |
44 | </nav> | 63 | </nav> |
45 | <!-- ===================================================================== --> | 64 | <!-- ===================================================================== --> |
@@ -49,18 +68,18 @@ | @@ -49,18 +68,18 @@ | ||
49 | <h3 id="title"></h3> | 68 | <h3 id="title"></h3> |
50 | Ref: <span id="ref"></span><br> | 69 | Ref: <span id="ref"></span><br> |
51 | Enunciado: <span id="filename"></span><br> | 70 | Enunciado: <span id="filename"></span><br> |
52 | - Database: <span id="database"></span><br> | ||
53 | - Testes entregues: <span id="answers_dir"></span> | 71 | + Base de dados: <span id="database"></span><br> |
72 | + Testes submetidos: <span id="answers_dir"></span><br> | ||
73 | + <span class="badge badge-secondary"><span id="students-header"></span></span> inscritos<br> | ||
74 | + <span class="badge badge-success"><span id="online-header"></span></span> online | ||
75 | + | ||
54 | </div> <!-- jumbotron --> | 76 | </div> <!-- jumbotron --> |
55 | 77 | ||
56 | <!-- ===================================================================== --> | 78 | <!-- ===================================================================== --> |
57 | - <div class="card border-dark"> | ||
58 | - <div class="card-header" id="online-header"> | ||
59 | - <!-- to be populated --> | ||
60 | - </div> | ||
61 | - <div class="card-body"> | 79 | + <!-- <div class="card border-dark"> --> |
80 | + <!-- <div class="card-body"> --> | ||
62 | <table class="table table-condensed noleftmargin"> | 81 | <table class="table table-condensed noleftmargin"> |
63 | - <thead> | 82 | + <thead class="thead-default"> |
64 | <tr> | 83 | <tr> |
65 | <th>Número</th> | 84 | <th>Número</th> |
66 | <th>Nome</th> | 85 | <th>Nome</th> |
@@ -74,18 +93,14 @@ | @@ -74,18 +93,14 @@ | ||
74 | <!-- to be populated --> | 93 | <!-- to be populated --> |
75 | </tbody> | 94 | </tbody> |
76 | </table> | 95 | </table> |
77 | - </div> <!-- card-body --> | ||
78 | - </div> <!-- card --> | 96 | + <!-- </div> card-body --> |
97 | + <!-- </div> card --> | ||
79 | 98 | ||
80 | <!-- ===================================================================== --> | 99 | <!-- ===================================================================== --> |
81 | - <div class="card border-dark"> | ||
82 | - <div class="card-header" id="students-header"> | ||
83 | - <!-- to be populated --> | ||
84 | - </div> | ||
85 | - | ||
86 | - <div class="card-body"> | 100 | + <!-- <div class="card border-dark"> --> |
101 | + <!-- <div class="card-body"> --> | ||
87 | <table class="table noleftmargin"> | 102 | <table class="table noleftmargin"> |
88 | - <thead> | 103 | + <thead class="thead-default"> |
89 | <tr> | 104 | <tr> |
90 | <th>Perm.</th> | 105 | <th>Perm.</th> |
91 | <th>Número</th> | 106 | <th>Número</th> |
@@ -98,16 +113,11 @@ | @@ -98,16 +113,11 @@ | ||
98 | <!-- to be populated --> | 113 | <!-- to be populated --> |
99 | </tbody> | 114 | </tbody> |
100 | </table> | 115 | </table> |
101 | - </div> <!-- card-body --> | 116 | + <!-- </div> card-body --> |
102 | 117 | ||
103 | - <div class="card-footer"> | 118 | + <!-- <div class="card-footer"> --> |
104 | <div class="row"> | 119 | <div class="row"> |
105 | <div class="col-sm-4"> | 120 | <div class="col-sm-4"> |
106 | - Permitir | ||
107 | - <button id="allow_all" class="btn btn-xs btn-primary">Todos</button> | ||
108 | - <button id="deny_all" class="btn btn-xs btn-primary">Nenhum</button> | ||
109 | - </div> | ||
110 | - <div class="col-sm-4"> | ||
111 | <button id="novo_aluno" class="btn btn-xs btn-primary" data-toggle="modal" data-target="#novo_aluno_modal">Inserir novo aluno</button> | 121 | <button id="novo_aluno" class="btn btn-xs btn-primary" data-toggle="modal" data-target="#novo_aluno_modal">Inserir novo aluno</button> |
112 | </div> | 122 | </div> |
113 | <div class="col-sm-4"> | 123 | <div class="col-sm-4"> |
@@ -119,8 +129,8 @@ | @@ -119,8 +129,8 @@ | ||
119 | </div> | 129 | </div> |
120 | </div> | 130 | </div> |
121 | </div> <!-- row --> | 131 | </div> <!-- row --> |
122 | - </div> <!-- card-footer --> | ||
123 | - </div> <!-- card --> | 132 | + <!-- </div> card-footer --> |
133 | + <!-- </div> card --> | ||
124 | <!-- ===================================================================== --> | 134 | <!-- ===================================================================== --> |
125 | </div> <!-- container --> | 135 | </div> <!-- container --> |
126 | <!-- ===================================================================== --> | 136 | <!-- ===================================================================== --> |