def login_view(request): log.info("request login view processing") if 'usuario' in request.POST: usuario = request.POST['usuario'] clave = request.POST['clave'] empresa = request.POST['empresa'] imprentasdao = ImprentasDao(request.dbsession) datosimprenta = imprentasdao.get_datos_empresa(imp_codigo=empresa) if datosimprenta is None: return {'autenticado': 0, 'msg': 'Empresa no registrada'} else: emp_esquema = datosimprenta['timp_esquema'] request.dbsession.execute("SET search_path TO {0}".format(emp_esquema)) userdao = TUsersDao(request.dbsession) autenticado = userdao.autenticar(username=usuario, password=clave) if autenticado: tuser = userdao.get_user(username=usuario) request.session['emp_esquema'] = emp_esquema request.session['emp_codigo'] = empresa request.session['userlogged'] = 1 request.session['us_nomapel'] = tuser.us_nomapel request.session['us_id'] = tuser.us_id request.session['us_name'] = tuser.us_name request.session['tuser'] = tuser if int(tuser.us_statusclave) == 0: return HTTPFound(request.route_url('confirmClaveApp')) else: return HTTPFound(request.route_url('homeApp')) else: return {'autenticado': 0, 'msg': 'Usuario o clave incorrectos'} return {'msg': '', 'autenticado': 0}
def collection_get(self): accion = self.get_request_param("accion") if accion is not None: log.info("accion is not none:{0}".format(accion)) else: log.info("accion is none") if accion == 'chkstatus': logged = 0 if 'userlogged' in self.request.session: log.info("!!!usserlogged in session") logged = 1 else: log.info(":-( userlogged is not in session") return {'estado': 200, 'userloged': logged} elif accion == 'listar': usersdao = TUsersDao(self.dbsession) result = usersdao.listar() # 'us_id', 'us_name', 'us_nomapel', 'us_datecreated', 'estado' cols = [{ 'name': 'us_name', 'displayName': 'Usuario', 'width': '90' }, { 'name': 'us_nomapel', 'displayName': 'Nombres y apellidos', 'width': '380' }, { 'name': 'us_datecreated', 'displayName': 'Fecha de registro', 'width': '180' }, { 'name': 'estado', 'displayName': 'Estado', 'width': '150' }] return {'estado': 200, 'items': result, 'cols': cols} elif accion == 'form': form = { 'us_id': 0, 'us_nomapel': '', 'us_name': '', 'claveTemp': '', 'confClaveTemp': '' } return {'estado': 200, 'form': form} elif accion == 'tclave': # Accion para verificar si el usuario ingresado tiene una clave temporal return {} return {'estado': 200, 'resultado': 1}
def get(self): us_id = self.request.matchdict['us_id'] tuserroldao = TUserRolDao(self.dbsession) accion = self.get_request_param('accion') if accion is not None and accion == 'getrolesu': roles_user = tuserroldao.get_roles_json(us_id=us_id) tuserdao = TUsersDao(self.dbsession) userinfo = tuserdao.find_byid(id_user=us_id) return {'estado':200, 'roles':roles_user, 'tuser':userinfo} matrizroles = tuserroldao.get_matriz_roles(us_id=us_id) return {'estado': 200, 'matriz': matrizroles}
def collection_post(self): # Se usa post para autenticacion accion = None if 'accion' in self.request.params: accion = self.get_request_param('accion') usersdao = TUsersDao(self.dbsession) if accion is None: form = self.get_json_body() result = usersdao.autenticar(form.get('usuario'), form.get('clave')) mensaje = 'Acceso exitoso' if not result: mensaje = "Acceso fallido" else: self.psession("userlogged", 1) return {'estado': 200, 'resultado': result, 'msg': mensaje} else: return {'estado': 200, 'msg': 'Ninguna accion se ha realizado'}
def confirm_clave(request): log.info('confirm_clave view procesing') if 'clave' in request.POST: clave = request.POST['clave'] confclave = request.POST['confclave'] imprentasdao = ImprentasDao(request.dbsession) datosimprenta = imprentasdao.get_datos_empresa(imp_codigo=request.session['emp_codigo']) if datosimprenta is None: return {'autenticado': 0, 'msg': 'Empresa no registrada'} else: emp_esquema = datosimprenta['timp_esquema'] request.dbsession.execute("SET search_path TO {0}".format(emp_esquema)) userdao = TUsersDao(request.dbsession) try: userdao.cambiar_clave(user_name=request.session['us_name'], password=clave, rpassword=confclave) return HTTPFound(request.route_url('homeApp')) except Exception as ex: return {'autenticado': 0, 'msg': 'Error:'+ex.message} return {'msg': '', 'autenticado': 0}
def login_view(request): print "request login view processing" if 'usuario' in request.POST: usuario = request.POST['usuario'] clave = request.POST['clave'] userdao = TUsersDao(request.dbsession) autenticado = userdao.autenticar(username=usuario, password=clave) if autenticado: tuser = userdao.get_user(username=usuario) request.session['userlogged'] = 1 request.session['us_nomapel'] = tuser.us_nomapel request.session['us_id'] = tuser.us_id request.session['us_name'] = tuser.us_name request.session['tuser'] = tuser return HTTPFound(request.route_url('homeApp')) else: return {'autenticado': 0, 'msg': 'Usuario o clave incorrectos'} return {'msg': '', 'autenticado': 0}
def post(self): jsonbody = self.request.json_body emp_coding = jsonbody['empresa'] cla_id = jsonbody['usuario'] cla_clave = jsonbody['clave'] log.info(emp_coding) log.info(cla_id) #Proceder con la autenticacion ssempresa = self.dbsession.query(SSEmpresa).filter(SSEmpresa.temp_code==emp_coding).first() if ssempresa is not None: #Carga en redis datos de empresa #claredis_emp = "ee:{0}".format(tempresa.emp_codigo) #self.redis.hset(claredis_emp, "info", self.json(tempresa)) #ir a la base local y verificar usuario usersdao = TUsersDao(self.dbsession) self.change_dbschema(emp_esquema=ssempresa.temp_esquema) autenticado = usersdao.autenticar(cla_id, cla_clave) if autenticado is not None and autenticado: #Autenticado token = GeneraTokenUtil().get_token() tuser = usersdao.get_user(username=cla_id) return {'estado':200, 'token':token, 'emp_codigo': ssempresa.temp_id, 'emp_esquema': ssempresa.temp_esquema, 'user_id': tuser.us_id} else: return {'estado':400, 'msg':'Login Fallido'} else: return {'estado':400, 'msg':'No existe empresa con el codigo ingresado'}
def post(self): log.info("Entra en entity post") id_user = self.request.matchdict['id_user'] log.info("id user es:") log.info(id_user) usersdao = TUsersDao(self.dbsession) form = self.get_json_body() if int(id_user) == 0: # Entra en la logica para la creacion del registro usersdao.crear_usuario(user_name=form.get('us_name'), nomapel=form.get('us_nomapel'), password=form.get('claveTemp'), rpassword=form.get('confClaveTemp'), roles=form.get('roles'), user_crea=self.get_userid()) return {'estado': 200, 'msg': 'Registro exitoso'} else: accion = self.get_request_param("accion") if accion is None: accion = 'edicion' if accion == 'edicion': usersdao.update_nomapel(id_user=id_user, nomapel=form['us_nomapel'], user_name=form['us_name'], roles=form.get('roles'), user_edit=self.get_userid()) return {'estado': 200, 'msg': 'Actualización satisfactoria'} elif accion == 'resetclave': usersdao.resetPassword(id_user=id_user, password=form.get('claveTemp'), rpassword=form.get('confClaveTemp'), user_edit=self.get_userid()) return {'estado': 200, 'msg': 'La clave ha sido reseteada'} elif accion == 'cestado': msg = usersdao.cambiarEstado(id_user=id_user, user_edit=self.get_userid()) return {'estado': 200, 'msg': msg} log.info("No se ejecuta ninguna accion")
def get(self): id_user = self.request.matchdict['id_user'] log.info("valor para id_user es--->" + id_user) usersdao = TUsersDao(self.dbsession) user = usersdao.find_byid(id_user=id_user) return {'estado': 200, 'user': user}