Refactored commerce models to support refunds, invoices, and improved carrier/payment logic. Added new serializers and viewsets for products, categories, images, discount codes, and refunds. Introduced Stripe client integration and removed legacy Stripe admin/model code. Updated Dockerfile for PDF generation dependencies. Removed obsolete migration files and updated configuration app initialization. Added invoice template and tasks for order cleanup.
23 lines
807 B
Python
23 lines
807 B
Python
from django.apps import AppConfig
|
|
from django.db.utils import OperationalError, ProgrammingError
|
|
|
|
class ConfigurationConfig(AppConfig):
|
|
default_auto_field = 'django.db.models.BigAutoField'
|
|
name = 'configuration'
|
|
|
|
def ready(self):
|
|
"""Ensure the ShopConfiguration singleton exists at startup.
|
|
|
|
Wrapped in broad DB error handling so that commands like
|
|
makemigrations/migrate don't fail when the table does not yet exist.
|
|
"""
|
|
try:
|
|
from .models import ShopConfiguration # local import to avoid premature app registry access
|
|
ShopConfiguration.get_solo() # creates if missing
|
|
|
|
except (OperationalError, ProgrammingError):
|
|
# DB not ready (e.g., before initial migrate); ignore silently
|
|
pass
|
|
|
|
|