Пример #1
0
    def post(self):
        """Inicia sesión en la aplicación.
        Si se inicia sesión con éxito enctonces se guarda el
        usuario en la cookie caso contrario se vuelve al login.
        """
        self.check_xsrf_cookie()
        ip = self.request.remote_ip

        diccionary = json.loads(self.get_argument("object"))
        username = diccionary['username']
        password = diccionary['password']

        with transaction() as db:
            pass

        if username is not None and password is not None:
            user = LoginManager().login(username, password)

            if user:
                fecha = self.fecha_actual()
                b = Bitacora(fkusuario=user.id, ip=ip, accion="Inicio de sesión.", fecha=fecha)
                self.insertar_bitacora(b)
                self.set_user_id(user.id)
                self.respond(success=True, message='Sesión iniciada correctamente.')
            else:
                userb = LoginManager().not_enabled(username, password)

                if userb:
                    self.render("sistema/usuarios/login/views/index.html", error=1)
                else:
                    self.render("sistema/usuarios/login/views/index.html", error=2)
        else:
            self.render("sistema/usuarios/login/views/index.html", error=0)
Пример #2
0
    def get(self, key):
        with transaction() as session:
            usuario = session.query(Usuario).options(joinedload('rol').joinedload('modulos').joinedload('children')).filter(Usuario.id == key).\
                filter(Usuario.estado).filter(Usuario.enabled).first()

            if not usuario:
                return None
            session.expunge(usuario)
            make_transient(usuario)
        usuario.rol.modulos = self.order_modules(usuario.rol.modulos)

        return usuario
Пример #3
0
def insertions():
    with transaction() as session:
        negocio_m = session.query(Modulo).filter(Modulo.nombre == 'negocio_mod').first()
        if negocio_m is None:
            negocio_m = Modulo(titulo='Negocio', nombre='negocio_mod', icono='business_center')

        producto_m = session.query(Modulo).filter(Modulo.nombre == 'producto').first()
        if producto_m is None:
            producto_m = Modulo(titulo='Producto', ruta='/producto', nombre='producto', icono='add_shopping_cart')

        negocio_m.children.append(producto_m)

        query_producto = session.query(Modulo).filter(Modulo.nombre == 'producto_query').first()
        if query_producto is None:
            query_producto = Modulo(titulo='Consultar', ruta='', nombre='producto_query', menu=False)
        insert_producto = session.query(Modulo).filter(Modulo.nombre == 'producto_insert').first()
        if insert_producto is None:
            insert_producto = Modulo(titulo='Adicionar', ruta='/producto_insert', nombre='producto_insert', menu=False)
        update_producto = session.query(Modulo).filter(Modulo.nombre == 'producto_update').first()
        if update_producto is None:
            update_producto = Modulo(titulo='Actualizar', ruta='/producto_update', nombre='producto_update', menu=False)
        delete_producto = session.query(Modulo).filter(Modulo.nombre == 'producto_delete').first()
        if delete_producto is None:
            delete_producto = Modulo(titulo='Dar de Baja', ruta='/producto_delete', nombre='producto_delete', menu=False)

        producto_m.children.append(query_producto)
        producto_m.children.append(insert_producto)
        producto_m.children.append(update_producto)
        producto_m.children.append(delete_producto)

        roles = session.query(Rol).filter(Rol.nombre.in_(['SUPER ADMINISTRADOR', "ADMINISTRADOR"])).all()

        for rol in roles:
            rol.modulos.append(negocio_m)
            rol.modulos.append(producto_m)
            rol.modulos.append(query_producto)
            rol.modulos.append(insert_producto)
            rol.modulos.append(update_producto)
            rol.modulos.append(delete_producto)

        session.commit()
Пример #4
0
def insertions():
    with transaction() as session:
        negocio_m = session.query(Modulo).filter(Modulo.nombre == 'negocio_mod').first()
        if negocio_m is None:
            negocio_m = Modulo(titulo='Negocio', nombre='negocio_mod', icono='business_center')

        traspaso_m = session.query(Modulo).filter(Modulo.nombre == 'traspaso').first()
        if traspaso_m is None:
            traspaso_m = Modulo(titulo='Nota de Traspaso', ruta='/traspaso', nombre='traspaso', icono='compare_arrows')

        negocio_m.children.append(traspaso_m)

        query_traspaso = session.query(Modulo).filter(Modulo.nombre == 'traspaso_query').first()
        if query_traspaso is None:
            query_traspaso = Modulo(titulo='Consultar', ruta='', nombre='traspaso_query', menu=False)
        insert_traspaso = session.query(Modulo).filter(Modulo.nombre == 'traspaso_insert').first()
        if insert_traspaso is None:
            insert_traspaso = Modulo(titulo='Adicionar', ruta='/traspaso_insert', nombre='traspaso_insert', menu=False)
        update_traspaso = session.query(Modulo).filter(Modulo.nombre == 'traspaso_update').first()
        if update_traspaso is None:
            update_traspaso = Modulo(titulo='Actualizar', ruta='/traspaso_update', nombre='traspaso_update', menu=False)
        delete_traspaso = session.query(Modulo).filter(Modulo.nombre == 'traspaso_delete').first()
        if delete_traspaso is None:
            delete_traspaso = Modulo(titulo='Dar de Baja', ruta='/traspaso_delete', nombre='traspaso_delete', menu=False)

        traspaso_m.children.append(query_traspaso)
        traspaso_m.children.append(insert_traspaso)
        traspaso_m.children.append(update_traspaso)
        traspaso_m.children.append(delete_traspaso)

        roles = session.query(Rol).filter(Rol.nombre.in_(['SUPER ADMINISTRADOR', "ADMINISTRADOR"])).all()

        for rol in roles:
            rol.modulos.append(negocio_m)
            rol.modulos.append(traspaso_m)
            rol.modulos.append(query_traspaso)
            rol.modulos.append(insert_traspaso)
            rol.modulos.append(update_traspaso)
            rol.modulos.append(delete_traspaso)

        session.commit()
Пример #5
0
def insertions():
    with transaction() as session:
        user_m = session.query(Modulo).filter(
            Modulo.nombre == 'usuarios_mod').first()
        if user_m is None:
            user_m = Modulo(titulo='Usuarios',
                            nombre='usuarios_mod',
                            icono='group')

        bitacora_m = session.query(Modulo).filter(
            Modulo.nombre == 'bitacora').first()
        if bitacora_m is None:
            bitacora_m = Modulo(titulo='Bitácora',
                                ruta='/bitacora',
                                nombre='bitacora',
                                icono='library_books')

        user_m.children.append(bitacora_m)

        query_bitacora = session.query(Modulo).filter(
            Modulo.nombre == 'bitacora_query').first()
        if query_bitacora is None:
            query_bitacora = Modulo(titulo='Consultar',
                                    ruta='',
                                    nombre='bitacora_query',
                                    menu=False)

        bitacora_m.children.append(query_bitacora)

        roles = session.query(Rol).filter(
            Rol.nombre.in_(['SUPER ADMINISTRADOR', 'ADMINISTRADOR'])).all()

        for rol in roles:
            rol.modulos.append(user_m)
            rol.modulos.append(bitacora_m)
            rol.modulos.append(query_bitacora)

        session.commit()
Пример #6
0
    def login(self, username, password):
        """Retorna un usuario que coincida con el username y password dados.
        parameters
        ----------
        Usuarioname : str
        password : str | El password deberá estar sin encriptar.
        returns
        -------
        Usuario
        None | Retornará None si no encuentra nada.
        """
        password = hashlib.sha512(password.encode()).hexdigest()
        with transaction() as session:
            usuario = session.query(Usuario).options(joinedload('rol').joinedload('modulos').joinedload('children')).filter(Usuario.username == username).\
                filter(Usuario.password == password).filter(Usuario.estado).filter(Usuario.enabled).first()

            if not usuario:
                return None
            session.expunge(usuario)
            make_transient(usuario)
        usuario.rol.modulos = self.order_modules(usuario.rol.modulos)

        return usuario
Пример #7
0
def insertions():
    with transaction() as session:
        user_m = session.query(Modulo).filter(
            Modulo.nombre == 'usuarios_mod').first()
        if user_m is None:
            user_m = Modulo(titulo='Usuarios',
                            nombre='usuarios_mod',
                            icono='group')

        roles_m = session.query(Modulo).filter(
            Modulo.nombre == 'roles').first()
        if roles_m is None:
            roles_m = Modulo(titulo='Rol',
                             ruta='/rol',
                             nombre='roles',
                             icono='settings')

        user_m.children.append(roles_m)

        query_rol = session.query(Modulo).filter(
            Modulo.nombre == 'rol_query').first()
        if query_rol is None:
            query_rol = Modulo(titulo='Consultar',
                               ruta='',
                               nombre='rol_query',
                               menu=False)
        insert_rol = session.query(Modulo).filter(
            Modulo.nombre == 'rol_insert').first()
        if insert_rol is None:
            insert_rol = Modulo(titulo='Adicionar',
                                ruta='/rol_insert',
                                nombre='rol_insert',
                                menu=False)
        update_rol = session.query(Modulo).filter(
            Modulo.nombre == 'rol_update').first()
        if update_rol is None:
            update_rol = Modulo(titulo='Actualizar',
                                ruta='/rol_update',
                                nombre='rol_update',
                                menu=False)
        delete_rol = session.query(Modulo).filter(
            Modulo.nombre == 'rol_delete').first()
        if delete_rol is None:
            delete_rol = Modulo(titulo='Dar de Baja',
                                ruta='/rol_delete',
                                nombre='rol_delete',
                                menu=False)

        roles_m.children.append(query_rol)
        roles_m.children.append(insert_rol)
        roles_m.children.append(update_rol)
        roles_m.children.append(delete_rol)

        super_role = session.query(Rol).filter(
            Rol.nombre == 'SUPER ADMINISTRADOR').first()
        if super_role is None:
            super_role = Rol(nombre='SUPER ADMINISTRADOR',
                             descripcion='Todos los permisos.')

        admin_role = session.query(Rol).filter(
            Rol.nombre == 'ADMINISTRADOR').first()
        if admin_role is None:
            admin_role = Rol(nombre='ADMINISTRADOR',
                             descripcion='Solo permisos de administrador.')

        super_role.modulos.append(user_m)
        super_role.modulos.append(roles_m)
        super_role.modulos.append(query_rol)
        super_role.modulos.append(insert_rol)
        super_role.modulos.append(update_rol)
        super_role.modulos.append(delete_rol)

        session.add(super_role)
        session.add(admin_role)

        session.commit()
Пример #8
0
 def get(self):
     usuario = self.get_user()
     with transaction() as db:
         self.render("usuarios/usuario/views/manual.html", user=usuario)
Пример #9
0
 def insertar_bitacora(self, bitacora):
     with transaction() as session:
         session.add(bitacora)
         session.commit()
Пример #10
0
def insertions():
    with transaction() as session:
        negocio_m = session.query(Modulo).filter(
            Modulo.nombre == 'negocio_mod').first()
        if negocio_m is None:
            negocio_m = Modulo(titulo='Negocio',
                               nombre='negocio_mod',
                               icono='business_center')

        salida_m = session.query(Modulo).filter(
            Modulo.nombre == 'salida').first()
        if salida_m is None:
            salida_m = Modulo(titulo='Nota de Salida',
                              ruta='/salida',
                              nombre='salida',
                              icono='article')

        negocio_m.children.append(salida_m)

        query_salida = session.query(Modulo).filter(
            Modulo.nombre == 'salida_query').first()
        if query_salida is None:
            query_salida = Modulo(titulo='Consultar',
                                  ruta='',
                                  nombre='salida_query',
                                  menu=False)
        insert_salida = session.query(Modulo).filter(
            Modulo.nombre == 'salida_insert').first()
        if insert_salida is None:
            insert_salida = Modulo(titulo='Adicionar',
                                   ruta='/salida_insert',
                                   nombre='salida_insert',
                                   menu=False)
        update_salida = session.query(Modulo).filter(
            Modulo.nombre == 'salida_update').first()
        if update_salida is None:
            update_salida = Modulo(titulo='Actualizar',
                                   ruta='/salida_update',
                                   nombre='salida_update',
                                   menu=False)
        delete_salida = session.query(Modulo).filter(
            Modulo.nombre == 'salida_delete').first()
        if delete_salida is None:
            delete_salida = Modulo(titulo='Dar de Baja',
                                   ruta='/salida_delete',
                                   nombre='salida_delete',
                                   menu=False)

        salida_m.children.append(query_salida)
        salida_m.children.append(insert_salida)
        salida_m.children.append(update_salida)
        salida_m.children.append(delete_salida)

        roles = session.query(Rol).filter(
            Rol.nombre.in_(['SUPER ADMINISTRADOR', "ADMINISTRADOR"])).all()

        for rol in roles:
            rol.modulos.append(negocio_m)
            rol.modulos.append(salida_m)
            rol.modulos.append(query_salida)
            rol.modulos.append(insert_salida)
            rol.modulos.append(update_salida)
            rol.modulos.append(delete_salida)

        session.commit()
Пример #11
0
def insertions():
    with transaction() as session:
        negocio_m = session.query(Modulo).filter(
            Modulo.nombre == 'negocio_mod').first()
        if negocio_m is None:
            negocio_m = Modulo(titulo='Negocio',
                               nombre='negocio_mod',
                               icono='business_center')

        cliente_m = session.query(Modulo).filter(
            Modulo.nombre == 'cliente').first()
        if cliente_m is None:
            cliente_m = Modulo(titulo='Cliente',
                               ruta='/cliente',
                               nombre='cliente',
                               icono='assignment_ind')

        negocio_m.children.append(cliente_m)

        query_cliente = session.query(Modulo).filter(
            Modulo.nombre == 'cliente_query').first()
        if query_cliente is None:
            query_cliente = Modulo(titulo='Consultar',
                                   ruta='',
                                   nombre='cliente_query',
                                   menu=False)
        insert_cliente = session.query(Modulo).filter(
            Modulo.nombre == 'cliente_insert').first()
        if insert_cliente is None:
            insert_cliente = Modulo(titulo='Adicionar',
                                    ruta='/cliente_insert',
                                    nombre='cliente_insert',
                                    menu=False)
        update_cliente = session.query(Modulo).filter(
            Modulo.nombre == 'cliente_update').first()
        if update_cliente is None:
            update_cliente = Modulo(titulo='Actualizar',
                                    ruta='/cliente_update',
                                    nombre='cliente_update',
                                    menu=False)
        delete_cliente = session.query(Modulo).filter(
            Modulo.nombre == 'cliente_delete').first()
        if delete_cliente is None:
            delete_cliente = Modulo(titulo='Dar de Baja',
                                    ruta='/cliente_delete',
                                    nombre='cliente_delete',
                                    menu=False)

        cliente_m.children.append(query_cliente)
        cliente_m.children.append(insert_cliente)
        cliente_m.children.append(update_cliente)
        cliente_m.children.append(delete_cliente)

        roles = session.query(Rol).filter(
            Rol.nombre.in_(['SUPER ADMINISTRADOR', "ADMINISTRADOR"])).all()

        for rol in roles:
            rol.modulos.append(negocio_m)
            rol.modulos.append(cliente_m)
            rol.modulos.append(query_cliente)
            rol.modulos.append(insert_cliente)
            rol.modulos.append(update_cliente)
            rol.modulos.append(delete_cliente)

        session.commit()
Пример #12
0
def insertions():
    with transaction() as session:
        store_empress = Empresa(nombre='ROHO Homecenter')
        session.add(store_empress)

        suc_store = Sucursal(nombre='Central')
        suc_store.empresa = store_empress
        suc_store2 = Sucursal(nombre='3er anillo')
        suc_store2.empresa = store_empress

        session.add(suc_store)
        session.add(suc_store2)

        prod01_store = Producto(
            codigo='AIRCMPG030059',
            nombre='TERMO ROJO 2.5L ATACAMA',
            descripcion=
            'Uso: Mantiene las bebidas frías\nCapacidad: 2.5 Litros\nColor: Rojo\nMedidas: 28x20x16Cm\nMarca: Soprano',
            precio=59.9)
        prod02_store = Producto(codigo='AIRCMPG020007',
                                nombre='CARPA PHILY 2 PERSONAS 2500MM NTK',
                                descripcion='',
                                precio=550)
        prod03_store = Producto(
            codigo='HRRMANO030073',
            nombre='CAJA DE HERRAMIENTA PLASTICA 19PLG B/METAL STANLEY',
            descripcion=
            'CAJA DE HERRAMIENTA PLÁSTICA 19 PULGADA BROCHE METÁLICO STANLEY',
            precio=190)
        prod04_store = Producto(
            codigo='MBLOFCN010039',
            nombre='ESCRITORIO STUDIO 1.3 C/CAJON ARG/PRT 136X75X60CM',
            descripcion=
            'Con medidas de 60 ancho x 75 alto x 136 largo cm y un peso de 34 kilos, este escritorio podrá utilizarse sin problemas para ubicar un computador e impresora.',
            precio=969)

        session.add(prod01_store)
        session.add(prod02_store)
        session.add(prod03_store)
        session.add(prod04_store)
        #---------------------------------------------------------------------------------------------------------------------------------#
        # farm_empress = Empresa(nombre='Farmacorp')
        #
        # suc_farm01 = Sucursal(nombre='Banzer 3er anillo')
        # suc_farm01.empresa = farm_empress
        # suc_farm02 = Sucursal(nombre='Torres Gemelas')
        # suc_farm02.empresa = farm_empress
        # suc_farm03 = Sucursal(nombre='Av. Cristo Redentor')
        # suc_farm03.empresa = farm_empress
        # suc_farm04 = Sucursal(nombre='Equipetrol')
        # suc_farm04.empresa = farm_empress
        #
        # session.add(suc_farm01)
        # session.add(suc_farm02)
        # session.add(suc_farm03)
        # session.add(suc_farm04)
        #
        # prod01_farm = Producto(codigo='SK101', nombre='VITARosa', descripcion='Bloqueador solar VITAROSA', precio=50)
        # prod02_farm = Producto(codigo='SK247', nombre='Colágeno', descripcion='Whisky Dewar’s 12, Amaro, mermelada de higo, zumo de limón', precio=80)
        # prod03_farm = Producto(codigo='CR745', nombre='Crema', descripcion='Crema limpia pecas', precio=70)
        #
        # session.add(prod01_farm)
        # session.add(prod02_farm)
        # session.add(prod03_farm)
        # ---------------------------------------------------------------------------------------------------------------------------------#
        cliente01 = Cliente(nombre='Sandra Justiniano', nit='786521317826')
        cliente02 = Cliente(nombre='Marcelo Estrada', nit='234567569845')
        cliente03 = Cliente(nombre='Arturo Aguirre', nit='147832484574')
        cliente04 = Cliente(nombre='Alexander Vega', nit='654685404550')

        session.add(cliente01)
        session.add(cliente02)
        session.add(cliente03)
        session.add(cliente04)

        session.commit()
Пример #13
0
    def obtener_usuario(self, key):
        with transaction() as session:
            usuario = session.query(Usuario).filter(Usuario.id == key).first()

        return usuario
Пример #14
0
    def obtener_persona(self, key):
        with transaction() as session:
            persona = session.query(Persona).filter(Persona.id == key).first()

        return persona