Exemplo n.º 1
0
    def render_GET(self, request):
        session = request.getSession()
        _ = getTranslatorFromSession(request)

        d = defer.maybeDeferred(lambda: None)
        if hasattr(session, 'username'):
            request.write(self.template.startPage(session, _('Iniciar Sesion')))
            request.write('<div class="message">' + \
                _('La sesion ya estaba iniciada') + '</div>')
        elif "username" in request.args.keys() and "pwd" in request.args.keys():

            query = "select username, id, kind, first_name, \
                last_name from person where username = %s and password = %s"
            username = QuotedString(request.args['username'][0])
            
            pwd = sha.new(request.args['pwd'][0]).hexdigest() 	    #hashing sent plain-password in sha-1
            d = self.db.db.runQuery(query, (username, pwd))
            d.addCallback(self.authenticateUser, request)
        else:
            request.write(self.template.startPage(session))
            request.write("""<h2>""" + _('Inicio de Sesion') + """</h2> \
            <form action="" method="post"><div>""" + _('Nombre de Usuario') \
            + """: <label for="username"><input type="text" size="5" name="username" \
            id="username" value="Root"/></label><br/>""" + _('Contrasena') \
            + """: <label for="pwd"><input type="password" size="5" name="pwd" \
            id="pwd" value="lala"/></label><br/><input id="submit" type="submit" value=\"""" + \
            _('Entrar!') + """\"/></div></form>""")

        d.addCallback(lambda a:request.write(self.template.finishPage(session)))
        d.addCallback(lambda a:request.finish())
        d.addErrback(log.err)
        return server.NOT_DONE_YET
Exemplo n.º 2
0
    def render_GET(self, request):
        session = request.getSession()
        _ = getTranslatorFromSession(request)

        if hasattr(session, 'username'):
            del(session.username)
            del(session.userId)
            del(session.kind)
            del(session.name)
            del(session.lastname)
            del(session.locale)
            request.write(self.template.startPage(session, _('Cerrar Sesion')))
            request.write('<div class="message"><h2>' +
                 _('La sesion ha sido cerrada') +
                 '</h2>' + _('Que tenga un buen dia.') + '</div>')
        else:
            request.write(self.template.startPage(session))
            request.write('<div class="warning"><h2>' +
                _('Sesion inexistente') + '</h2>' +
                _('Debe iniciar una sesion antes de cerrarla!') + '</div>')
        request.write(self.template.finishPage(session))
        del(session._)
        request.finish()
        return server.NOT_DONE_YET
Exemplo n.º 3
0
 def render_GET(self, request):
     session = request.getSession()
     _ = getTranslatorFromSession(session)
     # 0) Se empieza la página
     request.write(self.template.startPage(session, _('Modificacion de horarios')))
     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, administra todos los usuarios
     elif session.kind == ADMIN:
     # 2.1) Admin debe proveer el argumento user_id
         if "user_id" in request.args.keys():
             try:
                 user_id = int(request.args['user_id'][0])
                 msg = '<h2>' + _('Administracion de horarios') + '</h2>' + _('Selecciona las horas en las que el tutor se encuentra disponible.')
     # La función que procesa e imprime el contenido de la pagina
                 self.printContent(request, d, user_id, msg)
             except ValueError:
                 request.write(self.template.unexpectedArguments(session, _('user_id deberia ser entero')))
         else:
             request.write(self.template.unexpectedArguments(session, _('falta el parametro user_id')))
     # 3) Si es Tutor, administra sus propios horarios
     elif session.kind == TUTOR:
         user_id = session.userId
         msg = '<h2>' + _('Seleccion de horarios') + '</h2>' + _('Indica los horarios en los que te encuentras disponible.')
     # La función que imprime el contenido, pero con otros argumentos
         self.printContent(request, d, user_id, msg)
     else:
     # 4) Si no es ni ni Admin, ni Tutor, ni nadie, es alguien que no está
     #    autorizado a administrar horarios
         request.write(self.template.notAuthorized(session))
     # 5) Se termina la página
     d.addCallback(lambda a: request.write(self.template.finishPage(session)))
     d.addCallback(lambda a: request.finish())
     return server.NOT_DONE_YET