def follow_location(request, location_id): member_login = get_member_login_object(request) location = Location.objects.get(pk=location_id) location.follow_by.add(member_login) friend_activity_content = get_stream_content( 'follow_location', 'friends_content', { 'member_login': member_login, 'location': location }) user_activity_content = get_stream_content( 'follow_location', 'user_content', { 'member_login': member_login, 'location': location }) list_friends_username = Friendship.objects.friends_of( member_login.user).values_list('username', flat=True) user_streams.add_stream_item(member_login.user, friend_activity_content, user_activity_content) buzz = simplejson.dumps({ 'new_friend_activity': friend_activity_content, 'list_friends_username': list(list_friends_username) }) conn.send(buzz, destination='/update') return simplejson.dumps({ 'username': member_login.user.username, 'name': member_login.user.first_name + " " + member_login.user.last_name, 'avatar': member_login.avatar.url })
def accept_friend_request(request,username): member_add_request = Member.objects.get(user=User.objects.get(username=username)) member_receive_request = get_member_login_object(request) fr = FriendshipRequest.objects.filter(from_user=member_add_request.user, to_user=member_receive_request.user) print fr # In case member A click accept while the other member B already cancel the request # we handle by reload the page if len(fr) != 0: fr[0].accept() notify_type= 'accept_friend_request' content = ("<div class='notify-main-content'>" + "<a href='/" + member_receive_request.user.username + "' >" + member_receive_request.user.first_name + " " + member_receive_request.user.last_name + "</a>" + " accept your friend request" + "</div>") new_notify = Notify.objects.create(notify_type=notify_type,notify_to=member_add_request,notify_from=member_receive_request,status='new',date=datetime.datetime.now(),content=content) new_notify.save() n = Notify.objects.get(notify_type='add_friend',notify_to=member_receive_request,notify_from=member_add_request) new_content = ("<div class='notify-main-content'>" + "<a href='/" + member_add_request.user.username + "' >" + member_add_request.user.first_name + " " + member_add_request.user.last_name + "</a>" + " want to be friend with you" + "</div>" + "<div class='notify-accept-friend-request'>" + "You have accepted this request " + "</div>") n.content = new_content n.notify_type = 'add_friend_response_accept' n.save() new_buzz_type = len(Notify.objects.filter(notify_to=member_add_request,status='new')) new_mail_type = len(Message.objects.filter(member_receive=member_add_request,status='new')) # Add and update streams friend_activity_content1 = get_stream_content('befriend','friends_content',{'member1':member_receive_request,'member2':member_add_request}) user_activity_content1 = get_stream_content('befriend','user_content',{'member1':member_receive_request,'member2':member_add_request}) list_friends_username1 = Friendship.objects.friends_of(member_receive_request.user).values_list('username', flat=True) friend_activity_content2 = get_stream_content('befriend','friends_content',{'member1':member_add_request,'member2':member_receive_request}) user_activity_content2 = get_stream_content('befriend','user_content',{'member1':member_add_request,'member2':member_receive_request}) list_friends_username2 = Friendship.objects.friends_of(member_add_request.user).values_list('username', flat=True) user_exclude = '' common_friend_username = get_duplicate_object(list(list_friends_username1)+list(list_friends_username2)) if len(common_friend_username) > 0: user_exclude=str(common_friend_username) user_streams.add_stream_item(member_receive_request.user, friend_activity_content1, user_activity_content1) user_streams.add_stream_item(member_add_request.user, friend_activity_content2, user_activity_content2, user_exclude) buzz = simplejson.dumps({'new_notify': new_buzz_type+new_mail_type,'new_buzz_type':new_buzz_type,'new_mail_type':new_mail_type, 'username': member_add_request.user.username, 'new_friend_activity1': friend_activity_content1, 'new_friend_activity2': friend_activity_content2, 'list_friends_username1': list(list_friends_username1), 'list_friends_username2': list(list_friends_username2) }) conn.send(buzz,destination='/update') return simplejson.dumps({'username':username,'firstname': member_add_request.user.first_name,'lastname': member_add_request.user.last_name,'reload': "False"}) else: return simplejson.dumps({'reload': "True"})
def update_streams(request): if request.session['allow_upload_stream']: if len( Photo.objects.filter( photo_type=request.session['photo_type'], object_id=request.session['object_id'])) > int( request.session['num_photo']): member_login = get_member_login_object(request) friend_activity_content, user_activity_content = '', '' if request.session['photo_type'] == 'activity': activity = Activity.objects.get( pk=request.session['object_id']) friend_activity_content = get_stream_content( 'upload_activity_photo', 'friends_content', { 'member_login': member_login, 'activity': activity }) user_activity_content = get_stream_content( 'upload_activity_photo', 'user_content', { 'member_login': member_login, 'activity': activity }) else: location = Location.objects.get( pk=request.session['object_id']) friend_activity_content = get_stream_content( 'upload_location_photo', 'friends_content', { 'member_login': member_login, 'location': location }) user_activity_content = get_stream_content( 'upload_location_photo', 'user_content', { 'member_login': member_login, 'location': location }) list_friends_username = Friendship.objects.friends_of( member_login.user).values_list('username', flat=True) user_streams.add_stream_item(member_login.user, friend_activity_content, user_activity_content) buzz = simplejson.dumps({ 'new_friend_activity': friend_activity_content, 'list_friends_username': list(list_friends_username) }) conn.send(buzz, destination='/update') request.session['allow_upload_stream'] = False return simplejson.dumps({})
def add_comment(request, location_id, comment_content): member_login = get_member_login_object(request) location = Location.objects.get(pk=location_id) now = datetime.datetime.now() new_comment = Comment.objects.create(comment_type='location', object_id=location_id, content=comment_content, member=member_login, created_date=now) new_comment.save() result = {} result['comment_id'] = new_comment.pk result['member'] = { 'username': member_login.user.username, 'first_name': member_login.user.first_name, 'last_name': member_login.user.last_name, 'avatar': member_login.avatar.url } result['content'] = new_comment.content_html result['date'] = new_comment.created_elapse_time #if request.session['allow_comment_stream']: friend_activity_content = get_stream_content( 'add_location_comment', 'friends_content', { 'member_login': member_login, 'location': location, 'comment': new_comment, 'comment_content': set_fixed_string(new_comment.content, 30) }) user_activity_content = get_stream_content( 'add_location_comment', 'user_content', { 'member_login': member_login, 'location': location }) list_friends_username = Friendship.objects.friends_of( member_login.user).values_list('username', flat=True) user_streams.add_stream_item(member_login.user, friend_activity_content, user_activity_content) buzz = simplejson.dumps({ 'new_friend_activity': friend_activity_content, 'list_friends_username': list(list_friends_username) }) conn.send(buzz, destination='/update') #request.session['allow_comment_stream'] = False return simplejson.dumps(result)
def add_comment(request,activity_id,comment_content): member_login = get_member_login_object(request) activity = Activity.objects.get(pk=activity_id) now = datetime.datetime.now() new_comment = Comment.objects.create(comment_type='activity',object_id=activity_id,content=comment_content,member=member_login,created_date=now) new_comment.save() result = {} result['comment_id'] = new_comment.pk result['member'] = {'username': member_login.user.username,'first_name':member_login.user.first_name, 'last_name': member_login.user.last_name,'avatar': member_login.avatar.url} result['content'] = new_comment.content_html result['date'] = new_comment.created_elapse_time #if request.session['allow_comment_stream']: friend_activity_content = get_stream_content('add_activity_comment','friends_content',{'member_login':member_login,'activity':activity, 'comment': new_comment, 'comment_content':set_fixed_string(new_comment.content,30)}) user_activity_content = get_stream_content('add_activity_comment','user_content',{'member_login':member_login,'activity':activity}) list_friends_username = Friendship.objects.friends_of(member_login.user).values_list('username', flat=True) user_streams.add_stream_item(member_login.user, friend_activity_content, user_activity_content) buzz = simplejson.dumps({'new_friend_activity': friend_activity_content, 'list_friends_username': list(list_friends_username) }) conn.send(buzz,destination='/update') #request.session['allow_comment_stream'] = False return simplejson.dumps(result)