| 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"), |
| |
| ], |
| 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 |
|
|