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):
model_type = RadioField(
'What do you want to clear today',
choices=[
('user', 'Users'),
('service', 'Services'),
('template', 'Templates')
],
validators=[DataRequired()]
)

View File

@@ -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',