working auto
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user