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)
Exemple #2
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()
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 #4
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 #5
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()