From 7ff243d6dfb85dd7ff8d429d40f90c8f6b9af83e Mon Sep 17 00:00:00 2001 From: Faheedkhan Date: Thu, 3 Jul 2025 20:24:41 +0300 Subject: [PATCH] update --- inventory/utils.py | 30 ++++++++++++++++++++++++++++++ inventory/views.py | 1 + 2 files changed, 31 insertions(+) diff --git a/inventory/utils.py b/inventory/utils.py index 7f9f64e7..6a50c28d 100644 --- a/inventory/utils.py +++ b/inventory/utils.py @@ -29,6 +29,8 @@ from django.contrib.auth.models import User from django_q.tasks import async_task import secrets +import logging +logger=logging.getLogger(__name__) def make_random_password( length=10, allowed_chars="abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789" @@ -60,11 +62,19 @@ def get_jwt_token(): "api_token": settings.CAR_API_TOKEN, "api_secret": settings.CAR_API_SECRET, } + logger.debug(f"Attempting to fetch JWT token from: {url}") try: response = requests.post(url, headers=headers, json=data) response.raise_for_status() + #logging for success + logger.info("Successfully fetched JWT token.") return response.text except requests.exceptions.RequestException as e: + #logging for error + logger.error( + f"HTTP error fetching JWT token from {url}: ", + exc_info=True + ) print(f"Error obtaining JWT token: {e}") return None @@ -218,8 +228,22 @@ def reserve_car(car, request): ) car.status = models.CarStatusChoices.RESERVED car.save() + # --- Logging for Success --- + logger.info( + f"Car {car.id} ('{car.make} {car.model}') reserved successfully " + f"by user {request.user.id} ('{request.user.username}'). " + f"Reserved until: {reserved_until}." + ) + messages.success(request, _("Car reserved successfully.")) except Exception as e: + # --- Logging for Error --- + logger.error( + f"Error reserving car {car.id} ('{car.make} {car.model}') " + f"for user {request.user.id} ('{request.user.username}'). " + f"Error: {e}", + exc_info=True + ) messages.error(request, f"Error reserving car: {e}") return redirect("car_detail", dealer_slug=request.dealer.slug, slug=car.slug) @@ -1264,7 +1288,13 @@ def handle_account_process(invoice, amount, finance_data): ) try: car.item_model.for_inventory = False + logger.debug(f"Set item_model.for_inventory to False for car {car.vin}.") except Exception as e: + logger.error( + f"Error updating item_model.for_inventory for car {car.vin} (Invoice {invoice.invoice_number}): {e}", + exc_info=True + ) + print(e) car.finances.is_sold = True car.finances.save() diff --git a/inventory/views.py b/inventory/views.py index b4c1ff56..44dee31f 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -2860,6 +2860,7 @@ def GroupPermissionView(request, dealer_slug, pk): ("inventory", "notes"), ("inventory", "tasks"), ("inventory", "activity"), + ("django_ledger", "purchaseordermodel"), ("django_ledger", "bankaccountmodel"),