summaryrefslogtreecommitdiff
path: root/ishtar_common/forms_common.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r--ishtar_common/forms_common.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index 06debe9ce..72b33b4c4 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -25,6 +25,7 @@ from django import forms
from django.conf import settings
from django.contrib.auth.models import User
from django.core import validators
+from django.core.cache import cache
from django.core.exceptions import ObjectDoesNotExist
from django.forms.formsets import formset_factory
from django.forms.models import BaseModelFormSet, BaseFormSet
@@ -746,7 +747,7 @@ class ProfilePersonForm(forms.Form):
super(ProfilePersonForm, self).__init__(*args, **kwargs)
self.fields['current_profile'].choices = choices
- def save(self, *args, **kwargs):
+ def save(self, session):
q = models.UserProfile.objects.filter(
person__ishtaruser=self.user.ishtaruser, current=True)
for profile in q.all():
@@ -763,6 +764,13 @@ class ProfilePersonForm(forms.Form):
profile.current = True
profile.save()
+ # clean session cache
+ cache_key_list = 'sessionlist-{}'.format(session.session_key)
+ key_list = cache.get(cache_key_list, [])
+ for key in key_list:
+ cache.set(key, None, settings.CACHE_TIMEOUT)
+ cache.set(cache_key_list, [], settings.CACHE_TIMEOUT)
+
class TownForm(forms.Form):
form_label = _("Towns")