コード例 #1
0
ファイル: default.py プロジェクト: mjapon/sysprintngjs
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}
コード例 #2
0
ファイル: users_rest.py プロジェクト: mjapon/sysprintngjs
    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}
コード例 #3
0
    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}
コード例 #4
0
ファイル: users_rest.py プロジェクト: mjapon/sysprintngjs
    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'}
コード例 #5
0
ファイル: default.py プロジェクト: mjapon/sysprintngjs
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}
コード例 #6
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}
コード例 #7
0
ファイル: autmovil_rest.py プロジェクト: mjapon/sysprintngjs
    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'}
コード例 #8
0
ファイル: users_rest.py プロジェクト: mjapon/sysprintngjs
    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")
コード例 #9
0
ファイル: users_rest.py プロジェクト: mjapon/sysprintngjs
 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}