diff --git a/src/pretix/api/migrations/0010_webhook_comment.py b/src/pretix/api/migrations/0010_webhook_comment.py new file mode 100644 index 000000000..d20267353 --- /dev/null +++ b/src/pretix/api/migrations/0010_webhook_comment.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.17 on 2023-02-07 12:18 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('pretixapi', '0009_auto_20221217_1847'), + ] + + operations = [ + migrations.AddField( + model_name='webhook', + name='comment', + field=models.CharField(max_length=255, null=True), + ), + ] diff --git a/src/pretix/api/models.py b/src/pretix/api/models.py index 5717cf63f..845c92618 100644 --- a/src/pretix/api/models.py +++ b/src/pretix/api/models.py @@ -112,6 +112,7 @@ class WebHook(models.Model): target_url = models.URLField(verbose_name=_("Target URL"), max_length=255) all_events = models.BooleanField(default=True, verbose_name=_("All events (including newly created ones)")) limit_events = models.ManyToManyField('pretixbase.Event', verbose_name=_("Limit to events"), blank=True) + comment = models.CharField(verbose_name=_("Comment"), max_length=255, null=True, blank=True) class Meta: ordering = ('id',) diff --git a/src/pretix/api/serializers/webhooks.py b/src/pretix/api/serializers/webhooks.py index 334b7e529..756f15611 100644 --- a/src/pretix/api/serializers/webhooks.py +++ b/src/pretix/api/serializers/webhooks.py @@ -55,7 +55,7 @@ class WebHookSerializer(I18nAwareModelSerializer): class Meta: model = WebHook - fields = ('id', 'enabled', 'target_url', 'all_events', 'limit_events', 'action_types') + fields = ('id', 'enabled', 'target_url', 'all_events', 'limit_events', 'action_types', 'comment') def validate(self, data): data = super().validate(data) diff --git a/src/pretix/control/forms/organizer.py b/src/pretix/control/forms/organizer.py index fd0a2befe..ae09fa59a 100644 --- a/src/pretix/control/forms/organizer.py +++ b/src/pretix/control/forms/organizer.py @@ -564,7 +564,7 @@ class WebHookForm(forms.ModelForm): class Meta: model = WebHook - fields = ['target_url', 'enabled', 'all_events', 'limit_events'] + fields = ['target_url', 'enabled', 'all_events', 'limit_events', 'comment'] widgets = { 'limit_events': forms.CheckboxSelectMultiple(attrs={ 'data-inverse-dependency': '#id_all_events' diff --git a/src/pretix/control/templates/pretixcontrol/organizers/webhook_edit.html b/src/pretix/control/templates/pretixcontrol/organizers/webhook_edit.html index f52ace837..5fdb35553 100644 --- a/src/pretix/control/templates/pretixcontrol/organizers/webhook_edit.html +++ b/src/pretix/control/templates/pretixcontrol/organizers/webhook_edit.html @@ -11,6 +11,7 @@ {% csrf_token %} {% bootstrap_form_errors form %} {% bootstrap_field form.target_url layout="control" %} + {% bootstrap_field form.comment layout="control" %} {% bootstrap_field form.enabled layout="control" %} {% bootstrap_field form.events layout="control" %} {% bootstrap_field form.all_events layout="control" %} diff --git a/src/pretix/control/templates/pretixcontrol/organizers/webhooks.html b/src/pretix/control/templates/pretixcontrol/organizers/webhooks.html index a78dd760e..a5504706a 100644 --- a/src/pretix/control/templates/pretixcontrol/organizers/webhooks.html +++ b/src/pretix/control/templates/pretixcontrol/organizers/webhooks.html @@ -35,6 +35,7 @@ {% trans "Target URL" %} {% trans "Events" %} + {% trans "Comment" %} @@ -61,6 +62,11 @@ {% endif %} + + {% if w.comment %} + {{ w.comment }} + {% endif %} + diff --git a/src/tests/api/test_webhooks.py b/src/tests/api/test_webhooks.py index eea594922..01a0a087c 100644 --- a/src/tests/api/test_webhooks.py +++ b/src/tests/api/test_webhooks.py @@ -47,6 +47,7 @@ TEST_WEBHOOK_RES = { "all_events": False, "limit_events": ['dummy'], "action_types": ['pretix.event.order.paid', 'pretix.event.order.placed'], + "comment": None, }