class Avatar(models.Model, AvatarBase): emailuser = LowerCaseCharField(max_length=255) primary = models.BooleanField(default=False) avatar = models.ImageField(max_length=1024, upload_to=avatar_file_path, storage=get_avatar_file_storage(), blank=True) date_uploaded = models.DateTimeField(default=datetime.datetime.now) def __unicode__(self): return _(u'Avatar for %s') % self.emailuser def save(self, *args, **kwargs): avatars = Avatar.objects.filter(emailuser=self.emailuser) if self.pk: avatars = avatars.exclude(pk=self.pk) if AVATAR_MAX_AVATARS_PER_USER > 1: if self.primary: avatars = avatars.filter(primary=True) avatars.update(primary=False) else: avatars.delete() invalidate_cache(self.emailuser) super(Avatar, self).save(*args, **kwargs) def delete(self, *args, **kwargs): invalidate_cache(self.emailuser) super(Avatar, self).delete(*args, **kwargs)
class GroupAvatar(models.Model, AvatarBase): group_id = models.CharField(max_length=255) avatar = models.ImageField(max_length=1024, upload_to=avatar_file_path, storage=get_avatar_file_storage(), blank=True) date_uploaded = models.DateTimeField(default=datetime.datetime.now) def __unicode__(self): return _(u'Avatar for %s') % self.group_id def save(self, *args, **kwargs): super(GroupAvatar, self).save(*args, **kwargs)
username = request.user.username personal_wiki = request.POST.get('personal_wiki', 'off') if personal_wiki == 'on': enable_mod_for_user(username, MOD_PERSONAL_WIKI) messages.success(request, _('Successfully enable "Personal Wiki".')) else: disable_mod_for_user(username, MOD_PERSONAL_WIKI) if referer.find('wiki') > 0: next = settings.SITE_ROOT messages.success(request, _('Successfully disable "Personal Wiki".')) return HttpResponseRedirect(next) storage = get_avatar_file_storage() def latest_entry(request, filename): try: return storage.modified_time(filename) except Exception as e: logger.error(e) return None @condition(last_modified_func=latest_entry) def image_view(request, filename): if AVATAR_FILE_STORAGE is None: raise Http404
next = settings.SITE_ROOT if referer is None else referer username = request.user.username personal_wiki = request.POST.get('personal_wiki', 'off') if personal_wiki == 'on': enable_mod_for_user(username, MOD_PERSONAL_WIKI) messages.success(request, _('Successfully enable "Personal Wiki".')) else: disable_mod_for_user(username, MOD_PERSONAL_WIKI) if referer.find('wiki') > 0: next = settings.SITE_ROOT messages.success(request, _('Successfully disable "Personal Wiki".')) return HttpResponseRedirect(next) storage = get_avatar_file_storage() def latest_entry(request, filename): try: return storage.modified_time(filename) except Exception as e: logger.error(e) return None @condition(last_modified_func=latest_entry) def image_view(request, filename): if AVATAR_FILE_STORAGE is None: raise Http404 # read file from cache, if hit filename_md5 = hashlib.md5(filename).hexdigest() cache_key = 'image_view__%s' % filename_md5