move choices from form to view

so that when updating, you don't have to update two separate places
This commit is contained in:
Leo Hemsted
2019-02-19 11:35:34 +00:00
parent b062a5a13f
commit bfefb115ed
2 changed files with 19 additions and 17 deletions

View File

@@ -1286,10 +1286,5 @@ class TemplateAndFoldersSelectionForm(Form):
class ClearCacheForm(StripWhitespaceForm): class ClearCacheForm(StripWhitespaceForm):
model_type = RadioField( model_type = RadioField(
'What do you want to clear today', 'What do you want to clear today',
choices=[
('user', 'Users'),
('service', 'Services'),
('template', 'Templates')
],
validators=[DataRequired()] validators=[DataRequired()]
) )

View File

@@ -1,5 +1,6 @@
import itertools import itertools
import re import re
from collections import OrderedDict
from datetime import datetime from datetime import datetime
from flask import abort, flash, redirect, render_template, request, url_for 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 @user_is_platform_admin
def clear_cache(): def clear_cache():
# note: `service-{uuid}-templates` cache is cleared for both services and templates. # note: `service-{uuid}-templates` cache is cleared for both services and templates.
CACHE_KEYS = { CACHE_KEYS = OrderedDict([
'user': [ ('user', [
'user-????????-????-????-????-????????????', 'user-????????-????-????-????-????????????',
], ]),
'service': [ ('service', [
'has_jobs-????????-????-????-????-????????????', 'has_jobs-????????-????-????-????-????????????',
'service-????????-????-????-????-????????????', 'service-????????-????-????-????-????????????',
'service-????????-????-????-????-????????????-templates', 'service-????????-????-????-????-????????????-templates',
'service-????????-????-????-????-????????????-data-retention', 'service-????????-????-????-????-????????????-data-retention',
'service-????????-????-????-????-????????????-template-folders', 'service-????????-????-????-????-????????????-template-folders',
], ]),
'template': [ ('template', [
'service-????????-????-????-????-????????????-templates', 'service-????????-????-????-????-????????????-templates',
'template-????????-????-????-????-????????????-version-*', 'template-????????-????-????-????-????????????-version-*',
'template-????????-????-????-????-????????????-versions', 'template-????????-????-????-????-????????????-versions',
], ]),
'email_branding': [ ('email_branding', [
'email_branding', 'email_branding',
'email_branding-????????-????-????-????-????????????', 'email_branding-????????-????-????-????-????????????',
] ]),
} ('letter_branding', [
'letter_branding',
'letter_branding-????????-????-????-????-????????????',
])
])
form = ClearCacheForm() form = ClearCacheForm()
form.model_type.choices = [(key, key.replace('_', ' ').title()) for key in CACHE_KEYS]
if form.validate_on_submit(): if form.validate_on_submit():
to_delete = form.model_type.data to_delete = form.model_type.data
@@ -321,8 +328,8 @@ def clear_cache():
redis_client.delete_cache_keys_by_pattern(pattern) redis_client.delete_cache_keys_by_pattern(pattern)
for pattern in CACHE_KEYS[to_delete] for pattern in CACHE_KEYS[to_delete]
) )
msg = 'Removed {} {} object{} from redis'
flash('Removed {} {} objects from redis'.format(num_deleted, to_delete), category='default') flash(msg.format(num_deleted, to_delete, 's' if num_deleted != 1 else ''), category='default')
return render_template( return render_template(
'views/platform-admin/clear-cache.html', 'views/platform-admin/clear-cache.html',