forked from CGM_Public/pretix_original
Fix KeyError when accessing settings for disabled payment provider
This commit is contained in:
@@ -255,9 +255,7 @@ class PaymentProviderSettings(EventSettingsViewMixin, EventPermissionRequiredMix
|
|||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def provider(self):
|
def provider(self):
|
||||||
provider = self.request.event.get_payment_providers()[self.kwargs['provider']]
|
provider = self.request.event.get_payment_providers().get(self.kwargs['provider'])
|
||||||
if not provider:
|
|
||||||
raise Http404()
|
|
||||||
return provider
|
return provider
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
@@ -276,6 +274,13 @@ class PaymentProviderSettings(EventSettingsViewMixin, EventPermissionRequiredMix
|
|||||||
form.prepare_fields()
|
form.prepare_fields()
|
||||||
return form
|
return form
|
||||||
|
|
||||||
|
def dispatch(self, request, *args, **kwargs):
|
||||||
|
if not self.provider:
|
||||||
|
messages.error(self.request, _('This payment provider does not exist or the respective plugin is '
|
||||||
|
'disabled.'))
|
||||||
|
return redirect(self.get_success_url())
|
||||||
|
return super().dispatch(request, *args, **kwargs)
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def settings_content(self):
|
def settings_content(self):
|
||||||
return self.provider.settings_content_render(self.request)
|
return self.provider.settings_content_render(self.request)
|
||||||
|
|||||||
Reference in New Issue
Block a user