diff --git a/goodtimes/webhook/payment_processing_service.py b/goodtimes/webhook/payment_processing_service.py index 4d2f7b1..5b075fd 100644 --- a/goodtimes/webhook/payment_processing_service.py +++ b/goodtimes/webhook/payment_processing_service.py @@ -105,7 +105,6 @@ class PaymentProcessingService: except Exception as e: logger.error(f"Unexpected error: {str(e)}") - self.handle_failure(txn) raise def handle_success(self, transaction): diff --git a/manage_subscriptions/forms.py b/manage_subscriptions/forms.py index 12294f5..d34f9cf 100644 --- a/manage_subscriptions/forms.py +++ b/manage_subscriptions/forms.py @@ -46,6 +46,19 @@ class SubscriptionForm(forms.ModelForm): id__in=[event_user.id, event_manager.id] ) + def clean(self): + cleaned_data = super().clean() + + stripe_product = cleaned_data.get("stripe_product") + + if not stripe_product: + self.add_error( + "stripe_product", + "Please select a Stripe product to create a subscription.", + ) + + return cleaned_data + class PrincipalSubscriptionForm(forms.ModelForm): class Meta: diff --git a/manage_subscriptions/models.py b/manage_subscriptions/models.py index 0c3ec19..21f3adf 100644 --- a/manage_subscriptions/models.py +++ b/manage_subscriptions/models.py @@ -77,6 +77,12 @@ class Subscription(BaseModel): {"high_amount": "High amount must be greater than amount."} ) + # Ensure stripe_product is compulsory present + # if not self.stripe_product: + # raise ValidationError( + # {"stripe_product": "Please select stripe product to create subscription."} + # ) + def save(self, *args, **kwargs): self.clean() # Call clean before saving to ensure validation super().save(*args, **kwargs)