Esempio n. 1
0
import logging

from flask import request
from flask_restplus import Resource
from flask_jwt_extended import (jwt_required, get_jwt_identity)
from remanager_back.api.usuario.extra.servicios import create_user_extra, get_user_extra_by_login
from remanager_back.api.usuario.extra.serializadores import usuario_extra, fotos_extra, profile_picture
from remanager_back.api.restplus import api

log = logging.getLogger(__name__)

ns = api.namespace(
    'usuario/extra',
    description='Servicios para manejar los datos extras del usuario')


@ns.route('/')
class GetUserExtra(Resource):
    @api.marshal_with(usuario_extra)
    @jwt_required
    def get(self):
        user_login = get_jwt_identity()

        try:
            extra = get_user_extra_by_login(user_login)
        except Exception as exception:
            extra = create_user_extra(user_login)

        return extra.to_dict()

Esempio n. 2
0
from flask_jwt_extended import (create_access_token, jwt_required,
                                get_jwt_identity)
from remanager_back.api.usuario.autenticacion.servicios import obtener_organizacion_por_id
from remanager_back.api.usuario.serializadores import usuario
from remanager_back.api.usuario.autenticacion.serializadores import login, access_token
from remanager_back.api.restplus import api

from remanager_back.data_auth.models import UserModel

from datetime import timedelta, datetime

from firebase_admin import firestore

log = logging.getLogger(__name__)

ns = api.namespace('sesion',
                   description='Servicios para manejar la sesión del usuario')


@ns.route('/autenticar')
class UserLogin(Resource):
    @api.marshal_with(access_token)
    @api.doc(security=None)
    @api.expect(login)
    def post(self):
        data = request.json
        current_user = UserModel.find_by_login(data.get('login'))
        if not current_user:
            abort(
                401,
                'El usuario con login {} no existe'.format(data.get('login')))
Esempio n. 3
0
from flask import request
from flask_restplus import Resource, abort
from flask_jwt_extended import (jwt_required, get_jwt_identity)
from remanager_back.api.svg.servicios import crear_svg, editar_svg, borrar_svg, obtener_todos_los_svgs,\
    obtener_svg_por_id
from remanager_back.api.svg.serializadores import svg, svg_alta
from remanager_back.api.restplus import api

from remanager_back.data_auth.models import UserModel
from remanager_back.settings import AUTHORITY_ADMIN

log = logging.getLogger(__name__)

ns = api.namespace(
    'svgs',
    description=
    'Servicios para manejar los svg de la aplicación, sólo para usuario ROOT')


@ns.route('/')
class Svg(Resource):
    @api.marshal_with(svg)
    @api.expect(svg_alta)
    @jwt_required
    def post(self):
        login = get_jwt_identity()
        current_user = UserModel.find_by_login(login)

        if not current_user.has_authority(AUTHORITY_ADMIN):
            abort(401, 'No tiene permisos para realizar esta acción')
Esempio n. 4
0
import logging
import os
import base64

from flask import request
from flask_restplus import Resource
from flask_jwt_extended import (jwt_required)
from remanager_back.api.archivos.serializadores import envio_archivos
from remanager_back.api.restplus import api
from remanager_back.settings import WEB_FOLDER_NAME

log = logging.getLogger(__name__)

ns = api.namespace('file/upload',
                   description='Servicios para manejar archivos')


@ns.route('/')
class Archivos(Resource):
    @api.expect(envio_archivos)
    @jwt_required
    def post(self):
        data = request.json

        folder = data.get('folder').replace(" ", "_")
        files = list(data.get('files'))

        if len(files) <= 0:
            return {'message', 'No files in request'}, 400

        added_files = []
Esempio n. 5
0
from flask_jwt_extended import (jwt_required, get_jwt_identity)
from remanager_back.api.contrato.servicios import crear_contrato, obtener_contratos,\
    obtener_contratos_por_correo_vendedor, obtener_contrato_por_contrato_id,\
    obtener_contrato_por_contrato_id_y_correo_vendedor, borrar_contrato, desactivar_contrato, agregar_pago_real
from remanager_back.api.cliente.servicios import obtener_cliente_por_id, obtener_cliente_por_id_correo_vendedor
from remanager_back.api.producto.servicios import obtener_producto_por_id
from remanager_back.api.contrato.serializadores import contrato, pago_programado, pago_real
from remanager_back.api.restplus import api

from remanager_back.data_auth.models import UserModel

from remanager_back.settings import AUTHORITY_ADMIN, AUTHORITY_ROOT

log = logging.getLogger(__name__)

ns = api.namespace('contratos',
                   description='Servicios para manejar los contratos')


@ns.route('/')
class Contrato(Resource):
    @api.marshal_with(contrato)
    @api.expect(contrato)
    @jwt_required
    def post(self):
        login = get_jwt_identity()
        current_user = UserModel.find_by_login(login)

        data = request.json

        if current_user.has_authority(
                AUTHORITY_ADMIN) or current_user.has_authority(AUTHORITY_ROOT):
Esempio n. 6
0
    obtener_productos_por_organizacion_id, obtener_producto_por_id, obtener_producto_por_id_y_organizacion_id,\
    editar_producto, borrar_producto_por_id, obtener_productos_por_proyecto_id,\
    obtener_productos_por_organizacion_id_y_proyecto_id, obtener_productos_por_id_seccion
from remanager_back.api.contrato.servicios import obtener_contratos_por_producto_id,\
    obtener_contratos_por_producto_id_y_correo_vendedor
from remanager_back.api.producto.serializadores import producto
from remanager_back.api.contrato.serializadores import contrato
from remanager_back.api.restplus import api

from remanager_back.data_auth.models import UserModel

from remanager_back.settings import AUTHORITY_ADMIN, AUTHORITY_ROOT

log = logging.getLogger(__name__)

ns = api.namespace('productos',
                   description='Servicios para manejar los productos')

buscar_productos_parser = reqparse.RequestParser()
buscar_productos_parser.add_argument('proyectoId', type=str, location='args')
buscar_productos_parser.add_argument('id_seccion', type=str, location='args')


@ns.route('/')
class Productos(Resource):
    @api.marshal_with(producto)
    @api.expect(producto)
    @jwt_required
    def post(self):
        login = get_jwt_identity()
        current_user = UserModel.find_by_login(login)
Esempio n. 7
0
from flask_jwt_extended import (jwt_required, get_jwt_identity)
from remanager_back.api.cliente.servicios import crear_cliente, obtener_cliente_por_id,\
    obtener_cliente_por_id_correo_vendedor, editar_cliente, borrar_cliente_por_id,\
    obtener_todos_los_clientes_por_organizacion_id, obtener_clientes_por_correo_vendedor
from remanager_back.api.contrato.servicios import obtener_contratos_por_cliente_id,\
    obtener_resumen_contratos_por_cliente
from remanager_back.api.cliente.serializadores import cliente, cliente_alta, resumen_cliente_contratos
from remanager_back.api.restplus import api

from remanager_back.data_auth.models import UserModel

from remanager_back.settings import AUTHORITY_ADMIN, AUTHORITY_ROOT

log = logging.getLogger(__name__)

ns = api.namespace('clientes',
                   description='Servicios para manejar los cliente')


@ns.route('/')
class Clientes(Resource):
    @api.marshal_with(cliente)
    @api.expect(cliente_alta)
    @jwt_required
    def post(self):
        login = get_jwt_identity()
        current_user = UserModel.find_by_login(login)

        data = request.json

        try:
            cliente = crear_cliente(