Files
2024-08-25 22:57:32 +05:30

65 lines
1.8 KiB
Python

from django import forms
from accounts.models import IAmPrincipalType
from manage_subscriptions.models import (
PrincipalSubscription,
Subscription,
)
class SubscriptionForm(forms.ModelForm):
class Meta:
model = Subscription
fields = [
"title",
"short_description",
"long_description",
"interval",
"interval_count",
"high_amount",
"amount",
"principal_types",
"referral_percentage",
"active",
"is_free",
]
def __init__(self, *args, **kwargs):
super(SubscriptionForm, self).__init__(*args, **kwargs)
event_user = IAmPrincipalType.objects.get(name="event_user")
event_manager = IAmPrincipalType.objects.get(name="event_manager")
self.fields["principal_types"].queryset = IAmPrincipalType.objects.filter(
id__in=[event_user.id, event_manager.id]
)
class SubscriptionUpdateForm(forms.ModelForm):
class Meta:
model = Subscription
fields = [
"title",
"short_description",
"long_description",
"referral_percentage",
"active",
"is_free",
]
class PrincipalSubscriptionForm(forms.ModelForm):
class Meta:
model = PrincipalSubscription
fields = [
"subscription",
"principal",
"status",
"start_date",
"end_date",
"grace_period_end_date",
"comments",
"coupon_code"
] # Includes all fields from the model
widgets = {
"start_date": forms.DateInput(attrs={"type": "date"}),
"end_date": forms.DateInput(attrs={"type": "date"}),
"grace_period_end_date": forms.DateInput(attrs={"type": "date"}),
}