From bfefb115ed33f21cefdbb81b5a86b3fada33fff0 Mon Sep 17 00:00:00 2001 From: Leo Hemsted Date: Tue, 19 Feb 2019 11:35:34 +0000 Subject: [PATCH] move choices from form to view so that when updating, you don't have to update two separate places --- app/main/forms.py | 5 ----- app/main/views/platform_admin.py | 31 +++++++++++++++++++------------ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/app/main/forms.py b/app/main/forms.py index 6f6ad8447..525e20737 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -1286,10 +1286,5 @@ class TemplateAndFoldersSelectionForm(Form): class ClearCacheForm(StripWhitespaceForm): model_type = RadioField( 'What do you want to clear today', - choices=[ - ('user', 'Users'), - ('service', 'Services'), - ('template', 'Templates') - ], validators=[DataRequired()] ) diff --git a/app/main/views/platform_admin.py b/app/main/views/platform_admin.py index c14c78117..1029bba3c 100644 --- a/app/main/views/platform_admin.py +++ b/app/main/views/platform_admin.py @@ -1,5 +1,6 @@ import itertools import re +from collections import OrderedDict from datetime import datetime from flask import abort, flash, redirect, render_template, request, url_for @@ -291,28 +292,34 @@ def platform_admin_letter_validation_preview(): @user_is_platform_admin def clear_cache(): # note: `service-{uuid}-templates` cache is cleared for both services and templates. - CACHE_KEYS = { - 'user': [ + CACHE_KEYS = OrderedDict([ + ('user', [ 'user-????????-????-????-????-????????????', - ], - 'service': [ + ]), + ('service', [ 'has_jobs-????????-????-????-????-????????????', 'service-????????-????-????-????-????????????', 'service-????????-????-????-????-????????????-templates', 'service-????????-????-????-????-????????????-data-retention', 'service-????????-????-????-????-????????????-template-folders', - ], - 'template': [ + ]), + ('template', [ 'service-????????-????-????-????-????????????-templates', 'template-????????-????-????-????-????????????-version-*', 'template-????????-????-????-????-????????????-versions', - ], - 'email_branding': [ + ]), + ('email_branding', [ 'email_branding', 'email_branding-????????-????-????-????-????????????', - ] - } + ]), + ('letter_branding', [ + 'letter_branding', + 'letter_branding-????????-????-????-????-????????????', + ]) + ]) + form = ClearCacheForm() + form.model_type.choices = [(key, key.replace('_', ' ').title()) for key in CACHE_KEYS] if form.validate_on_submit(): to_delete = form.model_type.data @@ -321,8 +328,8 @@ def clear_cache(): redis_client.delete_cache_keys_by_pattern(pattern) for pattern in CACHE_KEYS[to_delete] ) - - flash('Removed {} {} objects from redis'.format(num_deleted, to_delete), category='default') + msg = 'Removed {} {} object{} from redis' + flash(msg.format(num_deleted, to_delete, 's' if num_deleted != 1 else ''), category='default') return render_template( 'views/platform-admin/clear-cache.html',