diff options
Diffstat (limited to 'ishtar_common/forms_common.py')
| -rw-r--r-- | ishtar_common/forms_common.py | 10 | 
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") | 
