Exemple #1
0
    def post(self, request):
        username = request.POST.get('username', '')
        name = request.POST.get('name', '')
        phone = request.POST.get('phone', '')
        email = request.POST.get('email', '')

        try:
            user = UserProfile()
            user.username = username
            user.name = name
            user.email = email
            user.phone = phone
            user.password = make_password("12345678")
            user.is_active = True
            user.save()

            # 创建gitlab账户
            user = gl.users.create({
                'username': username,
                'password': "******",
                'email': email,
                'name': name
            })

            ret = {
                'code': 0,
                'result': '添加用户 {0} 成功,用户名密码已经发送到 {1} 邮箱!'.format(name, email)
            }

        except:
            logger.error("create user  error: %s" % traceback.format_exc())
            ret = {'code': 1, 'errmsg': '添加用户失败'}
        return JsonResponse(ret, safe=True)
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) 
Exemple #3
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 #4
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')
Exemple #5
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 #6
0
    def post(self, request):
        form = UserForm(request.POST)
        if form.is_valid():
            user_pass = self.random_str()

            try:
                uname = request.POST.get("username", "")
                uname_cn = request.POST.get("name_cn", "")
                uemail = request.POST.get("email", "")
                send_mail(
                    "平台通知", "欢迎加入OPS平台。\r以下是你的账号信息:\r用户名:" + uname + "\r密码: " +
                    user_pass + "\r平台地址:  http://ops.yktour.com.cn:8000/\r",
                    settings.EMAIL_FROM, [
                        uemail,
                    ])
                user = UserProfile()
                user.username = uname
                user.name_cn = uname_cn
                user.email = uemail
                user.phone = request.POST.get("phone", "")
                user.set_password(user_pass)
                #send_mail("平台通知","欢迎加入OPS平台。\r以下是你的账号信息:\r用户名:"+uname+"\r密码: "+user_pass +"\r平台地址: %s http://ops.yktour.com.cn:8000/\r", "*****@*****.**",[uemail,])
                #send_register_email(email_title="平台通知", email_body="欢迎加入OPS平台。\r以下是你的账号信息:\r用户名: %s\r密码: %s\r平台地址: %s http://ops.yktour.com.cn:8000/\r"%(uname,user_pass), email_to=user.email)
                user.save()
                gl.users.create({
                    "username": uname,
                    "password": user_pass,
                    "email": uemail,
                    "name": uname_cn
                })
                ret = {
                    "code": 0,
                    "result": "添加用户成功",
                    "next_url": self.next_url
                }
            except Exception as e:
                ret = {"code": 2, "errmsg": "添加失败", "next_url": self.next_url}
        else:
            ret = {
                "code": 1,
                "errmsg": "添加用户失败%s" % form.errors,
                "next_url": self.next_url
            }
        #return render(request,settings.JUMP_PAGE,ret)
        return JsonResponse(ret, safe=True)
Exemple #7
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 #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)
        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 #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()
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 #11
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()