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
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)
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
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
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
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)
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)
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)
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)
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)
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
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
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
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
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
def get_avatar(self, avatar_in): return avatar(avatar_in.user, 80)
def avatar_large(self, obj): return avatar(obj.userprofile.user, 150)
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>'
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>'
def get_avatar(self, avatar_in): return avatar(avatar_in.user, settings.AVATAR_SIZE)
def avatar_small(self, obj): return avatar(obj.userprofile.user, 30)
def create_entry(user): return "%s,,%s,,%s" % ( avatar(user, 40), user.username, user.get_profile().name)