List of pending follow requests with accept/delete buttons on own profile.
This commit is contained in:
@ -163,3 +163,35 @@ def clear_notifications(request):
|
||||
request.user.notification_set.filter(read=True).delete()
|
||||
return redirect('/notifications')
|
||||
|
||||
@login_required
|
||||
def accept_follow_request(request):
|
||||
username = request.POST['user']
|
||||
try:
|
||||
requester = get_user_from_username(username)
|
||||
except models.User.DoesNotExist:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
follow_request = models.UserFollowRequest.objects.get(user_subject=requester, user_object=request.user)
|
||||
# We don't keep a full copy of the follow request, but a minimal copy is good enough for now.
|
||||
follow_activity = {'id': follow_request.relationship_id}
|
||||
outgoing.handle_outgoing_accept(requester, request.user, follow_activity)
|
||||
user_slug = requester.localname if requester.localname \
|
||||
else requester.username
|
||||
return redirect('/user/%s' % user_slug)
|
||||
|
||||
@login_required
|
||||
def delete_follow_request(request):
|
||||
username = request.POST['user']
|
||||
try:
|
||||
requester = get_user_from_username(username)
|
||||
except models.User.DoesNotExist:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
try:
|
||||
follow_request = models.UserFollowRequest.objects.get(user_subject=requester, user_object=request.user)
|
||||
follow_request.delete()
|
||||
# Generate a Reject activity here.
|
||||
except models.UserFollowRequest.DoesNotExist:
|
||||
pass
|
||||
|
||||
return redirect('/user/%s' % request.user.localname)
|
||||
|
Reference in New Issue
Block a user