def _process(self): defaults = FormDefaults(self.plugin.get_vc_room_attach_form_defaults(self.event_new)) form = self.plugin.vc_room_attach_form( prefix="vc-", obj=defaults, event=self.event_new, service=self.plugin.service_name ) if form.validate_on_submit(): vc_room = form.data["room"] if not self.plugin.can_manage_vc_rooms(session.user, self.event_new): flash( _("You are not allowed to attach {plugin_name} rooms to this event.").format( plugin_name=self.plugin.friendly_name ), "error", ) elif not self.plugin.can_manage_vc_room(session.user, vc_room): flash(_("You are not authorized to attach the room '{room.name}'".format(room=vc_room)), "error") else: event_vc_room = process_vc_room_association(self.plugin, self.event_new, vc_room, form) if event_vc_room: flash(_("The room has been attached to the event."), "success") db.session.add(event_vc_room) return redirect_or_jsonify(url_for(".manage_vc_rooms", self.event_new), flash=False) return WPVCManageEvent.render_template( "attach_room.html", self._conf, event=self.event_new, form=form, skip_fields=form.conditional_fields | {"room"}, plugin=self.plugin, )
def _process(self): quiet = request.form.get('quiet') == '1' force = request.form.get('force') == '1' persistent = request.form.get('persistent') == '1' and api_settings.get('allow_persistent') old_key = self.user.api_key if old_key: if not force: raise BadRequest('There is already an API key for this user') if old_key.is_blocked and not session.user.is_admin: raise Forbidden old_key.is_active = False db.session.flush() key = APIKey(user=self.user) db.session.add(key) if persistent: key.is_persistent_allowed = persistent elif old_key: key.is_persistent_allowed = old_key.is_persistent_allowed if not quiet: if old_key: flash(_('Your API key has been successfully replaced.'), 'success') if old_key.use_count: flash(_('Please update any applications which use old key.'), 'warning') else: flash(_('Your API key has been successfully created.'), 'success') db.session.flush() return redirect_or_jsonify(url_for('api.user_profile'), flash=not quiet, is_persistent_allowed=key.is_persistent_allowed)
def _process(self): quiet = request.form.get('quiet') == '1' force = request.form.get('force') == '1' persistent = request.form.get( 'persistent') == '1' and api_settings.get('allow_persistent') old_key = self.user.api_key if old_key: if not force: raise BadRequest('There is already an API key for this user') if old_key.is_blocked and not session.user.is_admin: raise Forbidden old_key.is_active = False db.session.flush() key = APIKey(user=self.user) db.session.add(key) if persistent: key.is_persistent_allowed = persistent elif old_key: key.is_persistent_allowed = old_key.is_persistent_allowed if not quiet: if old_key: flash(_('Your API key has been successfully replaced.'), 'success') if old_key.use_count: flash( _('Please update any applications which use old key.'), 'warning') else: flash(_('Your API key has been successfully created.'), 'success') db.session.flush() return redirect_or_jsonify( url_for('api.user_profile'), flash=not quiet, is_persistent_allowed=key.is_persistent_allowed)
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)
def _process(self): quiet = request.form.get('quiet') == '1' key = self.user.api_key key.is_persistent_allowed = api_settings.get('allow_persistent') and request.form['enabled'] == '1' if not quiet: if key.is_persistent_allowed: flash(_('You can now use persistent signatures.'), 'success') else: flash(_('Persistent signatures have been disabled for your API key.'), 'success') return redirect_or_jsonify(url_for('api.user_profile'), flash=not quiet, enabled=key.is_persistent_allowed)
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) if can_modify and form.validate_on_submit(): self.plugin.event_settings.set_multi(event, form.data) flash(_('Settings for {} saved').format(self.plugin.title), 'success') 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} invalid_regforms = self.plugin.get_invalid_regforms(event) return WPPaymentEventManagement.render_template('event_plugin_edit.html', event, event=event, form=form, plugin=self.plugin, can_modify=can_modify, widget_attrs=widget_attrs, invalid_regforms=invalid_regforms)
def _process(self): plugin = self.plugin form = None with plugin.plugin_context(): if plugin.settings_form: defaults = FormDefaults(**plugin.settings.get_all()) form = plugin.settings_form(obj=defaults) if form.validate_on_submit(): plugin.settings.set_multi(form.data) flash(_('Settings saved ({0})').format(plugin.title), 'success') return redirect_or_jsonify(request.url) return WPPlugins.render_template('details.html', plugin=plugin, form=form, back_url=url_for(self.back_button_endpoint))
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)
def _process(self): defaults = FormDefaults(self.plugin.get_vc_room_attach_form_defaults(self.event)) form = self.plugin.vc_room_attach_form(prefix='vc-', obj=defaults, event=self.event, service=self.plugin.service_name) if form.validate_on_submit(): vc_room = form.data['room'] if not self.plugin.can_manage_vc_rooms(session.avatar, self.event): flash(_("You are not allowed to attach {plugin_name} rooms to this event.").format( plugin_name=self.plugin.friendly_name), 'error') elif not self.plugin.can_manage_vc_room(session.avatar, vc_room): flash(_("You are not authorized to attach the room '{room.name}'".format(room=vc_room)), 'error') else: event_vc_room = process_vc_room_association(self.plugin, self.event, vc_room, form) if event_vc_room: flash(_("The room has been attached to the event."), 'success') db.session.add(event_vc_room) return redirect_or_jsonify(url_for('.manage_vc_rooms', self.event), flash=False) return WPVCManageEvent.render_template('attach_room.html', self._conf, event=self._conf, form=form, skip_fields=form.conditional_fields | {'room'}, plugin=self.plugin)