summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index d14e9b346..51d3550e9 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -2997,6 +2997,8 @@ class UserProfile(models.Model):
areas = models.ManyToManyField("Area", verbose_name=_(u"Areas"),
blank=True, related_name='profiles')
current = models.BooleanField(_(u"Current profile"), default=False)
+ show_field_number = models.BooleanField(
+ _(u"Show field number"), default=False)
person = models.ForeignKey(
Person, verbose_name=_(u"Person"), related_name='profiles')
@@ -3062,6 +3064,16 @@ class UserProfile(models.Model):
p.save()
+def post_save_userprofile(sender, **kwargs):
+ if not kwargs.get('instance'):
+ return
+ instance = kwargs.get('instance')
+ instance.person.ishtaruser.show_field_number(update=True)
+
+
+post_save.connect(post_save_userprofile, sender=UserProfile)
+
+
class IshtarUser(FullSearch):
TABLE_COLS = ('username', 'person__name', 'person__surname',
'person__email', 'person__person_types_list',
@@ -3123,6 +3135,16 @@ class IshtarUser(FullSearch):
def __unicode__(self):
return unicode(self.person)
+ def show_field_number(self, update=False):
+ cache_key, value = get_cache(self.__class__, ['show_field_number'])
+ if not update and value is not None:
+ return value
+ value = False
+ if self.current_profile:
+ value = self.current_profile.show_field_number
+ cache.set(cache_key, value, settings.CACHE_TIMEOUT)
+ return value
+
@property
def current_profile_name(self):
q = UserProfile.objects.filter(current=True, person__ishtaruser=self)