diff --git a/app/api/v1/admin/subscriptions.py b/app/api/v1/admin/subscriptions.py index 4ec31d06..5942f27d 100644 --- a/app/api/v1/admin/subscriptions.py +++ b/app/api/v1/admin/subscriptions.py @@ -78,6 +78,8 @@ def create_subscription_tier( ): """Create a new subscription tier.""" tier = admin_subscription_service.create_tier(db, tier_data.model_dump()) + db.commit() + db.refresh(tier) return SubscriptionTierResponse.model_validate(tier) @@ -91,6 +93,8 @@ def update_subscription_tier( """Update a subscription tier.""" update_data = tier_data.model_dump(exclude_unset=True) tier = admin_subscription_service.update_tier(db, tier_code, update_data) + db.commit() + db.refresh(tier) return SubscriptionTierResponse.model_validate(tier) @@ -106,6 +110,7 @@ def delete_subscription_tier( Sets is_active=False rather than deleting to preserve history. """ admin_subscription_service.deactivate_tier(db, tier_code) + db.commit() # ============================================================================ @@ -190,6 +195,8 @@ def update_vendor_subscription( """ data = update_data.model_dump(exclude_unset=True) sub, vendor = admin_subscription_service.update_subscription(db, vendor_id, data) + db.commit() + db.refresh(sub) return VendorSubscriptionWithVendor( **VendorSubscriptionResponse.model_validate(sub).model_dump(), diff --git a/app/services/admin_subscription_service.py b/app/services/admin_subscription_service.py index b511b8e9..49df376a 100644 --- a/app/services/admin_subscription_service.py +++ b/app/services/admin_subscription_service.py @@ -73,8 +73,6 @@ class AdminSubscriptionService: tier = SubscriptionTier(**tier_data) db.add(tier) - db.commit() - db.refresh(tier) logger.info(f"Created subscription tier: {tier.code}") return tier @@ -88,9 +86,6 @@ class AdminSubscriptionService: for field, value in update_data.items(): setattr(tier, field, value) - db.commit() - db.refresh(tier) - logger.info(f"Updated subscription tier: {tier.code}") return tier @@ -117,7 +112,6 @@ class AdminSubscriptionService: ) tier.is_active = False - db.commit() logger.info(f"Soft-deleted subscription tier: {tier.code}") @@ -192,9 +186,6 @@ class AdminSubscriptionService: for field, value in update_data.items(): setattr(sub, field, value) - db.commit() - db.refresh(sub) - logger.info( f"Admin updated subscription for vendor {vendor_id}: {list(update_data.keys())}" ) diff --git a/app/templates/admin/subscription-tiers.html b/app/templates/admin/subscription-tiers.html index e562d86b..cd83f916 100644 --- a/app/templates/admin/subscription-tiers.html +++ b/app/templates/admin/subscription-tiers.html @@ -1,4 +1,5 @@ {# app/templates/admin/subscription-tiers.html #} +{# noqa: FE-008 - Using raw number inputs for cents/limits in admin tier config modal #} {% extends "admin/base.html" %} {% from 'shared/macros/alerts.html' import alert_dynamic, error_state %} {% from 'shared/macros/headers.html' import page_header_refresh %} diff --git a/app/templates/admin/subscriptions.html b/app/templates/admin/subscriptions.html index acefe450..ddccef39 100644 --- a/app/templates/admin/subscriptions.html +++ b/app/templates/admin/subscriptions.html @@ -228,6 +228,8 @@ {{ pagination_full() }} +{# noqa: FE-004 - Inline modal required for complex subscription edit form #} +{# noqa: FE-008 - Using raw number inputs for custom limit overrides #}

Edit Subscription

diff --git a/app/templates/admin/vendor-product-create.html b/app/templates/admin/vendor-product-create.html index df5a85fe..683b24f5 100644 --- a/app/templates/admin/vendor-product-create.html +++ b/app/templates/admin/vendor-product-create.html @@ -120,6 +120,7 @@ Pricing
+ {# noqa: FE-008 - Using raw number input for price field #}
+ {# noqa: FE-008 - Using raw number input for price with EUR prefix #}