+ class="btn btn-default btn-sm pull-right {% if not provider.preview_allowed %}disabled{% endif %}"
+ target="_blank">
{% trans "Preview" %}
{{ provider.verbose_name }}
diff --git a/src/pretix/control/views/event.py b/src/pretix/control/views/event.py
index f64492be6f..8d2e15015d 100644
--- a/src/pretix/control/views/event.py
+++ b/src/pretix/control/views/event.py
@@ -489,6 +489,13 @@ class TicketSettings(EventPermissionRequiredMixin, FormView):
)
provider.settings_content = provider.settings_content_render(self.request)
provider.form.prepare_fields()
+
+ provider.preview_allowed = True
+ for k, v in provider.settings_form_fields.items():
+ if v.required and not self.request.event.settings.get('ticketoutput_%s_%s' % (provider.identifier, k)):
+ provider.preview_allowed = False
+ break
+
providers.append(provider)
return providers