def show_list(request, user_id=None, extra_context=None, avatar_size=128): """lists user's avatars, including gravatar and the default avatar""" user = get_object_or_404(User, pk=user_id) avatar_data, has_uploaded_avatar, can_upload = get_avatar_data( user, avatar_size) status_message = request.session.pop('askbot_avatar_status_message', None) if not isinstance(status_message, unicode): #work around bug where this was accidentally encoded into str #and stored into session - we lose this message #delete this branch some time in 2017 status_message = '' context = { #these are user profile context vars 'can_show_karma': user_can_see_karma(request.user, user), 'user_follow_feature_on': ('followit' in django_settings.INSTALLED_APPS), #below are pure avatar view context vars 'avatar_data': avatar_data, 'has_uploaded_avatar': has_uploaded_avatar, 'can_upload': can_upload, 'page_class': 'user-profile-page', 'upload_avatar_form': UploadAvatarForm(user=user), 'status_message': status_message, 'view_user': user } context.update(extra_context or {}) return render(request, 'avatar/show_list.html', context)
def show_list(request, user_id=None, extra_context=None, avatar_size=128): """lists user's avatars, including gravatar and the default avatar""" user = get_object_or_404(User, pk=user_id) avatar_data, has_uploaded_avatar, can_upload = get_avatar_data(user, avatar_size) status_message = request.session.pop('askbot_avatar_status_message', None) if not isinstance(status_message, unicode): #work around bug where this was accidentally encoded into str #and stored into session - we lose this message #delete this branch some time in 2017 status_message = '' context = { #these are user profile context vars 'can_show_karma': user_can_see_karma(request.user, user), 'user_follow_feature_on': ('followit' in django_settings.INSTALLED_APPS), #below are pure avatar view context vars 'avatar_data': avatar_data, 'has_uploaded_avatar': has_uploaded_avatar, 'can_upload': can_upload, 'page_class': 'user-profile-page', 'upload_avatar_form': UploadAvatarForm(user=user), 'status_message': status_message, 'view_user': user } context.update(extra_context or {}) return render(request, 'avatar/show_list.html', context)
def user(request, id, slug=None, tab_name=None): """Main user view function that works as a switchboard id - id of the profile owner TODO: decide what to do with slug - it is not used in the code in any way """ profile_owner = get_object_or_404(models.User, id=id) if profile_owner.is_blocked(): if request.user.is_anonymous() or \ not request.user.is_administrator_or_moderator(): raise Http404 if slugify(profile_owner.username) != slug: view_url = profile_owner.get_profile_url() + '?' + urlencode( request.REQUEST) return redirect(view_url) if not tab_name: tab_name = request.GET.get('sort', 'stats') can_show_karma = models.user_can_see_karma(request.user, profile_owner) if (not can_show_karma) and tab_name == 'reputation': raise Http404 user_view_func = USER_VIEW_CALL_TABLE.get(tab_name, user_stats) search_state = SearchState( scope=None, sort=None, query=None, tags=None, author=None, page=None, page_size=const.USER_POSTS_PAGE_SIZE, user_logged_in=profile_owner.is_authenticated(), ) context = { 'view_user': profile_owner, 'can_show_karma': can_show_karma, 'search_state': search_state, 'user_follow_feature_on': ('followit' in django_settings.INSTALLED_APPS), } if CUSTOM_TAB: context['custom_tab_name'] = CUSTOM_TAB['NAME'] context['custom_tab_slug'] = CUSTOM_TAB['SLUG'] return user_view_func(request, profile_owner, context)
def user(request, id, slug=None, tab_name=None): """Main user view function that works as a switchboard id - id of the profile owner todo: decide what to do with slug - it is not used in the code in any way """ profile_owner = get_object_or_404(models.User, id = id) if profile_owner.is_blocked(): if request.user.is_anonymous() \ or not request.user.is_administrator_or_moderator(): raise Http404 if slugify(profile_owner.username) != slug: view_url = profile_owner.get_profile_url() + '?' \ + urllib.urlencode(request.REQUEST) return HttpResponseRedirect(view_url) if not tab_name: tab_name = request.GET.get('sort', 'stats') can_show_karma = models.user_can_see_karma(request.user, profile_owner) if can_show_karma == False and tab_name == 'reputation': raise Http404 user_view_func = USER_VIEW_CALL_TABLE.get(tab_name, user_stats) search_state = SearchState( scope=None, sort=None, query=None, tags=None, author=None, page=None, page_size=const.USER_POSTS_PAGE_SIZE, user_logged_in=profile_owner.is_authenticated(), ) context = { 'view_user': profile_owner, 'can_show_karma': can_show_karma, 'search_state': search_state, 'user_follow_feature_on': ('followit' in django_settings.INSTALLED_APPS), } if CUSTOM_TAB: context['custom_tab_name'] = CUSTOM_TAB['NAME'] context['custom_tab_slug'] = CUSTOM_TAB['SLUG'] return user_view_func(request, profile_owner, context)
def show_list(request, user_id=None, extra_context=None, avatar_size=128): """lists user's avatars, including gravatar and the default avatar""" user = get_object_or_404(User, pk=user_id) avatar_data, has_uploaded_avatar, can_upload = get_avatar_data(user, avatar_size) status_message = request.session.pop('askbot_avatar_status_message', None) context = { #these are user profile context vars 'can_show_karma': user_can_see_karma(request.user, user), 'user_follow_feature_on': ('followit' in django_settings.INSTALLED_APPS), #below are pure avatar view context vars 'avatar_data': avatar_data, 'has_uploaded_avatar': has_uploaded_avatar, 'can_upload': can_upload, 'page_class': 'user-profile-page', 'upload_avatar_form': UploadAvatarForm(user=user), 'status_message': status_message, 'view_user': user } context.update(extra_context or {}) return render(request, 'avatar/show_list.html', context)
def show_list(request, user_id=None, extra_context=None, avatar_size=128): """lists user's avatars, including gravatar and the default avatar""" user = get_object_or_404(User, pk=user_id) avatar_data, has_uploaded_avatar, can_upload = get_avatar_data(user, avatar_size) status_message = request.session.pop('askbot_avatar_status_message', None) context = { # these are user profile context vars 'can_show_karma': user_can_see_karma(request.user, user), 'user_follow_feature_on': ('followit' in django_settings.INSTALLED_APPS), # below are pure avatar view context vars 'avatar_data': avatar_data, 'has_uploaded_avatar': has_uploaded_avatar, 'can_upload': can_upload, 'page_class': 'user-profile-page', 'upload_avatar_form': UploadAvatarForm(user=user), 'status_message': status_message, 'view_user': user } context.update(extra_context or {}) return render(request, 'avatar/show_list.jinja', context)