Only allow payment provider preview if required fields are set

This commit is contained in:
Raphael Michel
2016-12-14 13:10:54 +01:00
parent 47814900dc
commit 7f21c171fd
2 changed files with 9 additions and 1 deletions

View File

@@ -13,7 +13,8 @@
<div class="panel panel-default ticketoutput-panel">
<div class="panel-heading">
<a href="{% url "control:event.settings.tickets.preview" event=request.event.slug organizer=request.organizer.slug output=provider.identifier %}"
class="btn btn-default btn-sm pull-right" target="_blank">
class="btn btn-default btn-sm pull-right {% if not provider.preview_allowed %}disabled{% endif %}"
target="_blank">
{% trans "Preview" %}
</a>
<h3 class="panel-title">{{ provider.verbose_name }}</h3>

View File

@@ -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