Exemple #1
0
 def doAuthentication(self, trans, request):
     session = request.getSession()
     _ = trans
     info = WebGetUserInfo(self.db, session)
     # 0) Se empieza la página
     request.write(self.template.startPage(session, _('Informacion de usuario')))
     d = defer.maybeDeferred(lambda:None)
     # 1) Verificar que esté autenticado ante el sistema
     if not hasattr(session, 'username'):
         request.write(self.template.notAuthenticated(session))
     # 2) Si es Admin, puede ver todos los usuarios
     elif "user_id" in request.args.keys() and "kind" in request.args.keys():
         try:
             user_id = int(request.args['user_id'][0])
             kind = int(request.args['kind'][0])
             msg = '<h2>' + _('Informacion de usuario') + '</h2>'
             d.addCallback(lambda a: info.getUserInfo(user_id, kind))
         except ValueError:
             request.write(self.template.unexpectedArguments(session, \
                 _('Argumento no valido')))
             user_id = kind = msg = None
             d.addCallback(lambda a: None)
         d.addCallback(self.printContent, request, d, user_id, kind, session, msg)
     else:
         request.write(self.template.unexpectedArguments(session, \
             _('Falta algun argumento')))
     d.addCallback(lambda a: request.write(self.template.finishPage(session)))
     d.addCallback(lambda a: request.finish())
     return d
Exemple #2
0
    def homePageContent(self, session):
        """Devuelve el contenido de la pagina principal del usuario
        """
        _ = session._
        content = '<h1>' + _('La pagina de %s %s') % \
            (session.name, session.lastname) + '</h1>\n'
        if session.kind == ADMIN: #root
            content += '<p>' + _('Usted es el administrador de este sitio') + '</p>'
            d = defer.maybeDeferred(lambda: content)
        elif session.kind == TUTOR:
            # si es tutor, se imprimen las clases precoordinadas que tenga arregladas
            info = WebGetUserInfo(DBConnect(), session)
            now = DateTime.now()
            d = info.getPAFromTutor(session.userId, now)
        elif session.kind == CLIENT:
            # si es alumno o cliente, se imprimen las horas disponibles (de ai y pc)
            info = WebGetUserInfo(DBConnect(), session)
            d = info.getHours(session.kind, session.userId)
        elif session.kind == PUPIL:

            info = WebGetUserInfo(DBConnect(), session)
            d = info.getHours(session.kind, session.userId)
            #tambien se imprimen la agenda de clases precoordinadas
            d.addCallback(self._getPAFromPupil, session.userId, info)
        else:
            content += '<p>' + _('Aqui se muestra alguna informacion general como horas disponibles u horarios en los que se tienen clases, y algunos links utiles.  Por ejemplo, se puede ver la lista de') + ' <a href="/roominfo/">' + \
            _('salas disponibles.') + '</a>' + ' ' + _('o las') + ' ' + \
            '<a href="/static/Paginas/Tarifas.html">' + \
            _('Tarifas actuales') + '</a></p>'
            d = defer.maybeDeferred(lambda: content)
        return d