예제 #1
0
 def _process(self):
     event = self._conf
     methods = get_payment_plugins()
     enabled_methods = [method for method in methods.itervalues() if method.event_settings.get(event, 'enabled')]
     return WPPaymentEventManagement.render_template('management/payments.html', event, event=event,
                                                     settings=event_settings.get_all(event),
                                                     methods=methods.items(), enabled_methods=enabled_methods)
예제 #2
0
 def _process(self):
     event = self._conf
     currencies = {c['code']: c['name'] for c in settings.get('currencies')}
     plugins = get_payment_plugins()
     enabled_plugins = [plugin for plugin in plugins.itervalues() if plugin.event_settings.get(event, 'enabled')]
     return WPPaymentEventManagement.render_template('event_settings.html', event, event=event,
                                                     settings=event_settings.get_all(event),
                                                     currencies=currencies, plugins=plugins.items(),
                                                     enabled_plugins=enabled_plugins)
예제 #3
0
 def _process(self):
     event = self._conf
     current_event_settings = event_settings.get_all(event)
     defaults = FormDefaults(current_event_settings, **settings.get_all())
     form = EventSettingsForm(prefix='payment-', obj=defaults, event=event)
     if form.validate_on_submit():
         event_settings.set_multi(event, form.data)
         flash(_('Settings saved'), 'success')
         return redirect(url_for('.event_settings', event))
     return WPPaymentEventManagement.render_template('management/payments_edit.html', event, event=event, form=form)
예제 #4
0
 def _process(self):
     event = self._conf
     current_event_settings = event_settings.get_all(event)
     defaults = FormDefaults(current_event_settings, **settings.get_all())
     form = EventSettingsForm(prefix='payment-', obj=defaults, event=event)
     if form.validate_on_submit():
         event_settings.set_multi(event, form.data)
         flash(_('Settings saved'), 'success')
         return redirect(url_for('.event_settings', event))
     return WPPaymentEventManagement.render_template(
         'event_settings_edit.html', event, event=event, form=form)
예제 #5
0
 def _process(self):
     event = self._conf
     currencies = {c['code']: c['name'] for c in settings.get('currencies')}
     plugins = get_payment_plugins()
     enabled_plugins = [
         plugin for plugin in plugins.itervalues()
         if plugin.event_settings.get(event, 'enabled')
     ]
     return WPPaymentEventManagement.render_template(
         'event_settings.html',
         event,
         event=event,
         settings=event_settings.get_all(event),
         currencies=currencies,
         plugins=plugins.items(),
         enabled_plugins=enabled_plugins)
예제 #6
0
 def _process(self):
     event = self._conf
     can_modify = session.avatar and self.plugin.can_be_modified(
         session.avatar, event)
     plugin_settings = self.plugin.settings.get_all()
     defaults = FormDefaults(self.plugin.event_settings.get_all(event),
                             **plugin_settings)
     form = self.plugin.event_settings_form(prefix='payment-',
                                            obj=defaults,
                                            plugin_settings=plugin_settings)
     auto_currency, invalid_currency, messages = self._check_currencies(
         form)
     if can_modify and form.validate_on_submit() and not invalid_currency:
         self.plugin.event_settings.set_multi(event, form.data)
         flash(
             _('Settings for {} saved').format(self.plugin.title),
             'success')
         if form.enabled.data and auto_currency is not None:
             event_settings.set(event, 'currency', auto_currency)
             flash(
                 _("The event's currency has been changed to {}.").format(
                     auto_currency), 'warning')
         if self.protection_overridden:
             return redirect_or_jsonify(request.url)
         else:
             return redirect_or_jsonify(url_for('.event_settings', event),
                                        plugin=self.plugin.name,
                                        enabled=form.enabled.data)
     widget_attrs = {}
     if not can_modify:
         widget_attrs = {
             field.short_name: {
                 'disabled': True
             }
             for field in form
         }
     return WPPaymentEventManagement.render_template(
         'event_plugin_edit.html',
         event,
         event=event,
         form=form,
         plugin=self.plugin,
         can_modify=can_modify,
         messages=messages,
         widget_attrs=widget_attrs,
         invalid_currency=invalid_currency)
예제 #7
0
 def _process(self):
     event = self._conf
     can_modify = session.user and self.plugin.can_be_modified(session.user, event)
     plugin_settings = self.plugin.settings.get_all()
     defaults = FormDefaults(self.plugin.event_settings.get_all(event), **plugin_settings)
     form = self.plugin.event_settings_form(prefix='payment-', obj=defaults, plugin_settings=plugin_settings)
     auto_currency, invalid_currency, messages = self._check_currencies(form)
     if can_modify and form.validate_on_submit() and not invalid_currency:
         self.plugin.event_settings.set_multi(event, form.data)
         flash(_('Settings for {} saved').format(self.plugin.title), 'success')
         if form.enabled.data and auto_currency is not None:
             event_settings.set(event, 'currency', auto_currency)
             flash(_("The event's currency has been changed to {}.").format(auto_currency), 'warning')
         if self.protection_overridden:
             return redirect_or_jsonify(request.url)
         else:
             return redirect_or_jsonify(url_for('.event_settings', event), plugin=self.plugin.name,
                                        enabled=form.enabled.data)
     widget_attrs = {}
     if not can_modify:
         widget_attrs = {field.short_name: {'disabled': True} for field in form}
     return WPPaymentEventManagement.render_template('event_plugin_edit.html', event, event=event, form=form,
                                                     plugin=self.plugin, can_modify=can_modify, messages=messages,
                                                     widget_attrs=widget_attrs, invalid_currency=invalid_currency)