예제 #1
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
예제 #2
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()
예제 #3
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
예제 #4
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
예제 #5
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
예제 #6
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
예제 #7
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()
예제 #8
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
예제 #9
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
예제 #10
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
예제 #11
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
예제 #12
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