def _process(self): form = AdminSettingsForm(obj=FormDefaults(**api_settings.get_all())) if form.validate_on_submit(): api_settings.set_multi(form.data) flash(_('Settings saved'), 'success') return redirect(url_for('.admin_settings')) count = APIKey.find(is_active=True).count() return WPAPIAdmin.render_template('admin_settings.html', form=form, count=count)
def _merge_users(target, source, **kwargs): # Get the current active API keys ak_user = target.api_key ak_merged = source.api_key # Move all inactive keys to the new user APIKey.find(user_id=source.id, is_active=False).update({'user_id': target.id}) if ak_merged and not ak_user: ak_merged.user = target elif ak_user and ak_merged: # Both have a key, keep the main one unless it's unused and the merged one isn't. if ak_user.use_count or not ak_merged.use_count: ak_merged.is_active = False ak_merged.user = target else: ak_user.is_active = False db.session.flush() # flush the deactivation so we can reassociate the user ak_merged.user = target
def has_data(self): return bool(APIKey.find().count())