diff options
author | jelle van der Waa <jelle@archlinux.org> | 2019-10-04 12:18:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-04 12:18:42 +0200 |
commit | 767feb127d8ecd635bd13e035617bc38dc2ffa28 (patch) | |
tree | 7200fa3aa5d70153d53a48408408e5f1b67024a9 | |
parent | 184bf5693ffbd8a5cecb3175a16a129b15741568 (diff) | |
parent | 2685a08098a789f2b8c5a560a7ce2ebd228ab980 (diff) | |
download | archweb-767feb127d8ecd635bd13e035617bc38dc2ffa28.tar.gz archweb-767feb127d8ecd635bd13e035617bc38dc2ffa28.zip |
Merge pull request #242 from kyrias/invalidate-profile-update
devel/views: Invalidate template fragment cache on profile update
-rw-r--r-- | devel/views.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/devel/views.py b/devel/views.py index 96bd4a10..96acb720 100644 --- a/devel/views.py +++ b/devel/views.py @@ -9,6 +9,8 @@ from django.contrib.auth.decorators import (login_required, user_passes_test) from django.contrib.auth.models import Group, User from django.contrib.contenttypes.models import ContentType +from django.core.cache import cache +from django.core.cache.utils import make_template_fragment_key from django.db import transaction from django.db.models import Count, Max from django.http import Http404, HttpResponseRedirect @@ -171,6 +173,12 @@ def change_profile(request): with transaction.atomic(): request.user.save() profile_form.save() + + # Invalidate userlist.html template cache fragment. + for group in request.user.groups.all(): + key = make_template_fragment_key('dev-tu-profiles', [group.name]) + cache.delete(key) + return HttpResponseRedirect('/devel/') else: form = ProfileForm(initial={'email': request.user.email}) |