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
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
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