Exemplo n.º 1
0
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
    })
Exemplo n.º 2
0
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"})
Exemplo n.º 3
0
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({})
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)