]> git.llucax.com Git - software/sercom.git/blob - sercom/templates/welcome.kid
Permitir pasar el el archivo de configuración por línea de comandos al tester.
[software/sercom.git] / sercom / templates / welcome.kid
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <?python from turbogears import identity ?>
3
4 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
5     py:extends="'master.kid'">
6 <head>
7 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
8 <title>Dashboard - SERCOM</title>
9 </head>
10 <body>
11     <div py:if="'admin' in identity.current.permissions">
12         <h1>Dashboard</h1>
13         <h2>Correcciones</h2>
14         <div py:if="a_corregir">
15             En este momento tenes <a href="${tg.url('/correccion/')}">${a_corregir}</a> entregas para corregir.
16         </div>
17         <div py:if="not a_corregir">
18             En este momento no tenés entregas para corregir.
19         </div>
20         <h2>Instancias de Entrega</h2>
21         <div py:if="len(instancias_activas)">
22             <ul py:for="instancia in instancias_activas">
23                 <li>
24                 <?python delta = instancia.fin - now ?>
25                 La entrega ${instancia.numero} del
26                 ejercicio ${instancia.ejercicio.numero} vence
27                 el ${instancia.fin.strftime(r'%A %d de %B a las %R')}
28                 (falta ${delta.days} días,
29                 ${delta.seconds//3600} horas y
30                 ${delta.seconds//60%60} minutos) y tiene
31                 ${len(instancia.entregas)} entregas realizadas.
32                 </li>
33             </ul>
34         </div>
35         <div py:if="not len(instancias_activas)">
36             No hay Ejercicios con entregas en curso en este momento.
37         </div>
38     </div>
39
40     <div py:if="'entregar' in identity.current.permissions and 'admin' not in identity.current.permissions">
41         <h2>Instancias de Entrega</h2>
42         <div py:if="len(instancias_activas)">
43             <ul py:for="instancia in instancias_activas">
44                 <li>
45                 <?python delta = instancia.fin - now ?>
46                 La entrega ${instancia.numero} del
47                 ejercicio ${instancia.ejercicio.numero} vence
48                 el ${instancia.fin.strftime(r'%A %d de %B a las %R')}
49                                                                 <br />
50                                                                 (falta ${delta.days} días,
51                 ${delta.seconds//3600} horas y
52                 ${delta.seconds//60%60} minutos).
53                 </li>
54             </ul>
55         </div>
56         <div py:if="not len(instancias_activas)">
57                                         No hay fechas de entrega a vencer.
58                                 </div>  
59                                 <h2>Últimas entregas realizadas</h2>
60         <table py:if="len(entregas)">
61             <tr>
62                 <th>Curso</th>
63                 <th>Ejercicio</th>
64                 <th>Fecha Entrega</th>
65             </tr>
66             <tr py:for="e in entregas">
67                 <td>${e.instancia.ejercicio.curso.shortrepr()}</td>
68                 <td>${e.instancia.ejercicio.enunciado.nombre}</td>
69                 <td>${e.fecha}</td>
70                                                 </tr>
71                                                 <tr>
72                                                         <td colspan="3" align="right">
73                                                                 <a href="${tg.url('/mis_entregas/list')}">Ver todas</a>
74                                                         </td>
75                                                 </tr>
76         </table>
77                                 <h2 py:if="len(correcciones)">Te han corregido los siguientes ejercicios</h2>
78         <table py:if="len(correcciones)">
79             <tr>
80                 <th>Curso</th>
81                 <th>Ejercicio</th>
82                 <th>Fecha</th>
83                 <th>Corrector</th>
84                 <th>Nota</th>
85             </tr>
86             <tr py:for="e in correcciones">
87                 <td>${e.instancia.ejercicio.curso.shortrepr()}</td>
88                 <td>${e.instancia.ejercicio.enunciado.nombre}</td>
89                 <td>${e.corregido}</td>
90                 <td>${e.corrector.shortrepr()}</td>
91                                                                 <td>${e.nota}</td>
92                                                 </tr>
93                                                 <tr>
94                                                         <td colspan="5" align="right">
95                                                                 <a href="${tg.url('/mis_correcciones/list')}">Ver todas</a>
96                                                         </td>
97                                                 </tr>
98         </table>
99     </div>
100 </body>
101 </html>