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
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
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
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
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
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
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)