예제 #1
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)
예제 #2
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 = global_settings.get('conditions')
            default_register_email = global_settings.get('register_email')
            default_success_email = global_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
예제 #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(
         'event_settings_edit.html', event, event=event, form=form)
예제 #4
0
 def _process(self):
     event = self._conf
     enabled = request.form['enabled'] == '1'
     if enabled and not get_payment_plugins():
         flash(_('There are no payment methods available. Please contact your Indico administrator.'), 'error')
         return redirect(url_for('.event_settings', event))
     if event_settings.get(event, 'enabled', None) is None:
         copy_settings = {'currency', 'conditions', 'register_email', 'success_email'}
         data = {k: v for k, v in settings.get_all().iteritems() if k in copy_settings}
         event_settings.set_multi(event, data)
     event_settings.set(event, 'enabled', enabled)
     return redirect(url_for('.event_settings', event))
예제 #5
0
 def _process(self):
     event = self._conf
     enabled = request.form['enabled'] == '1'
     if enabled and not get_payment_plugins():
         flash(
             _('There are no payment methods available. Please contact your Indico administrator.'
               ), 'error')
         return redirect(url_for('.event_settings', event))
     if event_settings.get(event, 'enabled', None) is None:
         copy_settings = {
             'currency', 'conditions', 'register_email', 'success_email'
         }
         data = {
             k: v
             for k, v in settings.get_all().iteritems()
             if k in copy_settings
         }
         event_settings.set_multi(event, data)
     event_settings.set(event, 'enabled', enabled)
     return redirect(url_for('.event_settings', event))
예제 #6
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 = global_settings.get('conditions')
            default_register_email = global_settings.get('register_email')
            default_success_email = global_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