Esempio n. 1
0
def username_autocomplete_all(request):
    if request.user.is_authenticated():
        from django.contrib.auth.models import User
        from basic_profiles.models import Profile
        from avatar.templatetags.avatar_tags import avatar
        q = request.GET.get("q")
        users = User.objects.all()
        content = []
        # @@@ temporary hack -- don't try this at home (or on real sites)
        for user in users:
            if user.username.lower().startswith(q):
                try:
                    profile = user.get_profile()
                    entry = "%s,,%s,,%s" % (
                        avatar(user, 40),
                        user.username,
                        profile.location
                    )
                except Profile.DoesNotExist:
                    pass
                content.append(entry)
        response = HttpResponse("\n".join(content))
    else:
        response = HttpResponseForbidden()
    setattr(response, "djangologging.suppress_output", True)
    return response
Esempio n. 2
0
    def test_avatar_tag_works_with_kwargs(self):
        upload_helper(self, "test.png")
        avatar = get_primary_avatar(self.user)

        result = avatar_tags.avatar(self.user, title="Avatar")
        html = '<img src="{}" width="80" height="80" alt="test" title="Avatar" />'.format(avatar.avatar_url(80))
        self.assertInHTML(html, result)
Esempio n. 3
0
def username_autocomplete_friends(request):
    if request.user.is_authenticated():
        from friends.models import Friendship
        from profiles.models import Profile
        from avatar.templatetags.avatar_tags import avatar
        q = request.GET.get("q")
        friends = Friendship.objects.friends_for_user(request.user)
        content = []
        for friendship in friends:
            if friendship["friend"].username.lower().startswith(q):
                try:
                    profile = friendship["friend"].get_profile()
                    entry = "%s,,%s,,%s" % (
                        avatar(friendship["friend"], 40),
                        friendship["friend"].username,
                        profile.location
                    )
                except Profile.DoesNotExist:
                    pass
                content.append(entry)
        response = HttpResponse("\n".join(content))
    else:
        response = HttpResponseForbidden()
    setattr(response, "djangologging.suppress_output", True)
    return response
Esempio n. 4
0
def username_autocomplete_friends(request):
    if request.user.is_authenticated():
        from friends.models import Friendship
        #from profiles.models import Profile
        from avatar.templatetags.avatar_tags import avatar
        q = request.GET.get("q")
        friends = Friendship.objects.friends_for_user(request.user)
        content = []
        for friendship in friends:
            if friendship["friend"].username.lower().startswith(q):
                try:
                    profile = friendship["friend"].get_profile()
                    entry = "%s,,%s" % (
                        avatar(friendship["friend"], 40),
                        friendship["friend"].username,
                        #profile.location
                    )
                except: #Profile.DoesNotExist:
                    pass
                content.append(entry)
        response = HttpResponse("\n".join(content))
    else:
        response = HttpResponseForbidden()
    setattr(response, "djangologging.suppress_output", True)
    return response
Esempio n. 5
0
def username_autocomplete_all(request):
    if request.user.is_authenticated():
        from django.contrib.auth.models import User
        #from basic_profiles.models import Profile
        from avatar.templatetags.avatar_tags import avatar
        q = request.GET.get("q")
        users = User.objects.all()
        content = []
        # @@@ temporary hack -- don't try this at home (or on real sites)
        for user in users:
            if user.username.lower().startswith(q):
                try:
                    profile = user.get_profile()
                    entry = "%s,,%s" % (
                        avatar(user, 40),
                        user.username,
                        #profile.location
                    )
                except: #Profile.DoesNotExist:
                    pass
                content.append(entry)
        response = HttpResponse("\n".join(content))
    else:
        response = HttpResponseForbidden()
    setattr(response, "djangologging.suppress_output", True)
    return response
Esempio n. 6
0
    def test_avatar_tag_works_with_custom_size(self):
        upload_helper(self, "test.png")
        avatar = get_primary_avatar(self.user)

        result = avatar_tags.avatar(self.user, 100)

        self.assertIn('<img src="{}"'.format(avatar.avatar_url(100)), result)
        self.assertIn('alt="test" width="100" height="100" />', result)
Esempio n. 7
0
    def test_avatar_tag_works_with_custom_size(self):
        upload_helper(self, "test.png")
        avatar = get_primary_avatar(self.user)

        result = avatar_tags.avatar(self.user, 100)

        self.assertIn('<img src="{}"'.format(avatar.avatar_url(100)), result)
        self.assertIn('width="100" height="100" alt="test" />', result)
Esempio n. 8
0
    def test_avatar_tag_works_with_user(self):
        upload_helper(self, "test.png")
        avatar = get_primary_avatar(self.user)

        result = avatar_tags.avatar(self.user)

        self.assertIn('<img src="{}"'.format(avatar.avatar_url(80)), result)
        self.assertIn('alt="test" width="80" height="80" />', result)
Esempio n. 9
0
    def test_avatar_tag_works_with_kwargs(self):
        upload_helper(self, "test.png")
        avatar = get_primary_avatar(self.user)

        result = avatar_tags.avatar(self.user, title="Avatar")
        html = '<img src="{}" width="80" height="80" alt="test" ' \
               'title="Avatar" />'.format(avatar.avatar_url(80))
        self.assertInHTML(html, result)
Esempio n. 10
0
    def test_avatar_tag_works_with_user(self):
        upload_helper(self, "test.png")
        avatar = get_primary_avatar(self.user)

        result = avatar_tags.avatar(self.user)

        self.assertIn('<img src="{}"'.format(avatar.avatar_url(80)), result)
        self.assertIn('width="80" height="80" alt="test" />', result)
Esempio n. 11
0
 def dehydrate(self, bundle):
     # Include the request IP in the bundle.
     bundle.data['editable'] = (bundle.obj.tweeter_id == bundle.request.user.id)
     bundle.data['tweeter_id'] = bundle.obj.tweeter_id
     if bundle.obj.tweeter.get_full_name() :
         bundle.data['name'] = bundle.obj.tweeter.get_full_name()
         bundle.data['ident'] = "full_name"
     else :
         bundle.data['name'] = bundle.obj.tweeter.username
         bundle.data['ident'] = "username"
     bundle.data['avatar_url'] = avatar(bundle.obj.tweeter,50)
     return bundle
Esempio n. 12
0
def get_avatar(user,
               size,
               external=False,
               get_url=False,
               phonegap=False,
               no_size=False):
    """ Return avatar tag and external url if get_url is True no matter what external value is.
	If phonegap is True return local avatar."""
    def get_external():
        if external:
            return 'data-external'
        else:
            return ''

    if type(user) == SafeText:
        users = User.objects.filter(username=user)
        if users.exists():
            user = users[0]
        else:
            user = None

    if user is not None:
        first_item = clients.models.Gallery.get_first_item(user.client)
        if first_item is not None and not first_item.is_photo(
        ) and not phonegap:
            url = 'https://img.youtube.com/vi/{}/0.jpg'.format(
                first_item.content_object.video_id)
            if get_url:
                return url
            else:
                if no_size is True:
                    return '<img src="{0}" {1}>'.format(url, get_external())
                else:
                    return '<img src="{0}" width="{1}" height="{1}" {2}>'.format(
                        url, size, get_external())

    tag = avatar(user, size)
    url = re.match('.+?src="(.+?)"', tag).group(1)
    if no_size is True:
        tag = tag.replace('width="{0}" height="{0}"'.format(size), '')
    external_url = absolute_url(url)
    if get_url:
        return external_url
    else:
        if external:
            tag = tag.replace(url, external_url)
        if phonegap:
            tag = tag.replace(url, 'img/avatars/{}.jpg'.format(user.username))
        return tag
Esempio n. 13
0
def username_autocomplete(request, template_name="account/username_autocomplete.html"):
    from django.contrib.auth.models import User
    users = User.objects.filter(username__istartswith=request.GET["q"]).exclude(username__exact=request.user.username)
    content = []
    for user in users:
        try:
            #profile = user.get_profile()
            entry = "%s,,%s,,%s" % (
                avatar(user, 40),
                user.username,
                user.username
            )
        except Profile.DoesNotExist:
            pass

        content.append(entry)
    response = HttpResponse("\n".join(content))
    setattr(response, "djangologging.suppress_output", True)
    return response
Esempio n. 14
0
def username_autocomplete_friends(request):
    """
    Provides username matching based on matches of the beginning of the
    usernames of friends.
    """
    if request.user.is_authenticated():
        from friends.models import Friendship
        from avatar.templatetags.avatar_tags import avatar
        q = request.GET.get("term", "").rstrip(", ")
        q = q.split(',').pop().strip()

        try:
            limit = int(request.GET["limit"])
        except (KeyError, ValueError):
            limit = 10
        if limit > 100:
            limit = 100

        content = []
        if q:
            friends = Friendship.objects.friends_for_user(request.user)
            for friendship in friends:
                if friendship["friend"].is_active and\
                        friendship["friend"].username.lower().startswith(q.lower()):
                    try:
                        profile = friendship["friend"].get_profile()
                        entry = {
                            'label': friendship["friend"].username,
                            'value': friendship["friend"].username,
                            'avatar': avatar(friendship["friend"], 40),
                            'location': profile.location,
                        }
                        content.append(entry)
                    except ObjectDoesNotExist:
                        pass
        response = HttpResponse(simplejson.dumps(list(content)),
                                mimetype='application/json')
    else:
        response = HttpResponseForbidden()
    setattr(response, "djangologging.suppress_output", True)
    return response
Esempio n. 15
0
def username_autocomplete_all(request):
    """
    Provides username matching based on matches of the beginning of the
    usernames of all users in the system.
    """
    if request.user.is_authenticated():
        from django.contrib.auth.models import User
        from avatar.templatetags.avatar_tags import avatar
        q = request.GET.get("term", "").rstrip(", ")
        q = q.split(',').pop().strip()

        try:
            limit = int(request.GET["limit"])
        except (KeyError, ValueError):
            limit = 10
        if limit > 100:
            limit = 100

        content = []
        if q:
            users = User.objects.filter(is_active=True, username__istartswith=q).order_by("username")[:limit]
            # @@@ temporary hack -- don't try this at home (or on real sites)
            for user in users:
                try:
                    profile = user.get_profile()
                    entry = {
                        'label': user.username,
                        'value': user.username,
                        'avatar': avatar(user, 40),
                        'location': profile.location,
                    }
                    content.append(entry)
                except ObjectDoesNotExist:
                    pass
        response = HttpResponse(simplejson.dumps(list(content)),
                                mimetype='application/json')
    else:
        response = HttpResponseForbidden()
    setattr(response, "djangologging.suppress_output", True)
    return response
Esempio n. 16
0
 def get_avatar(self, avatar_in):
     return avatar(avatar_in.user, 80)
Esempio n. 17
0
 def get_avatar(self, avatar_in):
     return avatar(avatar_in.user, 80)
Esempio n. 18
0
 def avatar_large(self, obj):
     return avatar(obj.userprofile.user, 150)
Esempio n. 19
0
def user_link(user):
    avatar_html = avatar(user, size=24)
    url = '/profiles/%s' % user.username
    return '<span class="userlink">' + avatar_html + '<a href="'+ url +'">' +\
    user.username + '</a></span>'
Esempio n. 20
0
def user_link(user):
    avatar_html = avatar(user, size=24)
    url = reverse('profile_detail', args=[user])
    return '<span class="userlink">' + avatar_html + '<a href="'+ url +'">' +\
    user.username + '</a></span>'
Esempio n. 21
0
 def get_avatar(self, avatar_in):
     return avatar(avatar_in.user, settings.AVATAR_SIZE)
Esempio n. 22
0
 def avatar_small(self, obj):
     return avatar(obj.userprofile.user, 30)
Esempio n. 23
0
 def create_entry(user):
     return "%s,,%s,,%s" % ( avatar(user, 40), user.username, user.get_profile().name)
Esempio n. 24
0
 def get_avatar(self, avatar_in):
     return avatar(avatar_in.user, settings.AVATAR_SIZE)