]> git.llucax.com Git - software/sercom.git/commitdiff
detalles del dashbord de Alumnos.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Mon, 19 Mar 2007 03:36:36 +0000 (03:36 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Mon, 19 Mar 2007 03:36:36 +0000 (03:36 +0000)
Le pongo mejor las columnas de entregas realizadas. Cuando el usuario entra busco todas las correcciones con corregido>= last_login
para informarle las correcciones que se le hicieron desde su ultima visita.

sercom/controllers.py
sercom/templates/welcome.kid

index cc237b83b12091e98e3d009c556898e47f152fda..b75911aa1dc9eaa355cbf239b02b0900f5dfdcd3 100644 (file)
@@ -6,7 +6,7 @@ from turbogears import identity, redirect
 from cherrypy import request, response
 from turbogears.toolbox.catwalk import CatWalk
 import model
-from model import InstanciaDeEntrega, Correccion, AND, DateTimeCol, Entrega, Grupo, AlumnoInscripto
+from model import Visita, VisitaUsuario, InstanciaDeEntrega, Correccion, AND, DateTimeCol, Entrega, Grupo, AlumnoInscripto
 from sqlobject import *
 # from sercom import json
 
@@ -48,6 +48,7 @@ class Root(controllers.RootController):
                 instancias_activas=instancias, now=now)
 
         if 'entregar' in identity.current.permissions:
+            last_login = Visita.select(AND(VisitaUsuario.q.user_id == identity.current.user.id, Visita.q.visit_key == VisitaUsuario.q.visit_key))[-1:][0].created
             # Proximas instancias de entrega
             instancias = list(InstanciaDeEntrega.select(
                 AND(InstanciaDeEntrega.q.inicio <= now,
@@ -61,7 +62,10 @@ class Root(controllers.RootController):
             except:
                 pass
             entregas = list(Entrega.select(IN(Entrega.q.entregadorID, m))[:5])
-            return dict(instancias_activas=instancias, now=now, entregas=entregas)
+            
+            # Ultimas correcciones
+            correcciones = list(Correccion.select(AND(IN(Correccion.q.entregadorID, m), Correccion.q.corregido >= last_login)))
+            return dict(instancias_activas=instancias, now=now, entregas=entregas, correcciones=correcciones)
         return dict()
 
     @expose(template='.templates.login')
index 603637b3044e1cd857ce775656c2f69707425490..035decdb54377011587fde374983832c687f510e 100644 (file)
                 </li>
             </ul>
         </div>
-        <h2>Últimas entregas realizadas</h2>
+        <div py:if="not len(instancias_activas)">
+                                       No hay fechas de entrega a vencer.
+                               </div>  
+                               <h2>Últimas entregas realizadas</h2>
         <table py:if="len(entregas)">
             <tr>
+                <th>Curso</th>
                 <th>Ejercicio</th>
                 <th>Fecha Entrega</th>
             </tr>
             <tr py:for="e in entregas">
-                <td>${e.instancia.ejercicio.shortrepr()}</td>
+                <td>${e.instancia.ejercicio.curso.shortrepr()}</td>
+                <td>${e.instancia.ejercicio.enunciado.nombre}</td>
                 <td>${e.fecha}</td>
+                                               </tr>
+                                               <tr>
+                                                       <td colspan="3" align="right">
+                                                               <a href="${tg.url('/mis_entregas/list')}">Ver todas</a>
+                                                       </td>
+                                               </tr>
+        </table>
+                               <h2 py:if="len(correcciones)">Te han corregido los siguientes ejercicios</h2>
+        <table py:if="len(correcciones)">
+            <tr>
+                <th>Curso</th>
+                <th>Ejercicio</th>
+                <th>Fecha</th>
+                <th>Corrector</th>
+                <th>Nota</th>
             </tr>
+            <tr py:for="e in correcciones">
+                <td>${e.instancia.ejercicio.curso.shortrepr()}</td>
+                <td>${e.instancia.ejercicio.enunciado.nombre}</td>
+                <td>${e.corregido}</td>
+                <td>${e.corrector.shortrepr()}</td>
+                                                               <td>${e.nota}</td>
+                                               </tr>
+                                               <tr>
+                                                       <td colspan="5" align="right">
+                                                               <a href="${tg.url('/mis_correcciones/list')}">Ver todas</a>
+                                                       </td>
+                                               </tr>
         </table>
     </div>
 </body>