from django import forms from apps.operations.models import Webhook class WebhookForm(forms.ModelForm): events = forms.MultipleChoiceField( choices=[ ("*", "All Events"), ("user.created", "User Created"), ("user.deleted", "User Deleted"), ("org.updated", "Organization Updated"), # Add more events as needed ], widget=forms.CheckboxSelectMultiple ) class Meta: model = Webhook fields = ["url", "secret", "events", "enabled"] widgets = { "url": forms.URLInput(attrs={"class": "form-input block w-full sm:text-sm sm:leading-5"}), "secret": forms.TextInput(attrs={"class": "form-input block w-full sm:text-sm sm:leading-5"}), } def clean_events(self): events = self.cleaned_data.get("events") if not events: raise forms.ValidationError("At least one event must be selected.") return events