Esempio n. 1
0
    def registrar_usuario_cliente(self, datos, ruta):
        try:
            user = auth.create_user(
                email=datos['correo_usuario_registrar'],
                phone_number="+57" + datos['telefono_usuario_registrar'],
                display_name=datos['nombre_usuario_registrar'],
                password=datos['password_usuario_registrar'])

            datos_guardar = {
                'uid_user_registra': datos['uid_usuario'],
                'uid_user': user.uid,
                'nombre_gerente': datos['nombre_usuario_registrar'],
                'apellido_gerente': datos['apellido_usuario_registrar'],
                'telefono_usuario': datos['telefono_usuario_registrar'],
                'correo_usuario': datos['correo_usuario_registrar'],
            }
            ref = db.reference()
            ref.child('geo' + ruta).child(user.uid).set(datos_guardar)

            return True, ''
        except Exception as e:
            print(e)
            generator = Generador()
            codigo = generator.validarGuardarInformacionError(
                '000', 'crear usuario', 'POST', 'admin')
            return False, codigo
Esempio n. 2
0
    def registrar_cliente(self, datos):
        try:
            user = auth.create_user(email=datos['correo_cliente'],
                                    phone_number="+57" +
                                    datos['telefono_cliente'],
                                    display_name=datos['nombre_cliente'],
                                    password=datos['password_cliente'])

            datos_guardar = {
                'nombre_cliente': datos['nombre_cliente'],
                'cedula_cliente': datos['cedula_cliente'],
                'apellido_cliente': datos['apellido_cliente'],
                'telefono_cliente': datos['telefono_cliente'],
                'correo_cliente': datos['correo_cliente'],
            }
            ref = db.reference()
            ref.child('geoCLIENTES').child(user.uid).set(datos_guardar)

            return True, ''
        except Exception as e:
            print(e)
            generator = Generador()
            codigo = generator.validarGuardarInformacionError(
                '', 'crear cliente', '', '')
            return False, codigo
Esempio n. 3
0
 def actualizar_estado_pedido(self, datos):
     try:
         ref = db.reference()
         ref.child('geoPedido').child(datos['uid_pedido']).update(
             {'estado_pedido': datos['estado_pedido']})
         return True, 'actualizacion exitosa'
     except Exception as identifier:
         print(identifier)
         generator = Generador()
         codigo = generator.validarGuardarInformacionError(
             '000', 'solicitar  pedido cliente', 'post', '')
         return False, codigo
 def asignar_tienda(self, datos):
     try:
         ref = db.reference()
         datos = ref.child('geoTIENDAS').child(datos['uid_tienda']).update({
             'admin-tienda_asignado':
             datos['uid_admin_tienda'],
             'estado_disponibilidad':
             True,
         })
         return True, ''
     except Exception as e:
         print(e)
         generator = Generador()
         codigo = generator.validarGuardarInformacionError(
             '000', 'asignacion de de tienda', '', '')
         return False, codigo
Esempio n. 5
0
 def registrar_tienda(self, datos):
     try:
         datos_guardar = {
             'uid_user_registra': datos['uid_usuario'],
             'nombre_sede_tienda': datos['nombre_tienda_registrar'],
             'latitud_tienda': datos['latitud_tienda'],
             'longitud_tienda': datos['longitud_tienda'],
             'zona_influencia': datos['zona_influencia'],
             'estado_disponibilidad': False,
             'admin-tienda_asignado': ''
         }
         ref = db.reference()
         ref.child('geoTIENDAS').push(datos_guardar)
         return True, ''
     except Exception as e:
         print(e)
         generator = Generador()
         codigo = generator.validarGuardarInformacionError(
             '000', 'crear usuario', 'POST', 'admin')
         return False, codigo
Esempio n. 6
0
 def registrar_pedido(self, datos_pedido, uid_tienda):
     try:
         ref = db.reference()
         productos = []
         uid_cliente = datos_pedido['uid_cliente']
         total = 0
         cantidad_productos = 0
         for m in datos['datos_pedidos']:
             total = total + int(m['precio'])
             datos_producto_pedido = {
                 'nombre_producto': m['nombre'],
                 'precio_producto': int(m['precio']),
                 'cantidad_producto': m['cantidad'],
                 'key_producto': m['key'],
                 'imagen_producto': m['imagen']
             }
             cantidad_productos = cantidad_productos + 1
             productos.append(datos_producto_pedido)
         uid_productos_pedido = ref.child('geoPedidoProducto').push(
             productos)
         fecha = str(date.today())
         hora = str(time.strftime("%H:%M:%S"))
         datos_pedido = {
             'uid_cliente': uid_cliente,
             'candidad_productos': cantidad_productos,
             'total_precio': total,
             'fecha_pedido': fecha,
             'hora_pedido': hora,
             'estado_pedido': 'En tienda',
             'referencia_pedido_producto': uid_productos_pedido.key,
             'uid_tienda_pedido_asignado': uid_tienda,
             'nombre_cliente': datos_pedido['nombre_cliente']
         }
         ref.child('geoPedido').push(datos_pedido)
         return True, 'pedido exitoso'
     except Exception as identifier:
         print(identifier)
         generator = Generador()
         codigo = generator.validarGuardarInformacionError(
             '000', 'registrar pedido', 'post', '')
         return False, codigo
Esempio n. 7
0
 def solicitar_pedidos_tienda(self, uid_tienda):
     try:
         ref = db.reference()
         datos = ref.child('geoPedido').order_by_child(
             'uid_tienda_pedido_asignado').equal_to(uid_tienda).get()
         pedidos = []
         if len(datos) != 0:
             for k, m in datos.items():
                 datos_2 = ref.child('geoPedidoProducto').child(
                     m['referencia_pedido_producto']).get()
                 productos = []
                 for p in datos_2:
                     producto = {
                         "cantidad_p": p['cantidad_producto'],
                         "imagen": p['imagen_producto'],
                         "key": p['key_producto'],
                         "nombre_p": p['nombre_producto'],
                         "precio_p": p['precio_producto'],
                     }
                     productos.append(producto)
                 pedido = {
                     'key': k,
                     'nombre_cliente': m['nombre_cliente'],
                     'cliente': m['uid_cliente'],
                     'precio': m['total_precio'],
                     'cantidad': m['candidad_productos'],
                     'fecha': m['fecha_pedido'],
                     'hora': m['hora_pedido'],
                     'estado': m['estado_pedido'],
                     'productos': productos
                 }
                 pedidos.append(pedido)
             return True, pedidos
         else:
             return False, 'no tiene pedidos'
     except Exception as identifier:
         print(identifier)
         generator = Generador()
         codigo = generator.validarGuardarInformacionError(
             '000', 'solicitar  pedido', 'post', '')
         return False, codigo
    def solicitar_producto_cliente(self):
        try:
            ref = db.reference()
            datos = ref.child("geoPRODUCTO").get()
            if datos != None:
                dato = []
                for k, v in datos.items():
                    producto = {
                        'key': k,
                        'nombre': v['nombre_producto'],
                        'precio': v['precio_producto'],
                        'imagen': v['producto_imagen'],
                        'referencia': v['referencia_producto'],
                        'categoria': v['categoria_producto']
                    }
                    dato.append(producto)

                return True, dato
            else:
                generator = Generador()
                codigo = generator.validarGuardarInformacionError(
                    '000',
                    'solicitar producto - tienda no tiene productos disponibles- productos model',
                    'post', '')
                return False, codigo
        except Exception as e:
            generator = Generador()
            codigo = generator.validarGuardarInformacionError(
                '000', 'solicitar producto cliente', 'post', '')
            return False, codigo
    def solicitudes_admin_gerente(self, uid, tipo):
        try:
            ref = db.reference()
            if tipo == 'LISTA_ADMIN_TIENDAS':
                datos = ref.child('geoADMIN_TIENDAS').get()
                if datos != None:
                    return True, datos
            elif tipo == 'LISTA_TIENDAS':
                datos = ref.child('geoTIENDAS').get()
                if datos != None:
                    dato = []
                    for k, v in datos.items():
                        tienda = {
                            'key': k,
                            'nombre': v['nombre_sede_tienda'],
                            'latitud': v['latitud_tienda'],
                            'logintud': v['longitud_tienda'],
                            'estado': v['estado_disponibilidad'],
                            'admin_de_tienda': v['admin-tienda_asignado'],
                        }
                        dato.append(tienda)

                    return True, dato
            else:
                generator = Generador()
                codigo = generator.validarGuardarInformacionError(
                    '000', 'solicitudes admin- gerente', '', '')
                return False, codigo
        except:
            generator = Generador()
            codigo = generator.validarGuardarInformacionError(
                '000', 'solicitudes admin- gerente', '', '')
            return False, codigo
Esempio n. 10
0
    def registrar_producto(self, datos):
        try:
            datos_guardar = {
                'nombre_producto': datos['nombre_producto'],
                'referencia_producto': datos['referencia_producto'],
                'precio_producto': datos['precio_producto'],
                'cantidad_producto': datos['cantidad_producto'],
                'producto_imagen': datos['producto_imagen'],
                'descripcion': datos['descripcion'],
                'uid_user_registra': datos['uid_usuario'],
                'categoria_producto': datos['categoria']
            }
            ref = db.reference()
            ref.child('geoPRODUCTO').push(datos_guardar)

            return True, ''
        except Exception as e:
            print(e)
            generator = Generador()
            codigo = generator.validarGuardarInformacionError(
                '000', 'guardar producto', 'post', '')
            return False, codigo
from clases.validaciones import Validaciones
from validator import Required, Equals, validate, In, Pattern
from model.token_model import Token
from ficheros.codigo import Generador
from controller.header_controller import HeaderController
from model.asignar_model import AsignarModel
header_controller = HeaderController()
verificartoken = Token()
validaciones = Validaciones()
generador = Generador()


class AsignarController:
    def asignar_tienda(self, request):
        estado_header, codigo_header = header_controller.validar_header(
            request.headers)
        if estado_header:
            token = request.headers['Authorization']
            estado_token, codigo_token = verificartoken.validar_token_fb(token)
            if estado_token:
                estado_json, codigo_json = validaciones.validar_json(request)
                if estado_json:
                    rules = {
                        "uid_usuario": [Required],
                        "uid_admin_tienda": [Required],
                        "uid_tienda": [Required]
                    }
                    respuesta = validate(rules, request.json)
                    if (respuesta[0]):
                        estado_vacio, codigo_vacio = validaciones.validar_campos_vacios(
                            request.json)