Ejemplo n.º 1
0
    def put(self, id_product):
        product_data = Product.attribute.parse_args()
        products = ProductModel(**product_data)

        product = ProductModel.find_product(id_product)
        id_provider = ProductModel.find_id_provider(products.id_provider)

        if not id_provider:
            return {
                "message":
                "The id '{}' does not found.".format(products.id_provider)
            }, 404

        if not product:
            return {
                "message": "Product id '{}' does not found.".format(id_product)
            }, 404

        product_found = ProductModel.find_product(id_product)
        if product_found:
            product_found.update_product(**product_data)
            product_found.save_product()
            return product_found.json(), 200
        product = ProductModel(id_product, **product_data)

        try:
            product.save_product()
        except:
            return {'message': 'Internal error'}, 500
        return product.json(), 201
Ejemplo n.º 2
0
    def post(self):
        
        product = Product.parser.parse_args()

        if not product['name']:
            return {
                'status': False,
                'message': 'Product name must not be empty.',
                'data': None
            }

        if ProductModel.find_by_name(product['name']):
            return {
                'status': False,
                'message':"A product with name '{}' already exists.".format(product['name']),
                'data': None
            }
        
        product = ProductModel(**product)
    
        try:
            product.save_to_db()
        except:
            return {
                'status': False,
                'message': 'An error occurred while creating the product.',
                'data': None
            }, 500
        
        return {
            'status': True,
            'message': 'Success',
            'data': product.json()
        },201
Ejemplo n.º 3
0
 def put(self, name):
     data = Product.parser.parse_args()
     product = ProductModel.find_by_name(name)
     if product is None:
         product = ProductModel(name, **data)
     else:
         product.price = data['price']
         product.save_to_db()
     return product.json()
Ejemplo n.º 4
0
 def put(self, codigo):
     data = Product.attribute.parse_args()
     product_find = ProductModel.find_product(codigo)
     if product_find:
         product_find.update_product(**data)
         product_find.save_product()
         return product_find.json(), 200
     product = ProductModel(codigo, **data)
     product.save_product()
     return product.json(), 201
Ejemplo n.º 5
0
    def post(self):
        data = Product.parser.parse_args()

        product = ProductModel(**data)

        try:
            product.save_to_db()
        except:
            return {"message": "An error occurred creating the operation"}, 500

        return product.json(), 201
Ejemplo n.º 6
0
    def post(self):
        data = parser.parse_args()

        product = ProductModel(data['name'], data['description'], data['price'], data['parent_id'])

        try:
            product.save()
        except Exception as e:
            return {'message': 'An error occurred inserting into db: {}'.format(e)}, 500

        return product.json(), 201
Ejemplo n.º 7
0
 def put(self, codigo):
     dados = Product.argumentos.parse_args()
     product_object = ProductModel(codigo, **dados)
     new_product = product_object.json()
     prod = Product.find_product(codigo)
     if prod:
         prod.update(new_product)
         return new_product, 200
     try:
       products.append(new_product)
     except:
       return {'messege': 'An internal error ocurred trying to save produto'}, 500  # An server error
     return new_product, 200
Ejemplo n.º 8
0
	def post(self, name):
		if ProductModel.find_by_name(name):
			return {'message': "A product with name '{}' already exists.".format(name)}, 400

		data = Product.parser.parse_args()
		product = ProductModel(name, **data)

		try:
			product.save_to_db()
		except:
			return {'message': 'An error occured inserting the product'}, 500

		return product.json(), 201
Ejemplo n.º 9
0
    def post(self, name):
        data = Product.parser.parse_args()
        product = ProductModel.find_by_name(name)

        if product:
            return {
                "message": "product with name '{}' already axists".format(name)
            }
        product = ProductModel(**data)
        print(product.json())
        product.save_to_db()

        return {"message": "Product has been saved"}, 200
Ejemplo n.º 10
0
 def delete(self, instanceid):
     try:
         data = Product.parser.parse_args()
         if data['name'] is None:
             delete_product = ProductModel(instanceid, DELETE_RESPONSE)
         else:
             delete_product = ProductModel(instanceid, DELETE_RESPONSE,
                                           data['name'])
         if DELETE_RESPONSE == 'ACCEPTED':
             asyncio.run_coroutine_threadsafe(delete_product.delay_time(),
                                              event_loop)
         return {'message': delete_product.json()}, 200
     except Exception as e:
         return {"message": str(e)}, 500
Ejemplo n.º 11
0
 def post(self, codigo):
     if ProductModel.find_product(codigo):
         return {
             "message": "Code '{}', product already exists.".format(codigo)
         }, 400  # Bad Request
     data = Product.attribute.parse_args()
     product = ProductModel(codigo, **data)
     try:
         product.save_product()
     except:
         return {
             "message": "An error ocurred trying to create product."
         }, 500  # Internal Server Error
     return product.json(), 201
Ejemplo n.º 12
0
    def post(self, codigo):

        if Product.find_product(codigo):
            return {"message":"Codigo '{}' alredy existis." .format(codigo)}, 400 # Bad Request

        dados = Product.argumentos.parse_args()
        product_object = ProductModel(codigo, **dados)
        new_product = product_object.json()

        try:
            products.append(new_product)
        except:
            return {'messege': 'An internal error ocurred trying to save produto'}, 500 # An server error
        return new_product, 200
Ejemplo n.º 13
0
 def put(self, instanceid):
     try:
         data = Product.parser.parse_args()
         if data['name'] is None:
             update_product = ProductModel(instanceid, UPDATE_RESPONSE)
         else:
             update_product = ProductModel(instanceid, UPDATE_RESPONSE,
                                           data['name'])
         if UPDATE_RESPONSE == 'ACCEPTED':
             asyncio.run_coroutine_threadsafe(update_product.delay_time(),
                                              event_loop)
         return {'message': update_product.json()}, 200
     except:
         return {"message": "An error occurred when updating product."}, 500
Ejemplo n.º 14
0
    def post(self):
        recv_data=Product.parser.parse_args()
        print(type(recv_data))

        if ProductModel.find_by_name(recv_data['name']):
            return {"message":"A product with the name {} already exists..".format(recv_data['name'])},400
        
        product=ProductModel(recv_data['name'], recv_data['description'])

        try:
            product.save_to_db()
        except:
            return {"message":"An Error occured while inserting the data!!"},500

        return product.json(),201
Ejemplo n.º 15
0
    def post(self):

        product_data = Product.attribute.parse_args()
        product = ProductModel(**product_data)

        if not ProviderModel.find_by_id_provider(product.id_provider):
            return {
                'message': 'The product must be associated with a valid id. '
            }, 400

        try:
            product.save_product()
        except:
            return {'message': 'Internal error'}, 500
        return product.json(), 200
Ejemplo n.º 16
0
 def put(self, product_id):
     args = Product.parser.parse_args()
     product_found = ProductModel.find_product(product_id)
     if product_found:
         product_found.update_product(**args)
         product_found.save_product()
         return product_found.json(), 200
     product = ProductModel(product_id, **args)
     try:
         product.save_product()
     except:
         return {
             'message': 'Oops, we have some problem here, try again.'
         }, 500  # internal error
     return product.json(), 201
Ejemplo n.º 17
0
	def put(self, name):
		data = Product.parser.parse_args()

		product = ProductModel.find_by_name(name)

		if product is None:
			product = ProductModel(name, **data)
		else:
			product.desc_short = data['desc_short']
			product.desc_long = data['desc_long']
			product.pdf = data['pdf']
			product.price_excl = data['price_excl']
			product.price_incl = data['price_incl']

		product.save_to_db()
		return product.json()
Ejemplo n.º 18
0
    def post(self, product_id):
        if ProductModel.find_product(product_id):
            return {
                'message':
                'Product ID: {}, already exists.'.format(product_id.upper())
            }, 400  # bad request

        args = Product.parser.parse_args()
        new_product = ProductModel(product_id, **args)
        try:
            new_product.save_product()
        except:
            return {
                'message': 'Oops, we have some problem here, try again.'
            }, 500  # internal error
        return new_product.json()
Ejemplo n.º 19
0
    def post(self, productId):
        if ProductModel.find_product(productId):
            return {
                "message": "Product id '{}' already exists.".format(productId)
            }, 400

        data = Product.arguments.parse_args()
        productObject = ProductModel(productId, **data)
        try:
            productObject.save_product()
        except:
            return {
                'message':
                'An internal error occurred while trying to save the data.'
            }, 500
        return productObject.json()
Ejemplo n.º 20
0
    def post(self):
        request_data = _product_parse.parse_args()
        #print("sadad: {}".format(request_data))
        #if ProductModel.find_by_nameproduct(request_data['nombre_producto']):
        #    return {"message": "el producto '{}' ya existe".format(request_data['nombre_producto'])}, 400

        psearch_if = [g.json() for g in ProductModel.find_all()]
        product = ProductModel.find_by_nameproduct(
            request_data['nombre_producto'])
        if product:
            #req = ProductModel.fin_by_pricesalid(request_data['nombre_producto'], request_data['price_salida'])

            aaa = product.json()['cantidad']
            bbb = product.json()['unidad']
            iddddd = product.json()['id']
            print("resss: {}".format(iddddd))
            product.cantidad = request_data['cantidad'] + aaa
            product.unidad = request_data['unidad'] + bbb

            #tipo_medicamento = ["analgecicos", "antiacidos", "antiulcerosos", "antialergicos", "laxantes", "antiinecciosos", "antiinflamatorios", "Antipiréticos", "Antitusivos", "mucolíticos"]

            #------if request_data[tipo_medicamento] = tipo_medicamento["analgesico"]:
            #------    product.unidad = request_data['cantidad']*200

            #stock = StockModel(request_data["cantidad"], request_data["detalle_unidad"], request_data['price_salida'], product.json()['cantidad'])

        else:
            product = ProductModel(**request_data)

        #a = "entrada de productos a la botica, mas abajo se detallan el nombre del producto y la cantidad que esta ingresando"
        #print(request_data['entrada_id'])
        #entrada = EntradasModel(a)
        #intentos = 0
        #while itentos < 10:
        #    d = request_data['entrada_id']
        #    entrada.save_to_db()s

        try:
            #stock.save_to_db()
            product.save_to_db()
            #salida.save_to_db()
        except:
            return {
                'message': 'ah ocurrido un error al insertar el producto'
            }, 500

        return product.json(), 201
Ejemplo n.º 21
0
    def post(self, code):

        if ProductModel.find_by_code(code):
            return {
                'message':
                "A product with code '{}' already exists.".format(code)
            }, 400

        data = Product.parser.parse_args()

        product = ProductModel(code, data["value"])

        try:
            product.save_to_db()
        except:
            return {"message": "An error ocorrued inserting the item."}, 500

        return product.json(), 201
Ejemplo n.º 22
0
    def post(self, name):

        product = ProductModel.find_by_name(name)
        if product:
            return {'message': "product {} already exists".format(name)}, 400

        data = Product.parser.parse_args()
        product = ProductModel(name, data['price'], data['category_name'],
                               data['imageUrl'])

        try:
            product.save_to_db()  # passing product object to insert
            print(product)
        except:
            return {
                "message": "error occured while loading the data into DB "
            }, 400

        return product.json(), 201
Ejemplo n.º 23
0
	def post(self):
		"""
		Agregar un nuevo producto a la base de datos. Permitir solo para vendedores.
		"""
		if current_identity.user_type != user_types['vendor']:
			return {"message": "Se requiere ser vendedor para agregar productos."}, 401

		data = ProductList.parser.parse_args()

		if not CategoryModel.find_by_id(data['category_id']):
			return {"message": f"La categoría con ID {data['category_id']!r} no ha sido encontrada."}, 404

		if imgurlRegex.match(data['image']) is None:
			return {"message": "La imagen debe ser un enlace de una imagen."}, 400

		new_product = ProductModel(current_identity.id, **data)
		new_product.save_to_db()

		return new_product.json(), 201
Ejemplo n.º 24
0
    def put(self, name):

        data = Product.parser.parse_args()
        product = ProductModel.find_by_name(name)

        if product is None:
            product = ProductModel(name, data['price'], data['category_name'],
                                   data['imageUrl'])
        else:
            product.price = data['price']
            product.category = data['category_name']
            product.imageUrl = data['imageUrl']

        try:
            product.save_to_db()
        except:
            return {"message": " unable to save /update product in DB"}, 500

        return product.json(), 200
Ejemplo n.º 25
0
    def put(self, _id):
        data = parser.parse_args()

        product = ProductModel.find_by_id(_id)

        status = 200
        if product:
            product.name = data['name']
            product.description = data['description']
            product.price = data['price']
        else:
            product = ProductModel(
                data['name'],
                data['description'],
                data['price'],
                data['parent_id']
            )
            status = 201

        product.save()

        return product.json(), status