def avatar(user, size=settings.AVATAR_DEFAULT_SIZE, **kwargs): if not isinstance(user, get_user_model()): try: user = get_user(user) alt = six.text_type(user) url = avatar_url(user, size) except get_user_model().DoesNotExist: url = get_default_avatar_url() alt = _("Default Avatar") else: alt = six.text_type(user) url = avatar_url(user, size) try: alt = user.first_name[:1] + user.last_name[:1] except AttributeError: alt = "" context = { 'user': user, 'alt': alt, 'size': size, 'kwargs': kwargs, } template_name = 'avatar/avatar_tag.html' ext_context = None try: template_name, ext_context = url except ValueError: context['url'] = url if ext_context: context = dict(context, **ext_context) return render_to_string(template_name, context)
def setUp(self): self.testdatapath = os.path.join(os.path.dirname(__file__), "data") self.user = get_user_model().objects.create_user('test', '*****@*****.**', 'testpassword') self.user.save() self.client.login(username='******', password='******') self.site = AdminSite() Image.init()
def setUp(self): self.testdatapath = os.path.join(os.path.dirname(__file__), "data") self.user = get_user_model().objects.create_user( 'test', '*****@*****.**', 'testpassword') self.user.save() self.client.login(username='******', password='******') self.site = AdminSite() Image.init()
def avatar(user, size=settings.AVATAR_DEFAULT_SIZE, **kwargs): if not isinstance(user, get_user_model()): try: user = get_user(user) alt = six.text_type(user) url = avatar_url(user, size) except get_user_model().DoesNotExist: url = get_default_avatar_url() alt = _("Default Avatar") else: alt = six.text_type(user) url = avatar_url(user, size) context = dict(kwargs, **{ 'user': user, 'url': url, 'alt': alt, 'size': size, }) return render_to_string('avatar/avatar_tag.html', context)
class AvatarAdmin(admin.ModelAdmin): list_display = ('get_avatar', 'user', 'primary', "date_uploaded") list_filter = ('primary',) search_fields = ('user__%s' % getattr(get_user_model(), 'USERNAME_FIELD', 'username'),) list_per_page = 50 def get_avatar(self, avatar_in): context = dict({ 'user': avatar_in.user, 'url': avatar_in.avatar.url, 'alt': six.text_type(avatar_in.user), 'size': 80, }) return render_to_string('avatar/avatar_tag.html', context) get_avatar.short_description = _('Avatar') get_avatar.allow_tags = True def save_model(self, request, obj, form, change): super(AvatarAdmin, self).save_model(request, obj, form, change) avatar_updated.send(sender=Avatar, user=request.user, avatar=obj)
def has_avatar(user): if not isinstance(user, get_user_model()): return False return Avatar.objects.filter(user=user, primary=True).exists()