added promo
This commit is contained in:
@@ -12,7 +12,7 @@ from app.classes.employee import Employee_Employee
|
||||
from app.classes.cards import Card_Card
|
||||
from app.classes.pricing import Pricing_Oil_Oil
|
||||
from app.classes.auth import Auth_User
|
||||
|
||||
from app.classes.promo import Promo_Promo
|
||||
|
||||
@delivery.route("/<int:delivery_id>", methods=["GET"])
|
||||
def get_a_delivery(delivery_id):
|
||||
@@ -43,6 +43,9 @@ def get_a_delivery(delivery_id):
|
||||
'driver_employee_id': get_delivery.driver_employee_id,
|
||||
'driver_first_name': get_delivery.driver_first_name,
|
||||
'driver_last_name': get_delivery.driver_last_name,
|
||||
'promo_id': get_delivery.promo_id,
|
||||
'promo_money_discount': get_delivery.promo_money_discount,
|
||||
|
||||
},
|
||||
}), 200
|
||||
|
||||
@@ -59,6 +62,7 @@ def get_customer_past_delivery1(customer_id):
|
||||
delivery_schema = Delivery_Delivery_schema(many=True)
|
||||
return jsonify(delivery_schema.dump(get_customer_past_delivery))
|
||||
|
||||
|
||||
@delivery.route("/past2/<int:customer_id>", methods=["GET"])
|
||||
def get_customer_past_delivery2(customer_id):
|
||||
|
||||
@@ -104,6 +108,7 @@ def update_a_delivery_payment(delivery_id, type_of_payment):
|
||||
return jsonify({"ok": True}), 200
|
||||
|
||||
|
||||
|
||||
@delivery.route("/all/<int:page>", methods=["GET"])
|
||||
def get_deliveries_not_delivered_all(page):
|
||||
"""
|
||||
@@ -130,6 +135,7 @@ def get_deliveries_not_delivered_all(page):
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/customer/<int:customer_id>/<int:page>", methods=["GET"])
|
||||
def get_deliveries_from_customer(customer_id, page):
|
||||
"""
|
||||
@@ -153,6 +159,8 @@ def get_deliveries_from_customer(customer_id, page):
|
||||
customer_schema = Delivery_Delivery_schema(many=True)
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/all/order/<int:page>", methods=["GET"])
|
||||
def get_deliveries_not_delivered(page):
|
||||
|
||||
@@ -176,6 +184,8 @@ def get_deliveries_not_delivered(page):
|
||||
customer_schema = Delivery_Delivery_schema(many=True)
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/waiting/<int:page>", methods=["GET"])
|
||||
def get_deliveries_waiting(page):
|
||||
"""
|
||||
@@ -198,6 +208,8 @@ def get_deliveries_waiting(page):
|
||||
customer_schema = Delivery_Delivery_schema(many=True)
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/delivered/<int:page>", methods=["GET"])
|
||||
def get_deliveries_delivered(page):
|
||||
"""
|
||||
@@ -220,6 +232,8 @@ def get_deliveries_delivered(page):
|
||||
customer_schema = Delivery_Delivery_schema(many=True)
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/outfordelivery/<int:page>", methods=["GET"])
|
||||
def get_deliveries_outfordelivery(page):
|
||||
"""
|
||||
@@ -269,6 +283,7 @@ def get_deliveries_tommorrow(page):
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/finalized/<int:page>", methods=["GET"])
|
||||
def get_deliveries_finalized(page):
|
||||
"""
|
||||
@@ -316,6 +331,7 @@ def get_deliveries_cancelled(page):
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/partialdelivery/<int:page>", methods=["GET"])
|
||||
def get_deliveries_partial(page):
|
||||
"""
|
||||
@@ -338,6 +354,8 @@ def get_deliveries_partial(page):
|
||||
customer_schema = Delivery_Delivery_schema(many=True)
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/issue/<int:page>", methods=["GET"])
|
||||
def get_deliveries_issue(page):
|
||||
"""
|
||||
@@ -361,6 +379,7 @@ def get_deliveries_issue(page):
|
||||
return jsonify(customer_schema.dump(deliveries))
|
||||
|
||||
|
||||
|
||||
@delivery.route("/time/today", methods=["GET"])
|
||||
def get_deliveries_today():
|
||||
"""
|
||||
@@ -404,13 +423,38 @@ def edit_a_delivery(delivery_id):
|
||||
customer_wants_fill = request.json["customer_asked_for_fill"]
|
||||
card_payment = request.json["credit"]
|
||||
cash_payment = request.json["cash"]
|
||||
delivery_driver_id = request.json["driver_employee_id"]
|
||||
|
||||
|
||||
delivery_driver_id = request.json["driver_employee_id"]
|
||||
|
||||
get_driver = (db.session
|
||||
.query(Employee_Employee)
|
||||
.filter(Employee_Employee.id == delivery_driver_id)
|
||||
.first())
|
||||
|
||||
## promo
|
||||
|
||||
try:
|
||||
if request.json["promo_id"]:
|
||||
promo_id = request.json["promo_id"]
|
||||
else:
|
||||
promo_id = None
|
||||
except:
|
||||
promo_id = None
|
||||
|
||||
if promo_id is not None:
|
||||
get_promo_data = (db.session
|
||||
.query(Promo_Promo)
|
||||
.filter(Promo_Promo.id == promo_id)
|
||||
.first())
|
||||
promo_id_get_delivery =get_promo_data.id,
|
||||
promo_money_discount_get_delivery = get_promo_data.money_off_delivery
|
||||
else:
|
||||
promo_id_get_delivery =None
|
||||
promo_money_discount_get_delivery = None
|
||||
|
||||
|
||||
|
||||
if request.json["credit_card_id"]:
|
||||
card_payment_id = request.json["credit_card_id"]
|
||||
else:
|
||||
@@ -469,7 +513,9 @@ def edit_a_delivery(delivery_id):
|
||||
get_delivery.driver_last_name = get_driver.employee_last_name
|
||||
get_delivery.driver_first_name = get_driver.employee_first_name
|
||||
get_delivery.driver_employee_id = get_driver.id
|
||||
|
||||
get_delivery.promo_id =promo_id_get_delivery
|
||||
get_delivery.promo_money_discount = promo_money_discount_get_delivery
|
||||
|
||||
db.session.add(get_delivery)
|
||||
db.session.commit()
|
||||
|
||||
@@ -515,26 +561,41 @@ def create_a_delivery(user_id):
|
||||
check_payment = request.json["check"]
|
||||
other_payment = request.json["other"]
|
||||
|
||||
## promo
|
||||
try:
|
||||
if request.json["promo_id"]:
|
||||
promo_id = request.json["promo_id"]
|
||||
else:
|
||||
promo_id = None
|
||||
except:
|
||||
promo_id = None
|
||||
if promo_id is not None:
|
||||
get_promo_data = (db.session
|
||||
.query(Promo_Promo)
|
||||
.filter(Promo_Promo.id == promo_id)
|
||||
.first())
|
||||
promo_id_get_delivery =get_promo_data.id,
|
||||
promo_money_discount_get_delivery = get_promo_data.money_off_delivery
|
||||
else:
|
||||
promo_id_get_delivery =None
|
||||
promo_money_discount_get_delivery = None
|
||||
|
||||
|
||||
# 0 = cash only
|
||||
# 1 = credit only
|
||||
# 2 = credit /cash
|
||||
# 3 = check
|
||||
# 4 = other
|
||||
# 5 = unknown
|
||||
if card_payment is True and cash_payment is True:
|
||||
delivery_payment_method = 2
|
||||
elif cash_payment is True:
|
||||
delivery_payment_method = 0
|
||||
elif card_payment is True:
|
||||
delivery_payment_method = 1
|
||||
|
||||
elif check_payment is True:
|
||||
delivery_payment_method = 3
|
||||
elif other_payment is True:
|
||||
delivery_payment_method = 4
|
||||
else:
|
||||
delivery_payment_method = 4
|
||||
|
||||
if cash_payment is True:
|
||||
delivery_payment_method = 1
|
||||
if card_payment is True:
|
||||
delivery_payment_method = 2
|
||||
if check_payment is True:
|
||||
delivery_payment_method = 3
|
||||
if other_payment is True:
|
||||
delivery_payment_method = 4
|
||||
|
||||
|
||||
get_driver = (db.session
|
||||
@@ -648,6 +709,10 @@ def create_a_delivery(user_id):
|
||||
driver_last_name=driver_l_name,
|
||||
driver_first_name=driver_f_name,
|
||||
driver_employee_id=driver_emp_id,
|
||||
|
||||
promo_id =promo_id_get_delivery,
|
||||
promo_money_discount = promo_money_discount_get_delivery
|
||||
|
||||
)
|
||||
|
||||
db.session.add(new_delivery)
|
||||
@@ -811,7 +876,16 @@ def calculate_total(delivery_id):
|
||||
.query(Delivery_Delivery)
|
||||
.filter(Delivery_Delivery.id == delivery_id)
|
||||
.first())
|
||||
|
||||
if get_delivery.promo_id:
|
||||
get_promo_data = (db.session
|
||||
.query(Promo_Promo)
|
||||
.filter(Promo_Promo.id == get_delivery.promo_id)
|
||||
.first())
|
||||
discount = (get_delivery.total_price * get_promo_data.money_off_delivery)
|
||||
total_amount_after_discount = (get_delivery.total_price - discount)
|
||||
else:
|
||||
discount = 0
|
||||
total_amount_after_discount = 0
|
||||
get_price_query = (db.session
|
||||
.query(Pricing_Oil_Oil)
|
||||
.order_by(Pricing_Oil_Oil.date.desc())
|
||||
@@ -840,4 +914,6 @@ def calculate_total(delivery_id):
|
||||
'pricesameday': pricesameday,
|
||||
'priceemergency': priceemergency,
|
||||
'total_amount':total,
|
||||
'discount': discount,
|
||||
'total_amount_after_discount':total_amount_after_discount,
|
||||
}), 200
|
||||
Reference in New Issue
Block a user