예제 #1
0
파일: views.py 프로젝트: jjchen/cos333
def addgroup(request):
	if request.user.username == "":
		return HttpResponse('Please sign in!', status=401)
	if request.method == 'POST':
		form = AddgroupForm(request.POST) # A form bound to the POST data
		if form.is_valid():
			try: 
				old_group = MyGroup.objects.get(name=form.cleaned_data['group_name'])
				for name in form.cleaned_data['member_names']:
					user = MyUser.objects.get(username = name)
					old_group.users.add(user)
				old_group.save()
				return HttpResponseRedirect('/frontend/personal')				
			except ObjectDoesNotExist:
				this_user = MyUser.objects.get(username = 
							       request.user.username)
				new_group = MyGroup()
				new_group.creator = this_user.username
				new_group.name = form.cleaned_data['group_name']
				new_group.save()
				for name in form.cleaned_data['member_names']:
					user = MyUser.objects.get(username = name)
					new_group.users.add(user)
				new_group.users.add(this_user)
				new_group.save()
				return HttpResponseRedirect('/frontend/personal')
		else:
			print "not valid"
	return HttpResponseRedirect('/frontend/personal')
예제 #2
0
파일: facebook.py 프로젝트: jjchen/cos333
def importgroup(request, group, **kwargs):
    #import a group from Facebook
    def create_ret_user(user_info):
        #if user doesn't exist, create it. Return None if Facebook is
       	#missing information on them; otherwise, return MyUser object
        try:
            result = MyUser.objects.filter(
                username = user_info['username'])
            if len(result) != 0:
                assert(len(result) == 1)
                return result[0]
            new_user = MyUser(username = user_info['username'],
                              first_name = user_info['first_name'],
                              last_name = user_info['last_name'])
        except KeyError:
            return None
        new_user.save()
        return new_user
    if request.user.username == "":
        return HttpResponse('Please sign in!', status=401)
    this_user = MyUser.objects.get(username = request.user.username)	

    token = kwargs['access_token']
    graph = kwargs['graph']

    group_info = graph.get("/" + str(group))
    #check if this group already exists
    db_groups = MyGroup.objects.filter(creator=request.user.username,
                                       name=group_info['name'])
    if len(db_groups) != 0:
        return HttpResponse("Group already exists!", status=401)

    #save group, except for member info
    new_group = MyGroup()
    new_group.name = group_info['name']
    new_group.creator = request.user.username
    new_group.save()
    
    #save member info
    members = graph.get("/" + str(group) + "/members").get('data')
    for member in members:
        fb_user = graph.get("/" + member['id'])
        our_user = create_ret_user(fb_user) #MyUser object
        if our_user != None:
            new_group.users.add(our_user)
    new_group.save()
    return HttpResponseRedirect('/frontend/personal')