Example #1
0
 def _process(self):
     current_event_settings = payment_event_settings.get_all(self.event)
     defaults = FormDefaults(current_event_settings, **payment_settings.get_all())
     form = EventSettingsForm(prefix='payment-', obj=defaults)
     if form.validate_on_submit():
         payment_event_settings.set_multi(self.event, form.data)
         flash(_('Settings saved'), 'success')
         return jsonify_data()
     return jsonify_form(form)
Example #2
0
 def _process(self):
     current_event_settings = payment_event_settings.get_all(self.event)
     defaults = FormDefaults(current_event_settings, **payment_settings.get_all())
     form = EventSettingsForm(prefix='payment-', obj=defaults)
     if form.validate_on_submit():
         payment_event_settings.set_multi(self.event, form.data)
         flash(_('Settings saved'), 'success')
         return jsonify_data()
     return jsonify_form(form)
Example #3
0
    def migrate_event_settings(self):
        self.messages.append(cformat("%{magenta!} - Event Payment Settings:"))
        print cformat("%{white!}migrating event settings")

        count = 0

        EventSetting.delete_all(payment_event_settings.module)
        for event in committing_iterator(self._iter_events()):
            old_payment = event._modPay
            default_conditions = payment_settings.get('conditions')
            default_register_email = payment_settings.get('register_email')
            default_success_email = payment_settings.get('success_email')
            register_email = getattr(old_payment, 'receiptMsg', default_register_email)
            success_email = getattr(old_payment, 'successMsg', default_success_email)
            conditions = (getattr(old_payment, 'paymentConditions', default_conditions)
                          if (getattr(old_payment, 'paymentConditionsEnabled', False) and
                              convert_to_unicode(getattr(old_payment, 'specificPaymentConditions', '')).strip() == '')
                          else getattr(old_payment, 'specificPaymentConditions', ''))
            # The new messages are shown in an "additional info" section, so the old defaults can always go away
            if convert_to_unicode(register_email) == 'Please, see the summary of your order:':
                register_email = ''
            if convert_to_unicode(success_email) == 'Congratulations, your payment was successful.':
                success_email = ''
            # Get rid of the most terrible part of the old default conditions
            conditions = convert_to_unicode(conditions).replace('CANCELLATION :', 'CANCELLATION:')
            settings = {
                'enabled': getattr(old_payment, 'activated', False),
                'currency': event._registrationForm._currency,
                'conditions': conditions,
                'register_email': register_email,
                'success_email': success_email,
            }
            payment_event_settings.set_multi(event, settings)

            count += 1
            print cformat("%{cyan}<EventSettings(id={id:>6}, enabled={enabled}, "
                          "currency={currency})>").format(id=event.id, **settings)

        msg = cformat("%{green!}migration of {0} event payment settings successful\n").format(count)
        self.messages.append('    ' + msg)
        print msg