Exemplo n.º 1
0
def cerrarsesion(request):
    # Eliminamos la sesión
    SesionesCache.eliminar(request.COOKIES.get("token"))

    # Obtenemos la respuesta
    response = HttpResponseRedirect("/admin")

    # Eliminamos la cookie
    response.delete_cookie("token")

    # Volvemos a la página de inicio
    return response
Exemplo n.º 2
0
def bloquearcuenta(request):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Bloqueamos la cuenta
    usuario["LO"] = "S"

    # Guardamos los cambios
    SesionesCache.guardar(request.COOKIES.get("token"), usuario)

    # Accedemos al bloqueo de la cuenta
    return Utilidades.RenderizarCSRF(request, "backend/bloqueo.html",
                                     {"usuario": usuario})
Exemplo n.º 3
0
def ProcesarRequest(request, template, *args):
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si no estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")
    else:
        # Si hemos bloqueado el usuario
        if usuario["LO"] == "S":
            return HttpResponseRedirect("/admin/bloquearcuenta")

        # Si no hay parámetros de entrada
        if len(args) == 0:
            # Accedemos de forma normal
            return Utilidades.RenderizarCSRF(request, template,
                                             {"usuario": usuario})
        else:
            # Obtenemos los parámetros pasados por referencia
            parametros = args[0]

            # Actualizamos los parámetros de entrada con el token CSRF
            parametros.update({"usuario": usuario})

            # Accedemos de forma normal
            return Utilidades.RenderizarCSRF(request, template, parametros)
Exemplo n.º 4
0
def eliminaroferta(request, id):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si ya estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")
    else:
        # Si hemos bloqueado el usuario
        if usuario["LO"] == "S":
            return HttpResponseRedirect("/admin/bloquearcuenta")

        with transaction_context() as session:
            # Obtenemos los datos de la oferta
            oferta = session.query(Ofertas).filter(Ofertas.id == id).first()

            # Si no existe la oferta
            if oferta is None:
                return HttpResponseRedirect('/404')

            # Si somos empresa, sólo podemos editar nuestras ofertas
            if usuario["TI"] == "E" and oferta.empresa != usuario["EM"]:
                return HttpResponseRedirect('/403')

            # Accedemos de forma normal
            return Utilidades.RenderizarCSRF(
                request, "backend/oferta.html", {
                    "usuario": usuario,
                    "titulo": "Eliminar Oferta",
                    "accion": "D",
                    "oferta": oferta
                })
Exemplo n.º 5
0
def eliminarempresa(request, id):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si ya estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")
    else:
        # Si hemos bloqueado el usuario
        if usuario["LO"] == "S":
            return HttpResponseRedirect("/admin/bloquearcuenta")

        # Si no somos los administradores
        if usuario["TI"] != "SA":
            return HttpResponseRedirect('/403')

        with transaction_context() as session:
            # Obtenemos los datos de la empresa
            empresa = session.query(Empresas).filter(Empresas.id == id).first()

            # Si no existe la empresa
            if empresa is None:
                return HttpResponseRedirect('/404')

            # Accedemos de forma normal
            return Utilidades.RenderizarCSRF(
                request, "backend/empresa.html", {
                    "usuario": usuario,
                    "titulo": "Eliminar Empresa",
                    "accion": "D",
                    "empresa": empresa
                })
Exemplo n.º 6
0
def perfil(request):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si ya estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")

    # Si hemos bloqueado el usuario
    if usuario["LO"] == "S":
        return HttpResponseRedirect("/admin/bloquearcuenta")

    with transaction_context() as session:
        # Obtenemos los datos del administrador
        administrador = session.query(Administradores).filter(
            Administradores.id == usuario["ID"]).first()

        # Si es un administrador o superadministrador
        if usuario["TI"] == "SA":
            # Accedemos de forma normal
            return Utilidades.RenderizarCSRF(request, "backend/perfil.html", {
                "usuario": usuario,
                "perfil": administrador
            })
        else:
            # Obtenemos los datos de la empresa
            empresa = session.query(Empresas).filter(
                Empresas.id == usuario["EM"]).first()

            # Accedemos de forma normal
            return Utilidades.RenderizarCSRF(request,
                                             "backend/perfilempresa.html", {
                                                 "usuario": usuario,
                                                 "empresa": empresa
                                             })
Exemplo n.º 7
0
def eventos(request):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si ya estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")
    else:
        # Accedemos
        return Utilidades.RenderizarCSRF(request, "backend/eventos.html",
                                         {"usuario": usuario})
Exemplo n.º 8
0
def nuevoevento(request):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si ya estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")
    else:
        # Accedemos
        return Utilidades.RenderizarCSRF(
            request, "backend/evento.html", {
                "usuario": usuario,
                "titulo": "Nuevo evento",
                "accion": "C",
                "oferta": {}
            })
Exemplo n.º 9
0
def paises(request):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si ya estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")
    else:
        # Si hemos bloqueado el usuario
        if usuario["LO"] == "S":
            return HttpResponseRedirect("/admin/bloquearcuenta")

        # Si no somos superadministrador
        if usuario["TI"] != "SA":
            return HttpResponseRedirect('/403')

    return Utilidades.RenderizarCSRF(request, "backend/paises.html",
                                     {"usuario": usuario})
Exemplo n.º 10
0
def editarempresa(request, id):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si ya estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")
    else:
        # Si hemos bloqueado el usuario
        if usuario["LO"] == "S":
            return HttpResponseRedirect("/admin/bloquearcuenta")

        # Si no somos los administradores
        if usuario["TI"] != "SA":
            return HttpResponseRedirect('/403')

        with transaction_context() as session:
            # Obtenemos los datos de la empresa
            empresa = session.query(Empresas).filter(Empresas.id == id).first()

            # Si no existe la empresa
            if empresa is None:
                return HttpResponseRedirect('/404')

            # Obtenemos las imágenes
            imagenes = session.query(ImagenesEmpresa).filter(ImagenesEmpresa.empresa == empresa.id).\
                with_entities(ImagenesEmpresa.id, ImagenesEmpresa.archivo, ImagenesEmpresa.descripcion).\
                order_by(ImagenesEmpresa.id).all()

            # Accedemos de forma normal
            return Utilidades.RenderizarCSRF(
                request, "backend/empresa.html", {
                    "usuario": usuario,
                    "titulo": "Editar Empresa",
                    "accion": "U",
                    "empresa": empresa,
                    "imagenes": list(imagenes)
                })
Exemplo n.º 11
0
def nuevaempresa(request):
    # Usuario logueado
    usuario = SesionesCache.leer(request.COOKIES.get("token"))

    # Si ya estamos logueados anteriormente
    if usuario is None:
        return Utilidades.RenderizarCSRF(request, "backend/login.html")
    else:
        # Si hemos bloqueado el usuario
        if usuario["LO"] == "S":
            return HttpResponseRedirect("/admin/bloquearcuenta")

        # Si no somos los administradores
        if usuario["TI"] != "SA":
            return HttpResponseRedirect('/403')

        # Accedemos
        return Utilidades.RenderizarCSRF(
            request, "backend/empresa.html", {
                "usuario": usuario,
                "titulo": "Nueva Empresa",
                "accion": "C",
                "empresa": {}
            })