1
0
Fork 0

run Black on changed code

This commit is contained in:
Hugh Rundle 2021-10-04 21:31:28 +11:00
parent 782512b2ce
commit dafda649f1
10 changed files with 118 additions and 82 deletions

View file

@ -41,7 +41,15 @@ from .follow import follow, unfollow
from .follow import accept_follow_request, delete_follow_request
from .get_started import GetStartedBooks, GetStartedProfile, GetStartedUsers
from .goal import Goal, hide_goal
from .group import Group, UserGroups, FindUsers, invite_member, remove_member, accept_membership, reject_membership
from .group import (
Group,
UserGroups,
FindUsers,
invite_member,
remove_member,
accept_membership,
reject_membership,
)
from .import_data import Import, ImportStatus
from .inbox import Inbox
from .interaction import Favorite, Unfavorite, Boost, Unboost

View file

@ -18,6 +18,7 @@ from .helpers import privacy_filter
from .helpers import get_user_from_username
from bookwyrm.settings import DOMAIN
class Group(View):
"""group page"""
@ -47,7 +48,8 @@ class Group(View):
if not form.is_valid():
return redirect("group", user_group.id)
user_group = form.save()
return redirect("group", user_group.id)
return redirect("group", user_group.id)
@method_decorator(login_required, name="dispatch")
class UserGroups(View):
@ -56,7 +58,9 @@ class UserGroups(View):
def get(self, request, username):
"""display a group"""
user = get_user_from_username(request.user, username)
memberships = models.GroupMember.objects.filter(user=user).all().order_by("-updated_date")
memberships = (
models.GroupMember.objects.filter(user=user).all().order_by("-updated_date")
)
paginated = Paginator(memberships, 12)
data = {
@ -80,10 +84,12 @@ class UserGroups(View):
models.GroupMember.objects.create(group=group, user=request.user)
return redirect("group", group.id)
@method_decorator(login_required, name="dispatch")
class FindUsers(View):
"""find friends to add to your group"""
"""this is mostly borrowed from the Get Started friend finder"""
#this is mostly borrowed from the Get Started friend finder
def get(self, request, group_id):
"""basic profile info"""
@ -91,25 +97,23 @@ class FindUsers(View):
group = models.Group.objects.get(id=group_id)
user_results = (
models.User.viewer_aware_objects(request.user)
.exclude(memberships__in=group.memberships.all()) # don't suggest users who are already members
.exclude(
memberships__in=group.memberships.all()
) # don't suggest users who are already members
.annotate(
similarity=Greatest(
TrigramSimilarity("username", query),
TrigramSimilarity("localname", query),
)
)
.filter(
similarity__gt=0.5,
local=True
)
.filter(similarity__gt=0.5, local=True)
.order_by("-similarity")[:5]
)
data = {"no_results": not user_results}
if user_results.count() < 5:
user_results = list(user_results) + suggested_users.get_suggestions(
request.user,
local=True
request.user, local=True
)
group = get_object_or_404(models.Group, id=group_id)
@ -121,13 +125,14 @@ class FindUsers(View):
return HttpResponseBadRequest()
data = {
"suggested_users": user_results,
"group": group,
"query": query,
"requestor_is_manager": request.user == group.user
"suggested_users": user_results,
"group": group,
"query": query,
"requestor_is_manager": request.user == group.user,
}
return TemplateResponse(request, "groups/find_users.html", data)
@require_POST
@login_required
def invite_member(request):
@ -145,16 +150,14 @@ def invite_member(request):
return HttpResponseBadRequest()
try:
models.GroupMemberInvitation.objects.create(
user=user,
group=group
)
models.GroupMemberInvitation.objects.create(user=user, group=group)
except IntegrityError:
pass
return redirect(user.local_path)
@require_POST
@login_required
def remove_member(request):
@ -168,15 +171,16 @@ def remove_member(request):
if not user:
return HttpResponseBadRequest()
is_member = models.GroupMember.objects.filter(group=group,user=user).exists()
is_invited = models.GroupMemberInvitation.objects.filter(group=group,user=user).exists()
is_member = models.GroupMember.objects.filter(group=group, user=user).exists()
is_invited = models.GroupMemberInvitation.objects.filter(
group=group, user=user
).exists()
if is_invited:
try:
invitation = models.GroupMemberInvitation.objects.get(
user=user,
group=group
)
user=user, group=group
)
invitation.reject()
@ -186,11 +190,13 @@ def remove_member(request):
if is_member:
try:
membership = models.GroupMember.objects.get(group=group,user=user)
membership = models.GroupMember.objects.get(group=group, user=user)
membership.delete()
# remove this user's group-curated lists from the group
models.List.objects.filter(group=group,user=user).update(group=None,curation="closed")
models.List.objects.filter(group=group, user=user).update(
group=None, curation="closed"
)
except IntegrityError:
pass
@ -200,7 +206,7 @@ def remove_member(request):
notification_type = "LEAVE" if user == request.user else "REMOVE"
# let the other members know about it
for membership in memberships:
member = membership.user
member = membership.user
if member != request.user:
model.objects.create(
user=member,
@ -219,6 +225,7 @@ def remove_member(request):
return redirect(user.local_path)
@require_POST
@login_required
def accept_membership(request):
@ -228,7 +235,7 @@ def accept_membership(request):
if not group:
return HttpResponseBadRequest()
invite = models.GroupMemberInvitation.objects.get(group=group,user=request.user)
invite = models.GroupMemberInvitation.objects.get(group=group, user=request.user)
if not invite:
return HttpResponseBadRequest()
@ -240,6 +247,7 @@ def accept_membership(request):
return redirect(group.local_path)
@require_POST
@login_required
def reject_membership(request):
@ -249,7 +257,7 @@ def reject_membership(request):
if not group:
return HttpResponseBadRequest()
invite = models.GroupMemberInvitation.objects.get(group=group,user=request.user)
invite = models.GroupMemberInvitation.objects.get(group=group, user=request.user)
if not invite:
return HttpResponseBadRequest()
@ -259,4 +267,4 @@ def reject_membership(request):
except IntegrityError:
pass
return redirect(request.user.local_path)
return redirect(request.user.local_path)

View file

@ -183,7 +183,7 @@ class List(View):
"query": query or "",
"sort_form": forms.SortListForm(
{"direction": direction, "sort_by": sort_by}
)
),
}
return TemplateResponse(request, "lists/list.html", data)
@ -287,14 +287,20 @@ def add_book(request):
book_list = get_object_or_404(models.List, id=request.POST.get("list"))
is_group_member = False
if book_list.curation == "group":
is_group_member = models.GroupMember.objects.filter(group=book_list.group, user=request.user).exists()
is_group_member = models.GroupMember.objects.filter(
group=book_list.group, user=request.user
).exists()
book_list.raise_visible_to_user(request.user)
book = get_object_or_404(models.Edition, id=request.POST.get("book"))
# do you have permission to add to the list?
try:
if request.user == book_list.user or is_group_member or book_list.curation == "open":
if (
request.user == book_list.user
or is_group_member
or book_list.curation == "open"
):
# add the book at the latest order of approved books, before pending books
order_max = (
book_list.listitem_set.filter(approved=True).aggregate(Max("order"))[

View file

@ -137,6 +137,7 @@ class Following(View):
}
return TemplateResponse(request, "user/relationships/following.html", data)
class Groups(View):
"""list of user's groups view"""
@ -144,9 +145,7 @@ class Groups(View):
"""list of groups"""
user = get_user_from_username(request.user, username)
paginated = Paginator(
models.Group.memberships.filter(user=user)
)
paginated = Paginator(models.Group.memberships.filter(user=user))
data = {
"user": user,
"is_self": request.user.id == user.id,
@ -154,6 +153,7 @@ class Groups(View):
}
return TemplateResponse(request, "user/groups.html", data)
@require_POST
@login_required
def hide_suggestions(request):