diff --git a/app/classes/transactions.py b/app/classes/transactions.py index ded508f..15937ea 100644 --- a/app/classes/transactions.py +++ b/app/classes/transactions.py @@ -16,6 +16,7 @@ class Transaction(db.Model): service_id = Column(Integer, nullable=True) # Reference to Service_Service.id delivery_id = Column(Integer, nullable=True) # Reference to Delivery_Delivery.id card_id = Column(Integer, nullable=True) # Reference to credit card used for payment + auto_id = Column(Integer, nullable=True) # Reference to Auto_Delivery or Auto_Ticket.id payment_gateway = Column(Integer, default=1) # 1 = Authorize.Net, 0 = Other rejection_reason = Column(String, nullable=True) # Detailed error message when payment is declined created_at = Column(DateTime, default=datetime.datetime.utcnow) diff --git a/app/delivery_status/views.py b/app/delivery_status/views.py index af651b1..e418705 100755 --- a/app/delivery_status/views.py +++ b/app/delivery_status/views.py @@ -10,6 +10,7 @@ from app.classes.service import Service_Service from app.classes.auto import Auto_Delivery from app.classes.transactions import Transaction from datetime import date, timedelta, datetime +from zoneinfo import ZoneInfo # --- NEW EFFICIENT ENDPOINT --- @@ -20,8 +21,9 @@ def get_sidebar_counts(): This combines logic from all the individual /count/* endpoints. """ try: - now = datetime.now() - today_date = date.today() + eastern = ZoneInfo("America/New_York") + now_local = datetime.now(eastern).replace(tzinfo=None) # naive local time + today_date = datetime.now(eastern).date() # local date # Replicate the logic from each of your /count/* endpoints today_count = db.session.query(Delivery_Delivery).filter(Delivery_Delivery.delivery_status == 2).count() @@ -34,7 +36,7 @@ def get_sidebar_counts(): automatic_count = db.session.query(Auto_Delivery).filter(Auto_Delivery.estimated_gallons_left <= 80).count() - upcoming_service_count = db.session.query(Service_Service).filter(Service_Service.scheduled_date >= now).count() + upcoming_service_count = db.session.query(Service_Service).filter(Service_Service.scheduled_date >= now_local).count() start_of_today = datetime.combine(today_date, datetime.min.time()) start_of_tomorrow = datetime.combine(today_date + timedelta(days=1), datetime.min.time()) diff --git a/app/payment/views.py b/app/payment/views.py index af9d9b8..be59b4f 100755 --- a/app/payment/views.py +++ b/app/payment/views.py @@ -310,6 +310,7 @@ def get_authorize_transactions(page): "rejection_reason": transaction.rejection_reason, "delivery_id": transaction.delivery_id, "service_id": transaction.service_id, + "auto_id": transaction.auto_id, }) return jsonify(transactions_data), 200 @@ -395,6 +396,7 @@ def get_transaction_by_delivery(delivery_id): "customer_id": transaction.customer_id, "service_id": transaction.service_id, "card_id": transaction.card_id, + "auto_id": transaction.auto_id, "created_at": transaction.created_at.isoformat() if transaction.created_at else None } }) @@ -433,6 +435,7 @@ def get_customer_transactions(customer_id, page): "rejection_reason": transaction.rejection_reason, "delivery_id": transaction.delivery_id, "service_id": transaction.service_id, + "auto_id": transaction.auto_id, }) return jsonify(transactions_data), 200