Exemple #1
0
def update_profile(request):
    user = request.user
    name = request.GET['name']
    phone = request.GET['phone']
    student_number = request.GET['student_number']
    building_id = request.GET['building']
    building = Building.objects.get(id=building_id)
    gender = request.GET['gender']

    user_profile = get_profile_of_user(user)
    if not user_profile:
        user_profile = UserProfile()
        user_profile.user = user
    user_profile.name = name
    user_profile.phone_number = phone
    user_profile.building = building
    user_profile.gender = gender
    user_profile.number = student_number

    if validate_user_profile(user_profile):
        user_profile.save()
        return HttpResponseRedirect('/dashboard')
    else:
        # TODO: show error message here
        return HttpResponseRedirect('/dashboard')
Exemple #2
0
def perform_user_register(request):
    uf = UserRegForm(request.POST)
    if uf.is_valid():
        email = uf.cleaned_data['email']
        name = uf.cleaned_data['name']
        password = uf.cleaned_data['password']
        phone_number = uf.cleaned_data['phone_number']
        building_id = int(uf.cleaned_data['building'])
        building = get_building_with_id(building_id)
        if building is None:
            return show_success('请选择所在寝室先', 'register', RequestContext(request))
        if check_user_exists(email):
            return show_success('不好意思,这个账户好像已经有人注册过了', 'register', RequestContext(request))
        user = User()
        user_profile = UserProfile()  # Other data for user
        user.username = email
        user.email = email
        user.set_password(password)
        user.save()
        user_profile.user = user
        user_profile.name = name
        user_profile.phone_number = phone_number
        user_profile.building = building
        user_profile.gender = 1
        user_profile.save()
        return HttpResponseRedirect('login')
    else:
        context = RequestContext(request)
        return render_to_response('register.html', context)
Exemple #3
0
def perform_user_register(request):
    err = ''
    uf = UserRegForm(request.POST)
    if uf.is_valid():
        email = uf.cleaned_data['email']
        name = uf.cleaned_data['name']
        password = uf.cleaned_data['password']
        phone_number = uf.cleaned_data['phone_number']
        building_id = int(uf.cleaned_data['building'])
        building = Building.objects.get(id=building_id)
        check_exist = User.objects.filter(email=email)
        if check_exist:
            err = 'exist'
        user = User()
        user_profile = UserProfile()  # Other data for user
        user.email = email
        user.name = name
        user.set_password(password)
        user.save()
        user_profile.user = user
        user_profile.phone_number = phone_number
        user_profile.building = building
        user_profile.save()
        return HttpResponseRedirect('login')
    else:
        context = RequestContext(request)
        return render_to_response('register.html', context)
Exemple #4
0
def CreateProfile(sender, request, user,**kwargs):
    """
    This function catches the signal for social login or social account add and check for the User profile object: if exist then do nothing,
    if not then create it and set the gender field.
    """
    try:
        
        profile = UserProfile.objects.get(user = user)
        print "LOGS: User profile exist do nothing"
    except UserProfile.DoesNotExist:
        print "LOGS: User profile does not exist"
  
        profile = UserProfile()
        profile.user = user
        try:
            sociallogin = SocialAccount.objects.get(user=user)
            print "LOGS: Caught the signal--> Printing extra data of the acccount: \n", sociallogin.extra_data
            if('google' == sociallogin.provider ):
                user.first_name = sociallogin.extra_data['given_name']
                user.last_name = sociallogin.extra_data['family_name']
                user.save()
            elif ('facebook' == sociallogin.provider ):
                user.first_name = sociallogin.extra_data['first_name']
                user.last_name = sociallogin.extra_data['last_name']
                user.save()
            profile.gender = sociallogin.extra_data['gender']
        except:
            print "LOGS: Gender does not exist in social account"
        profile.save()
Exemple #5
0
def update_profile(request):
    user = request.user
    name = request.GET['name']
    phone = request.GET['phone']
    student_number = request.GET['student_number']
    building_id = request.GET['building']
    building = get_building_with_id(building_id)
    if building is None:
        return show_success('好像有什么东西没输入', '/dashboard', RequestContext(request))
    gender = request.GET['gender']

    user_profile = get_profile_of_user(user)
    if not user_profile:
        user_profile = UserProfile()
        user_profile.user = user
    user_profile.name = name
    user_profile.phone_number = phone
    user_profile.building = building
    user_profile.gender = gender
    user_profile.number = student_number

    if validate_user_profile(user_profile):
        user_profile.save()
        return show_success('你的信息已经保存啦', '/dashboard', RequestContext(request))
    else:
        # TODO: show error message here
        return HttpResponseRedirect('/dashboard')
def CreateProfile(sender, request, user,**kwargs):
    """
    This function catches the signal for social login or social account add and check for the User profile object: if exist then do nothing,
    if not then create it and set the gender field.
    """
    try:
        
        profile = UserProfile.objects.get(user = user)
        print "LOGS: User profile exist do nothing"
    except UserProfile.DoesNotExist:
        print "LOGS: User profile does not exist"
  
        profile = UserProfile()
        profile.user = user
        try:
            sociallogin = SocialAccount.objects.get(user=user)
            print "LOGS: Caught the signal--> Printing extra data of the account: \n", sociallogin.extra_data
            if('google' == sociallogin.provider ):
                user.first_name = sociallogin.extra_data['given_name']
                user.last_name = sociallogin.extra_data['family_name']
                user.save()
            elif ('facebook' == sociallogin.provider ):
                user.first_name = sociallogin.extra_data['first_name']
                user.last_name = sociallogin.extra_data['last_name']
                user.save()
            profile.gender = sociallogin.extra_data['gender']
        except:
            print "LOGS: Gender does not exist in social account"
        profile.save()
        # add user to Author Group
        g = Group.objects.get(name='Author')
        g.user_set.add(user) 
def CreateProfile(sender, request, user, **kwargs):
    """
    This function catches the signal for social login or social account add and check for the User profile object: if exist then do nothing,
    if not then create it and set the gender field.
    """
    try:

        profile = UserProfile.objects.get(user=user)
        print("LOGS: User profile exist do nothing")
    except UserProfile.DoesNotExist:
        print("LOGS: User profile does not exist")

        profile = UserProfile()
        profile.user = user
        try:
            sociallogin = SocialAccount.objects.get(user=user)
            print(
                "LOGS: Caught the signal--> Printing extra data of the account: \n",
                sociallogin.extra_data)
            if ('google' == sociallogin.provider):
                user.first_name = sociallogin.extra_data.get('given_name', '')
                user.last_name = sociallogin.extra_data.get('family_name', '')
                user.save()
            elif ('facebook' == sociallogin.provider):
                user.first_name = sociallogin.extra_data.get('first_name', '')
                user.last_name = sociallogin.extra_data.get('last_name', '')
                user.save()
            profile.gender = sociallogin.extra_data.get('gender', None)
        except:
            print("LOGS: Gender does not exist in social account")
        profile.save()
        # add user to Author Group
        # during first login of a fresh setup when there is nothing
        # in the database the try to get a group Author and create one if not found
        try:
            g = Group.objects.get(name='Author')
            g.user_set.add(user)
        except Group.DoesNotExist:
            g = Group.objects.create(name='Author')
            g.user_set.add(user)
        generate_event.send(
            sender=user.__class__,
            event_label="user_signed_up",
            user=user,
            source_content_type=ContentType.objects.get_for_model(user),
            source_object_id=user.pk)
Exemple #8
0
def CreateProfile(sender, request, user,**kwargs):
    '''
    This function catches the signal for social login or social account add, 
    and check for the User profile object: if exist then do nothing,
    if not then create it and set the gender field.
    '''
    try:        
        profile = UserProfile.objects.get(user=user)
    except UserProfile.DoesNotExist:
        print "DBG:: User profile does not exist, create a new one"
  
        profile = UserProfile()
        profile.user = user
        
        # Add `user` to default User Group
        try:
            group = Group.objects.get(name=USER_GROUP_DEFAULT)
        except Group.DoesNotExist:
            group = Group.objects.create(name=USER_GROUP_DEFAULT)
        user.groups.add(group)
        
        try:
            sociallogin = SocialAccount.objects.get(user=user)
            if('google' == sociallogin.provider ):
                user.first_name = sociallogin.extra_data['given_name']
                user.last_name = sociallogin.extra_data['family_name']
                user.save()
            elif ('facebook' == sociallogin.provider ):
                user.first_name = sociallogin.extra_data['first_name']
                user.last_name = sociallogin.extra_data['last_name']
                user.save()
            try:                
                profile.gender = sociallogin.extra_data['gender']
            except:
                print "DBG:: Gender does not exist in social account"
                profile.gender = GENDER_UNSPECIFIED
                
        except:
            print ("Error:: Unexpected error:", sys.exc_info()[0])
            for frame in traceback.extract_tb(sys.exc_info()[2]):
                fname,lineno,fn,text = frame
                print ("DBG:: Error in %s on line %d" % (fname, lineno))            
            
        profile.save()
Exemple #9
0
def CreateProfile(sender, request, user, **kwargs):
    '''
    This function catches the signal for social login or social account add, 
    and check for the User profile object: if exist then do nothing,
    if not then create it and set the gender field.
    '''
    try:
        profile = UserProfile.objects.get(user=user)
    except UserProfile.DoesNotExist:
        print "DBG:: User profile does not exist, create a new one"

        profile = UserProfile()
        profile.user = user

        # Add `user` to default User Group
        try:
            group = Group.objects.get(name=USER_GROUP_DEFAULT)
        except Group.DoesNotExist:
            group = Group.objects.create(name=USER_GROUP_DEFAULT)
        user.groups.add(group)

        try:
            sociallogin = SocialAccount.objects.get(user=user)
            if ('google' == sociallogin.provider):
                user.first_name = sociallogin.extra_data['given_name']
                user.last_name = sociallogin.extra_data['family_name']
                user.save()
            elif ('facebook' == sociallogin.provider):
                user.first_name = sociallogin.extra_data['first_name']
                user.last_name = sociallogin.extra_data['last_name']
                user.save()
            try:
                profile.gender = sociallogin.extra_data['gender']
            except:
                print "DBG:: Gender does not exist in social account"
                profile.gender = GENDER_UNSPECIFIED

        except:
            print("Error:: Unexpected error:", sys.exc_info()[0])
            for frame in traceback.extract_tb(sys.exc_info()[2]):
                fname, lineno, fn, text = frame
                print("DBG:: Error in %s on line %d" % (fname, lineno))

        profile.save()