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 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')
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)
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)
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 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)
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)
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) 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()