This commit is contained in:
2024-05-16 14:36:14 -04:00
parent 2a4804ecb2
commit 2433dbb447
11 changed files with 126 additions and 22 deletions

View File

@@ -10,12 +10,10 @@ from flask_login import LoginManager
from sqlalchemy.orm import sessionmaker
from werkzeug.routing import BaseConverter
from flask_mail import Mail
from config import load_config
try:
from local_settings import ApplicationConfig
except Exception as e:
from settings import ApplicationConfig
ApplicationConfig = load_config()
app = Flask(__name__,
static_url_path='',
@@ -27,8 +25,7 @@ app.config.from_object(ApplicationConfig)
session = sessionmaker()
check_enviroment = ApplicationConfig.CURRENT_SETTINGS
print(f"starting server with {check_enviroment} settings")
class RegexConverter(BaseConverter):
@@ -45,7 +42,9 @@ app.jinja_env.autoescape = True
UPLOADED_FILES_DEST_ITEM = ApplicationConfig.UPLOADED_FILES_DEST_ITEM
UPLOADED_FILES_ALLOW = ApplicationConfig.UPLOADED_FILES_ALLOW
CURRENT_SETTINGS = ApplicationConfig.CURRENT_SETTINGS
WHITE = ApplicationConfig.WHITE
app.config['CORS_ORIGIN_WHITELIST'] = ApplicationConfig.CORS_ORIGIN_WHITELIST
app.config['UPLOADED_FILES_DEST_ITEM'] = ApplicationConfig.UPLOADED_FILES_DEST_ITEM
app.config['UPLOADED_FILES_ALLOW'] = ApplicationConfig.UPLOADED_FILES_ALLOW
app.config['MAX_CONTENT_LENGTH'] = ApplicationConfig.MAX_CONTENT_LENGTH

View File

@@ -18,12 +18,14 @@ def create_oil_price():
price_for_customer = request.json["price_for_customer"]
price_for_employee = request.json["price_for_employee"]
price_same_day = request.json["price_same_day"]
price_prime = request.json["price_prime"]
new_admin_oil_price = Pricing_Oil_Oil(
price_from_supplier=price_from_supplier,
price_for_customer=price_for_customer,
price_for_employee=price_for_employee,
price_same_day=price_same_day,
price_prime=price_prime,
date=now,
)

View File

@@ -25,6 +25,7 @@ class Customer_Customer(db.Model):
customer_home_type = db.Column(db.INTEGER)
customer_apt = db.Column(db.VARCHAR(140))
customer_address = db.Column(db.VARCHAR(1000))
company_id = db.Column(db.INTEGER)
class Customer_Customer_schema(ma.SQLAlchemyAutoSchema):

View File

@@ -55,6 +55,7 @@ class Delivery_Delivery(db.Model):
same_day = db.Column(db.INTEGER)
# cash = 0
# credit = 1
# credit/cash = 2
payment_type = db.Column(db.INTEGER)
payment_card_id = db.Column(db.INTEGER)
cash_recieved = db.Column(db.DECIMAL(50, 2))

View File

@@ -82,13 +82,14 @@ def create_customer():
customer_phone_number = request.json["customer_phone_number"]
customer_address = request.json["customer_address"]
customer_apt = request.json["customer_apt"]
if response_customer_automatic is True:
auto_customer = 1
else:
auto_customer = 0
int_customer_home_type = int(response_customer_home_type)
response_customer_zip = int(response_customer_zip)
response_customer_zip = str(response_customer_zip)
response_customer_state = int(response_customer_state)
new_customer = Customer_Customer(
@@ -104,8 +105,8 @@ def create_customer():
customer_home_type=int_customer_home_type,
customer_phone_number=customer_phone_number,
customer_address=customer_address,
customer_apt=customer_apt
customer_apt=customer_apt,
company_id=1,
)
db.session.add(new_customer)

View File

@@ -13,8 +13,6 @@ 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.money import Money_delivery
from app.classes.printing import Printer_jobs
@delivery.route("/<int:delivery_id>", methods=["GET"])
@@ -387,8 +385,7 @@ def edit_a_delivery(delivery_id):
gallons_ordered = request.json["gallons_ordered"]
delivery_status = request.json["delivery_status"]
when_to_deliver = request.json["expected_delivery_date"]
print(when_to_deliver)
print(request.json["expected_delivery_date"])
dispatcher_notes_taken = request.json["dispatcher_notes_taken"]
customer_wants_fill = request.json["customer_asked_for_fill"]
card_payment = request.json["credit"]
@@ -416,8 +413,10 @@ def edit_a_delivery(delivery_id):
else:
card_id_from_customer = None
if cash_payment is True and card_payment is False:
delivery_payment_method = 0
elif card_payment is True and cash_payment is False:
delivery_payment_method = 1
@@ -453,7 +452,6 @@ def edit_a_delivery(delivery_id):
get_delivery.gallons_ordered = gallons_ordered
get_delivery.payment_type = delivery_payment_method
get_delivery.payment_card_id = card_id_from_customer
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
@@ -527,6 +525,11 @@ def create_a_delivery(user_id):
else:
card_id_from_customer = None
# 0 = cash only
# 1 = credit only
# 2 = credit /cash
# 3 unknown
if cash_payment is True and card_payment is False:
delivery_payment_method = 0
elif card_payment is True and cash_payment is False:
@@ -558,14 +561,20 @@ def create_a_delivery(user_id):
now = datetime.utcnow()
# Pricing
if customer_fill_up == 1:
precharge_amount = (250 * get_today_price.price_for_customer)
print(precharge_amount)
else:
precharge_amount = int(gallons_ordered) * get_today_price.price_for_customer
if same_day_asked == 1 and prime_asked == 0:
total_precharge_amount = precharge_amount + get_today_price.price_same_day
print(total_precharge_amount)
print(precharge_amount)
print(get_today_price.price_same_day)
elif prime_asked == 1 and same_day_asked == 0:
total_precharge_amount = precharge_amount + get_today_price.price_prime
@@ -744,7 +753,6 @@ def move_waiting_to_outtodelivery():
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.all())
for f in deliveries:
print(f.id)
f.delivery_status = 2
db.session.add(f)
counter = counter + 1
@@ -769,9 +777,10 @@ def calculate_total(delivery_id):
.query(Delivery_Delivery)
.filter(Delivery_Delivery.id == delivery_id)
.first())
get_price_query = (db.session
.query(Pricing_Oil_Oil)
.order_by(Pricing_Oil_Oil.date.desc())
.order_by(Pricing_Oil_Oil.date.asc())
.first())
@@ -779,15 +788,17 @@ def calculate_total(delivery_id):
priceprime = get_price_query.price_prime
else:
priceprime = 0
if get_delivery.same_day == 1:
pricesameday = get_price_query.price_prime
pricesameday = get_price_query.price_same_day
else:
pricesameday = 0
total = float(get_delivery.total_price) + float(priceprime) + float(pricesameday)
return jsonify({
"ok": True,
'priceprime': priceprime,
'pricesameday': pricesameday,
'total_amount':total
'total_amount':total,
}), 200

View File

@@ -1,5 +1,6 @@
from flask import jsonify, Response
from app import app
from flask import jsonify, Response, request
from app import app, WHITE
@app.route('/robots.txt')
@@ -17,3 +18,15 @@ def static_from_root():
def index():
return jsonify({"success": "Api is online"}), 200
# @app.after_request
# def add_cors_headers(response):
# r = request.referrer[:-1]
# if r in WHITE:
# response.headers.add('Access-Control-Allow-Origin', r)
# response.headers.add('Access-Control-Allow-Credentials', 'true')
# response.headers.add('Access-Control-Allow-Headers', 'Content-Type')
# response.headers.add('Access-Control-Allow-Headers', 'Cache-Control')
# response.headers.add('Access-Control-Allow-Headers', 'X-Requested-With')
# response.headers.add('Access-Control-Allow-Headers', 'Authorization')
# response.headers.add('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE')
# return response