Skip to content

Commit dd85809

Browse files
committed
Fix Contributors sidebar not updating on avatar changes
Invalidate AvatarsBlockData cache in upload, enable_gravatar, enable_default_avatar, and disable_gravatar views. Moved the AvatarsBlockData import to module level.
1 parent 4507d1e commit dd85809

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

askbot/doc/source/changelog.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Development (not yet released)
88
* Bumped ``urllib3`` dependency from ``>=1.21.1,<1.27`` to ``>=2,<3``
99
* Fixed ``encode_jwt``/``decode_jwt`` compatibility with PyJWT 2.x
1010
* Added tests for ``encode_jwt`` and ``decode_jwt``
11+
* Fixed Contributors sidebar not updating when user uploads avatar,
12+
switches to gravatar, enables default avatar, or disables gravatar
1113

1214
0.12.8 (Mar 15, 2026)
1315
---------------------

askbot/views/avatar_views.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from askbot.conf import settings as askbot_settings
22
from askbot.conf import gravatar_enabled
33
from askbot.models import User, user_can_see_karma
4+
from askbot.models.recent_contributors import AvatarsBlockData
45
from askbot.utils.forms import get_error_list
56
from avatar.conf import settings as avatar_settings
67
from avatar.forms import PrimaryAvatarForm, UploadAvatarForm
@@ -158,7 +159,6 @@ def set_primary(request, user_id=None, extra_context=None, avatar_size=128):
158159
user.avatar_type = 'a'
159160
user.clear_avatar_urls()
160161
user.save()
161-
from askbot.models.recent_contributors import AvatarsBlockData
162162
AvatarsBlockData.update_user(user)
163163

164164
return redirect_to_show_list(user_id)
@@ -185,6 +185,7 @@ def upload(request, user_id=None):
185185
user.avatar_type = 'a'
186186
user.clear_avatar_urls()
187187
user.save()
188+
AvatarsBlockData.update_user(user)
188189
message = _('Avatar uploaded and set as primary')
189190
else:
190191
errors = get_error_list(form)
@@ -213,7 +214,6 @@ def delete(request, avatar_id):
213214
user.avatar_set.update(primary=False)
214215
user.clear_avatar_urls()
215216
user.save()
216-
from askbot.models.recent_contributors import AvatarsBlockData
217217
AvatarsBlockData.update_user(user)
218218

219219
return redirect_to_show_list(user.id)
@@ -227,6 +227,7 @@ def enable_gravatar(request, user_id=None):
227227
user.avatar_set.update(primary=False)
228228
user.clear_avatar_urls()
229229
user.save()
230+
AvatarsBlockData.update_user(user)
230231
return redirect_to_show_list(user_id)
231232

232233

@@ -238,6 +239,7 @@ def enable_default_avatar(request, user_id=None):
238239
user.avatar_set.update(primary=False)
239240
user.clear_avatar_urls()
240241
user.save()
242+
AvatarsBlockData.update_user(user)
241243
return redirect_to_show_list(user_id)
242244

243245

@@ -253,4 +255,5 @@ def disable_gravatar(request, user_id=None):
253255
avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar)
254256
user.clear_avatar_urls()
255257
user.save()
258+
AvatarsBlockData.update_user(user)
256259
return redirect_to_show_list(user_id)

0 commit comments

Comments
 (0)