mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 05:23:35 +00:00
Extract get_avatar_url().
This function doesn't require the whole UserProfile object to create the avatar url, and we call it from Message.to_dict_uncached(). (imported from commit e814caab101c4fedd1ba66df041a3408014e4085)
This commit is contained in:
@@ -22,11 +22,17 @@ def user_avatar_hash(email):
|
||||
return make_safe_digest(user_key, hashlib.sha1)
|
||||
|
||||
def avatar_url(user_profile):
|
||||
if user_profile.avatar_source == 'U':
|
||||
return get_avatar_url(
|
||||
user_profile.avatar_source,
|
||||
user_profile.email
|
||||
)
|
||||
|
||||
def get_avatar_url(avatar_source, email):
|
||||
if avatar_source == 'U':
|
||||
bucket = settings.S3_AVATAR_BUCKET
|
||||
hash_key = user_avatar_hash(user_profile.email)
|
||||
hash_key = user_avatar_hash(email)
|
||||
# ?x=x allows templates to append additional parameters with &s
|
||||
return "https://%s.s3.amazonaws.com/%s?x=x" % (bucket, hash_key)
|
||||
else:
|
||||
hash_key = gravatar_hash(user_profile.email)
|
||||
hash_key = gravatar_hash(email)
|
||||
return "https://secure.gravatar.com/avatar/%s?d=identicon" % (hash_key,)
|
||||
|
||||
@@ -11,7 +11,7 @@ from zerver.lib.cache import cache_with_key, update_user_profile_cache, \
|
||||
from zerver.lib.utils import make_safe_digest, generate_random_token
|
||||
from django.db import transaction, IntegrityError
|
||||
from zerver.lib import bugdown
|
||||
from zerver.lib.avatar import gravatar_hash, avatar_url
|
||||
from zerver.lib.avatar import gravatar_hash, get_avatar_url
|
||||
from django.utils import timezone
|
||||
from django.contrib.sessions.models import Session
|
||||
from zerver.lib.timestamp import datetime_to_timestamp
|
||||
@@ -528,6 +528,7 @@ class Message(models.Model):
|
||||
sender_realm_domain = self.sender.realm.domain
|
||||
sender_full_name = self.sender.full_name
|
||||
sender_short_name = self.sender.short_name
|
||||
sender_avatar_source = self.sender.avatar_source
|
||||
sending_client_name = self.sending_client.name
|
||||
sender_id = self.sender.id
|
||||
recipient = self.recipient
|
||||
@@ -535,6 +536,8 @@ class Message(models.Model):
|
||||
recipient_type = recipient.type
|
||||
recipient_type_id = recipient.type_id
|
||||
|
||||
avatar_url = get_avatar_url(sender_avatar_source, sender_email)
|
||||
|
||||
display_recipient = get_display_recipient_by_id(
|
||||
recipient_id,
|
||||
recipient_type,
|
||||
@@ -571,7 +574,7 @@ class Message(models.Model):
|
||||
subject = subject,
|
||||
timestamp = datetime_to_timestamp(pub_date),
|
||||
gravatar_hash = gravatar_hash(sender_email), # Deprecated June 2013
|
||||
avatar_url = avatar_url(self.sender),
|
||||
avatar_url = avatar_url,
|
||||
client = sending_client_name)
|
||||
|
||||
obj['subject_links'] = bugdown.subject_links(sender_realm_domain.lower(), subject)
|
||||
|
||||
Reference in New Issue
Block a user