Merge branch 'main' into suggestions-redis
This commit is contained in:
@ -17,15 +17,15 @@ from bookwyrm import forms, models
|
||||
from bookwyrm.activitypub import ActivitypubResponse
|
||||
from bookwyrm.settings import PAGE_LENGTH
|
||||
from .helpers import get_user_from_username, is_api_request
|
||||
from .helpers import is_blocked, privacy_filter, object_visible_to_user
|
||||
from .helpers import is_blocked, privacy_filter
|
||||
|
||||
|
||||
# pylint: disable= no-self-use
|
||||
class User(View):
|
||||
""" user profile page """
|
||||
"""user profile page"""
|
||||
|
||||
def get(self, request, username):
|
||||
""" profile page for a user """
|
||||
"""profile page for a user"""
|
||||
try:
|
||||
user = get_user_from_username(request.user, username)
|
||||
except models.User.DoesNotExist:
|
||||
@ -40,11 +40,6 @@ class User(View):
|
||||
return ActivitypubResponse(user.to_activity())
|
||||
# otherwise we're at a UI view
|
||||
|
||||
try:
|
||||
page = int(request.GET.get("page", 1))
|
||||
except ValueError:
|
||||
page = 1
|
||||
|
||||
shelf_preview = []
|
||||
|
||||
# only show other shelves that should be visible
|
||||
@ -80,14 +75,14 @@ class User(View):
|
||||
goal = models.AnnualGoal.objects.filter(
|
||||
user=user, year=timezone.now().year
|
||||
).first()
|
||||
if not object_visible_to_user(request.user, goal):
|
||||
if goal and not goal.visible_to_user(request.user):
|
||||
goal = None
|
||||
data = {
|
||||
"user": user,
|
||||
"is_self": is_self,
|
||||
"shelves": shelf_preview,
|
||||
"shelf_count": shelves.count(),
|
||||
"activities": paginated.page(page),
|
||||
"activities": paginated.get_page(request.GET.get("page", 1)),
|
||||
"goal": goal,
|
||||
}
|
||||
|
||||
@ -95,10 +90,10 @@ class User(View):
|
||||
|
||||
|
||||
class Followers(View):
|
||||
""" list of followers view """
|
||||
"""list of followers view"""
|
||||
|
||||
def get(self, request, username):
|
||||
""" list of followers """
|
||||
"""list of followers"""
|
||||
try:
|
||||
user = get_user_from_username(request.user, username)
|
||||
except models.User.DoesNotExist:
|
||||
@ -120,10 +115,10 @@ class Followers(View):
|
||||
|
||||
|
||||
class Following(View):
|
||||
""" list of following view """
|
||||
"""list of following view"""
|
||||
|
||||
def get(self, request, username):
|
||||
""" list of followers """
|
||||
"""list of followers"""
|
||||
try:
|
||||
user = get_user_from_username(request.user, username)
|
||||
except models.User.DoesNotExist:
|
||||
@ -146,10 +141,10 @@ class Following(View):
|
||||
|
||||
@method_decorator(login_required, name="dispatch")
|
||||
class EditUser(View):
|
||||
""" edit user view """
|
||||
"""edit user view"""
|
||||
|
||||
def get(self, request):
|
||||
""" edit profile page for a user """
|
||||
"""edit profile page for a user"""
|
||||
data = {
|
||||
"form": forms.EditUserForm(instance=request.user),
|
||||
"user": request.user,
|
||||
@ -157,7 +152,7 @@ class EditUser(View):
|
||||
return TemplateResponse(request, "preferences/edit_user.html", data)
|
||||
|
||||
def post(self, request):
|
||||
""" les get fancy with images """
|
||||
"""les get fancy with images"""
|
||||
form = forms.EditUserForm(request.POST, request.FILES, instance=request.user)
|
||||
if not form.is_valid():
|
||||
data = {"form": form, "user": request.user}
|
||||
@ -169,7 +164,7 @@ class EditUser(View):
|
||||
|
||||
|
||||
def save_user_form(form):
|
||||
""" special handling for the user form """
|
||||
"""special handling for the user form"""
|
||||
user = form.save(commit=False)
|
||||
|
||||
if "avatar" in form.files:
|
||||
@ -190,7 +185,7 @@ def save_user_form(form):
|
||||
|
||||
|
||||
def crop_avatar(image):
|
||||
""" reduce the size and make an avatar square """
|
||||
"""reduce the size and make an avatar square"""
|
||||
target_size = 120
|
||||
width, height = image.size
|
||||
thumbnail_scale = (
|
||||
|
Reference in New Issue
Block a user