コード例 #1
0
ファイル: views.py プロジェクト: jmeinken/VillageBuilder
def add_friend(request):
    # print 'add friend'
    if request.method == "POST":
        url = request.POST.get("redirect")
        friendId = request.POST.get("friend-id")
        currentParticipant = Participant.objects.get(user=request.user, type='member')
        friend = Participant.objects.all().get(pk=friendId)
        friendship = Friendship(member=currentParticipant.member, friend_id=friendId)
        distance = getDistance(currentParticipant.member, friend.member)
        friendship.distance = distance['value']
        friendship.distance_text = distance['text']
        friendship.save()
        relationship = getRelationship(currentParticipant, friend)
        if relationship == RelationshipTypes.FRIENDS:
            t = threading.Thread(target=email_friend_confirmation, args=(request, friendship))
            t.start()
        else:
            t = threading.Thread(target=email_friend_request, args=(request, friendship))
            t.start()
        #register event
        eventDict = {
            'member_id' : currentParticipant.id,
            'friend_id' : friendId,
        }
        registerEvent('add friend', eventDict)
        if request.is_ajax():
            data = {'friendId' : friendId}
            return HttpResponse(json.dumps(data), content_type = "application/json")
        else:
            if relationship == RelationshipTypes.FRIENDS:
                messages.success(request, 'You are now friends with ' + friend.get_name() + '.')
            else:
                messages.success(request, 'A friend invite has been sent to ' + friend.get_name() + '.')
            return redirect(url)
    return redirect('login')
コード例 #2
0
ファイル: views.py プロジェクト: jmeinken/VillageBuilder
def post_request_comment(request):
    if request.method == "POST":
        body = request.POST.get("body")
        requestId = request.POST.get("request_id")
        currentParticipant = Participant.objects.get(user=request.user, type='member')
        comment = RequestComment(member=currentParticipant.member, body=body, request_id=requestId)
        comment.save()
        t = threading.Thread(target=email_new_request_comment, args=(request, comment,))
        t.start()
        eventDict = {
            'request_id' : requestId,
            'comment_id' : comment.id,
            'commenter_id' : comment.member.id
        }
        registerEvent('request comment', eventDict)
        context = {
            'current' : getCurrentUser(request),
            'comment' : comment,
            }
        html = render_to_string('requests/blocks/commentblock.html', context)
        data = {
            'request_id' : requestId,
            'html' : html,
        }
        return HttpResponse(json.dumps(data), content_type = "application/json")
    return redirect('login')
コード例 #3
0
ファイル: views.py プロジェクト: jmeinken/VillageBuilder
def add_to_group(request):
    if request.method == "POST":
        url = request.POST.get("redirect")
        groupId = request.POST.get("group-id")
        memberId = request.POST.get("member-id")
        groupMembership = GroupMembership.objects.all().filter(member_id=memberId, group_id=groupId)
        if groupMembership.count() == 0:
            groupMembership = GroupMembership(member_id=memberId, group_id=groupId)
        else:
            groupMembership = groupMembership[0]
            setSharingAction(memberId, groupId, "new group")
        groupMembership.invited = True
        groupMembership.save()
        # register event
        eventDict = {
            'group_id' : groupId,
            'member_id' : memberId,
        }
        registerEvent('group invite', eventDict)
        return redirect(url)
    return redirect('login')
コード例 #4
0
ファイル: views.py プロジェクト: jmeinken/VillageBuilder
def join_group(request):
    # print 'join_group'
    if request.method == "POST":
        url = request.POST.get("redirect")
        groupId = request.POST.get("group_id")
        currentParticipant = Participant.objects.get(user=request.user, type='member')
        groupMembership = GroupMembership.objects.all().filter(member=currentParticipant.member, group_id=groupId)
        if groupMembership.count() == 0:
            groupMembership = GroupMembership(member=currentParticipant.member, group_id=groupId)
        else:
            groupMembership = groupMembership[0]
            setSharingAction(currentParticipant.member.id, groupId, "new group")
        groupMembership.requested = True
        groupMembership.save()
        # register event
        eventDict = {
            'group_id' : groupId,
            'member_id' : currentParticipant.id,
        }
        registerEvent('group request', eventDict)
        return redirect(url)
    return redirect('login')
コード例 #5
0
ファイル: views.py プロジェクト: jmeinken/VillageBuilder
def add_group_members(request):
    if request.method == "POST":
        url = request.POST.get("redirect")
        groupId = request.POST.get("group_id")
        invites = request.POST.getlist("invites[]")
        for memberId in invites:
            groupMembership = GroupMembership.objects.all().filter(member_id=memberId, group_id=groupId)
            if groupMembership.count() == 0:
                groupMembership = GroupMembership(member_id=memberId, group_id=groupId)
            else:
                groupMembership = groupMembership[0]
                setSharingAction(currentParticipant.member.id, groupId, "new group")
            groupMembership.invited = True
            groupMembership.save()
            # register event
            eventDict = {
                'group_id' : groupId,
                'member_id' : memberId,
            }
            registerEvent('group invite', eventDict)
        messages.success(request, "Selected people have been invited to join your group.")
        return redirect(url)
    return redirect('login')