]> git.llucax.com Git - software/sercom.git/blob - sercom/subcontrollers/miscorrecciones/__init__.py
bajar archivo desde correccion/entregas
[software/sercom.git] / sercom / subcontrollers / miscorrecciones / __init__.py
1 # vim: set et sw=4 sts=4 encoding=utf-8 foldmethod=marker :
2
3 #{{{ Imports
4 import cherrypy
5 from turbogears import controllers, expose, redirect
6 from turbogears import validate, flash, error_handler
7 from turbogears import validators as V
8 from turbogears import widgets as W
9 from turbogears import identity
10 from turbogears import paginate
11 from docutils.core import publish_parts
12 from sercom.subcontrollers import validate as val
13 from sercom.model import Entrega, Correccion, Grupo, AlumnoInscripto
14 from sqlobject import *
15 from zipfile import ZipFile, BadZipfile
16 from cStringIO import StringIO
17
18 #}}}
19
20 #{{{ Configuración
21 cls = Correccion
22 name = 'correccion'
23 namepl = name + 'es'
24 #}}}
25
26 #{{{ Controlador
27 class MisCorreccionesController(controllers.Controller, identity.SecureResource):
28     """Basic model admin interface"""
29     require = identity.has_permission('entregar')
30
31     @expose()
32     def default(self, tg_errors=None):
33         """handle non exist urls"""
34         raise redirect('list')
35
36     @expose()
37     def index(self):
38         raise redirect('list')
39
40     @expose(template='kid:%s.templates.list' % __name__)
41     @paginate('records')
42     def list(self):
43         """List records in model"""
44         # Grupos en los que el usuario formo parte
45         m = [i.grupo.id for i in Grupo.selectByAlumno(identity.current.user)]
46         try:
47             entregador = AlumnoInscripto.selectByAlumno(identity.current.user)
48             m.append(entregador.id)
49         except:
50             pass
51         r = cls.select(IN(cls.q.entregadorID, m))
52         return dict(records=r, name=name, namepl=namepl)
53
54 #}}}
55