예제 #1
0
파일: views.py 프로젝트: akki91/medstart
def register_merchant(request):
    title = "signup for business | medstart"
    if request.method == "GET":
        return render(request, "login/signup1.html")
    else:
        merchant = request.POST["merchant"]
        email = request.POST["email"]
        mobile = request.POST["mobile"]
        password = request.POST["password"]
        u = User()
        try:
            if User.objects.filter(email=email):
                response_data = {"Error": "User with this email Already Exists"}
                return HttpResponse(json.dumps(response_data), content_type="application/json")
            elif User.objects.filter(mobile=mobile):
                response_data = {"Error": "User with this mobile Already Exists"}
                return HttpResponse(json.dumps(response_data), content_type="application/json")
            else:
                u = User.objects.create(email=email, mobile=mobile, user_type="MER", terms=True)
                group = Group.objects.get(name="merchant")
                u.set_password(password)
                u.save()
                m = Merchant.objects.create(mer_name=merchant, merchant_type="LIC")
                m.save()
                man = Managers.objects.create(user=u, merchant=m)
                man.save()
                group.user_set.add(u)
                u = authenticate(username=email, password=password)
                u.backend = "django.contrib.auth.backends.ModelBackend"
                login(request, u)
                return HttpResponseRedirect(reverse("index"))
        except Exception, e:
            print e
            return render(request, "login/signup.html")
예제 #2
0
파일: views.py 프로젝트: Shuriken13/SOASina
def index(request):
    code = request.GET.get('code', '')
    if code == '':
        return HttpResponseRedirect('/login/')
    user = User.objects.filter(code=code)
    client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET,
                       redirect_uri=CALLBACK_URL)
    if user.count() != 0:
        user = user[0]
    else:
        r = client.request_access_token(code)
        dbuser = User.objects.filter(uid=r.uid)
        if dbuser.count() == 0:
            user = User(uid=r.uid, access_token=r.access_token,
                        expires_in=r.expires_in, code=code)
            user.save()
        else:
            user = dbuser[0]
            user.code, user.access_token, user.expires_in, = code, r.access_token, r.expires_in
            user.save()

    access_token = user.access_token  # 新浪返回的token,类似abc123xyz456
    # token过期的UNIX时间:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
    expires_in = user.expires_in
    client.set_access_token(access_token, expires_in)
    print "login:", user.uid, access_token, expires_in
    # print client.statuses.user_timeline.get()
    # print client.statuses.update.post(status=u'测试OAuth 2.0发微博')
    # print client.statuses.upload.post(status=u'测试OAuth 2.0带图片发微博',
    # pic=open('/Users/michael/test.png'))
    template = loader.get_template('main/index.html')
    # screen_name = client.users.show.get(uid=user.uid)['screen_name']
    screen_name = user.uid
    return HttpResponse(template.render({'screen_name':screen_name}))
예제 #3
0
파일: views.py 프로젝트: akki91/medstart
def register_customer(request):
    title = "signup|medstart"
    user = request.user
    if request.method == "GET":
        return render(request, "login/signup.html")
    else:
        email = request.POST["email"]
        mobile = request.POST["mobile"]
        password = request.POST["password"]
        u = User()
        try:
            if User.objects.filter(email=email):
                response_data = {"Error": "User with this email Already Exists"}
                return HttpResponse(json.dumps(response_data), content_type="application/json")
            elif User.objects.filter(mobile=mobile):
                response_data = {"Error": "User with this mobile Already Exists"}
                return HttpResponse(json.dumps(response_data), content_type="application/json")
            else:
                u = User.objects.create(email=email, mobile=mobile, user_type="CST", terms=True)
                group = Group.objects.get(name="customer")
                u.set_password(password)
                u.save()
                c = Customer.objects.create(user=u, source=u, first_name="", last_name="")
                c.save()
                group.user_set.add(u)
                u = authenticate(username=email, password=password)
                u.backend = "django.contrib.auth.backends.ModelBackend"
                login(request, u)
                return HttpResponseRedirect(reverse("index"))
        except Exception, e:
            print e
            return render(request, "login/signup.html")
예제 #4
0
def create_userprofile_with_github_user_info(request):

    headers = {'Authorization': '{} {}'.format(request.session.get('token_type'), request.session.get('access_token'))}
    json_response = requests.get('https://api.github.com/user', headers=headers).json()
    
    github_id = extract_from(json_response, "id")
    name = extract_from(json_response, "name")
    avatar_url = extract_from(json_response, "avatar_url")
    email = extract_from(json_response, "email")

    print("github id {} - name {} - avatar_url {} - email {}".format(github_id, name, avatar_url, email))
    
    try:
        new_user = User() 
        new_user.authentication_id = github_id
        new_user.name = name
        new_user.email = email
        new_user.save()

        new_profile = Profile()
        new_profile.user_id = new_user.id
        new_profile.avatar_url = avatar_url

        new_profile.User = new_user
        new_profile.save()
        request.session['username'] = name

        content = {'githubapi.profile_creation': 'User created and Profille authomatic filled with user Github public information'}
        return Response(content, status=status.HTTP_201_CREATED)
    except:
        content = {'githubapi.profile_creation': 'something went bad'}
        return Response(content, status=status.HTTP_409_CONFLICT)
예제 #5
0
파일: views.py 프로젝트: nmaravante/ERP
def addTeacher(request):
    if request.method == "POST":
        if User.objects.filter(username=request.POST['name']).exists():
            context = {'info': "Username already Exist"}
            return render(request, 'teacher/add_teacher.html', context)
        else:
            user = User()
            user.username = request.POST['name']
            user.email = request.POST['email']
            user.set_password(request.POST['password'])
            user.save()
            teacher = Teacher()
            teacher.user = user
            teacher.dept_id = request.POST['class']
            teacher.set_password(request.POST['password'])
            teacher.t_USN = request.POST['t_USN']
            teacher.name = request.POST['name']
            teacher.email = request.POST['email']
            teacher.sex = request.POST['sex']
            teacher.DOB = request.POST['DOB']
            teacher.phone = request.POST['phone']
            teacher.save()
            context = {
                'class_s': Dept.objects.all(),
                'success': "Teacher Added Successfully"
            }
            return render(request, 'teacher/add_teacher.html', context)
    dept = Dept.objects.all()
    context = {'department': dept}
    return render(request, 'teacher/add_teacher.html', context)
예제 #6
0
파일: views.py 프로젝트: Cysion/Secproject1
def ShowcaseView(request):
    try:
        # Först testar jag att skapa 2 användare och lägga in dem i tabellen
        user1 = User(
            Gender='Male',
            FirstName='Kevin',
            LastName='Engström',
            DateOfBirth=datetime.date.today(),
            Email='*****@*****.**',
            Pubkey='asd',
        )
        user1.save()

        user2 = User(
            Gender='Female',
            FirstName='Lisa',
            LastName='Svensson',
            DateOfBirth=datetime.date.today(),
            Email='*****@*****.**',
            Pubkey='fgh',
        )
        user2.save()
    except Exception as e:
        pass

    # En enkel sökning där jag vill ta fram alla som heter lisa. Och jag vill bara ha attributen id, förnamn och födelsedag
    result = User.objects.filter(FirstName='Lisa').values(
        'UserId', 'FirstName', 'DateOfBirth'
    )

    # För att skicka in variabler till templaten så ska en dict skickas med variablerna.
    context = {'result': result[0]}

    return render(request, 'home/showcase.html', {})
예제 #7
0
def add_user(username, password, email, sex):
    same_name_user = User.objects.filter(name=username)
    if same_name_user:
        message = '用户名已存在'
        return None
    same_email_user = User.objects.filter(email=email)
    if same_email_user:
        message = '该邮箱已经被注册了!'
        return None

    new_user = User()
    new_user.name = username
    new_user.password = hash_code(password)
    new_user.email = email
    new_user.sex = sex
    new_user.has_confirmed = True  #直接跳过邮件确认
    new_user.save()

    new_userprofile = UserProfile()
    new_userprofile.user = new_user
    new_userprofile.save()
    new_userprofile.follow_list.add(new_userprofile)
    new_userprofile.save()

    return
예제 #8
0
def register(request):
    if request.method  == "POST":
        # form = UserForm(request.POST)
        # if form.is_valid():
        #     try:
        #         form.save()
        #         return redirect()
        #     except:
        #         pass
        try:
            uname = request.POST.get("uname")
            email = request.POST.get("email")
            passwd = request.POST.get("passwd")
            com_passwd = request.POST.get("com_passwd")
            user = User()
            if passwd!=com_passwd:
                raise Exception
            else:
                user.uname = uname
                user.passwd = passwd
                user.email = email
                user.save()
        except:
            return redirect("/register")
        else:
            return HttpResponse("data entered!")

    return render(request,'register.html',{})
예제 #9
0
def register(request):
    username = request.POST.get('username')
    password = request.POST.get('password')
    captcha = request.POST.get('captcha')

    # 如果有其中一个参数没有传递则返回错误
    if not ([username, password, captcha]):
        return JsonResponse({
            "status": status_code.PARAMS_NOT_COMPLETE,
            "errmsg": "参数不全"
        })
    if not re.match("^[1][34578][0-9]{9}$", username):
        # 不是手机号码,返回错误
        return JsonResponse({
            "status": status_code.PARAMS_IS_INVALID,
            "errmsg": "手机号码错误"
        })
    # 判断手机号是否已经注册过
    user = User.objects.filter(username=username)
    if user:
        return JsonResponse({
            "status": status_code.USER_HAS_EXIST,
            "errmsg": "该手机号已注册"
        })
    if not re.match("[a-zA-Z0-9]{8,16}", password):
        # 不是手机号码,返回错误
        return JsonResponse({
            "status": status_code.PARAMS_TYPE_ERROR,
            "errmsg": "密码格式错误"
        })
    # 判断验证码是否正确,1.验证码过期 2.验证码错误
    sms_code = settings.REDIS_CLIENT.get(username)
    if not sms_code:
        # 获取不到数据表示验证码过期
        return JsonResponse({
            "status": status_code.SMS_SERVER_NOT_CAPTCHA,
            "errmsg": "验证码已过期"
        })
    if captcha != sms_code.decode("utf-8"):
        return JsonResponse({
            "status": status_code.SMS_SERVER_NOT_CAPTCHA,
            "errmsg": "验证码错误"
        })

    # 密码加密
    sha = hashlib.sha1()
    sha.update(password.encode("utf-8"))
    sha_pwd = sha.hexdigest()

    # 全部参数都正确之后保存到数据库完成注册,需要使用到模型类
    try:
        user = User(username=username, password=sha_pwd)
        user.save()
    except Exception as e:
        return JsonResponse({
            "status": status_code.USER_REGISTER_ERROR,
            "errmsg": "验证码错误"
        })
    return JsonResponse({"status": status_code.SUCCESS, "errmsg": "注册成功"})
예제 #10
0
def signup(request):
    if request.POST:
        email = request.POST.get('email')
        username = request.POST.get('username')
        password = request.POST.get('password')
        u = User(username=username, email=email, password=password)
        u.save()
        return render_to_response('login/login.html')
    else:
        return render_to_response()
예제 #11
0
    def test_can_create_user(self):
        userCount = User.objects.all().count()

        # create user
        anotherUser = User()
        anotherUser.name = "new user"
        anotherUser.username = "******"
        anotherUser.password = "******"
        anotherUser.save()  # save user
        newCount = User.objects.all().count()

        self.assertEquals(userCount + 1, newCount)
예제 #12
0
def logoutUser(req): 
	un = req.GET['un']
	
	try:
		q=User.objects.raw('SELECT * from login_user where username = "******"')[0].name
		p=User.objects.raw('SELECT * from login_user where username = "******"')[0].password
		
	except:
		return JsonResponse({"Error":"UserNotFound"})
	w=User(username=un,password=p,name=q,auth12='NA')
	w.save()
	return JsonResponse({"Success":"Logout Successfull"})
예제 #13
0
def create(request):
    request_json = json.loads(request.body);
    username = request_json['username']
    passw = request_json['passw']
    try:
        user = User.objects.get(username__exact=str(username))
        return JsonResponse({'success':False})
    except :
        new_user = User(username=username, passw=passw)
        new_user.save()
        return JsonResponse({'success':True})

    return 0
예제 #14
0
def createUser(req):
	un = req.GET['un']
	p = req.GET['p']
	n=req.GET['n']
	
	try:
		z=User.objects.raw('SELECT * from login_user where username = "******"')[0].name

	except:
		q=User(username=un,password=p,name=n,auth12="aa")
		q.save()
		return JsonResponse({"Status":"Success"})
	return JsonResponse({"Status":"Fail"})
예제 #15
0
def createacc(request):
    if request.method == 'POST':
        email = request.POST['email']
        contact = request.POST['contact']
        uname = request.POST['uname']
        password = request.POST['password']
        #print(email,contact,uname,password)
        ins = User(email=email,
                   contact=contact,
                   uname=uname,
                   password=password)
        ins.save()

    return render(request, 'createacc1.html')
예제 #16
0
def register(request):
    if request.method == 'POST':
        # Get the bound register form
        form = forms.RegisterForm(request.POST)
        # Validate the register form
        if form.is_valid():
            validate_new_password_response = validate_new_password(
                form.cleaned_data['user_password'],
                form.cleaned_data['user_password_again'])
            if not validate_new_password_response['successful']:
                return render(
                    request, 'login/register.html', {
                        'page_error':
                        'The passwords you entered do not match.  Please enter the same password twice.',
                        'form': form
                    })

            new_user = User(
                user_email=form.cleaned_data['user_email'],
                user_password=form.cleaned_data['user_password'],
                user_team_name=form.cleaned_data['user_team_name'],
                user_referring_email=form.cleaned_data['user_referring_email'])
            new_user.user_password = new_user.hash_password()
            try:
                new_user.full_clean()
            except ValidationError as e:
                return render(
                    request, 'login/register.html', {
                        'page_error':
                        'There was a problem during registration.  Try again.',
                        'form': form
                    })
            else:
                new_user.save()
                request.session['user_id'] = new_user.user_id
                return HttpResponseRedirect('/home/')
    else:
        form = forms.RegisterForm()

    registration_locked = False
    week_one = Week.objects.get(week_number=1)
    if week_one.picks_lock < timezone.now():
        registration_locked = True

    # Renders the register form if it's a new request
    return render(request, 'login/register.html', {
        'form': form,
        'registration_locked': registration_locked
    })
예제 #17
0
    def save(self):
        user = User(
            username=self.validated_data['username'],
            email=self.validated_data['email'],
        )
        password = self.validated_data['password']
        password2 = self.validated_data['password2']

        if password != password2:
            raise serializers.ValidationError(
                {'password': '******'})

        user.set_password(password)
        user.save()
        return user
예제 #18
0
def Userv(request):
    '''
    用户数据相关
    :param request:
    :return:
    '''
    context = {
        'from': {
            'name': None,
            'sex': None,
            'email': None,
            'c_time': None,
        }
    }
    user = User.objects.all()
    if not request.session.get('is_login', None):
        return redirect('/login/')
    context['user'] = user

    # 添加数据
    if request.POST:
        context['from']['name'] = request.POST['name']
        context['from']['sex'] = request.POST['sex']
        context['from']['email'] = request.POST['email']
        data = User()
        data.name = request.POST['name']
        if request.POST['sex'] == '男':
            data.sex = 'male'
        else:
            data.sex = 'female'
        data.email = request.POST['email']
        data.c_time = time.ctime
        data.has_confirmed = 1
        data.password = 123456
        data.save()
        # print("已保存", time.ctime, context['from'])
    # 删除数据
    if request.GET and request.GET['pid'] == 'delete':
        name = request.GET['name']
        # User.objects.filter(name=name).delete()
        print("删除成功", name)
    # 修改数据
    if request.GET and request.GET['pid'] == 'set':
        name = request.GET['name']
        pid = request.GET['pid']
        # User.objects.filter(name=name).delete()
        print("修改数据", name, pid)
    return render(request, 'data/User.html', context=context)
예제 #19
0
def signup(request):
	_username = request.POST['username']
	_firstname= request.POST['firstname']
	_lastname = request.POST['lastname']
	_password = request.POST['pwd']
	_gender	 = request.POST['gender']
	_email    = request.POST['email']
	_dob 	 = request.POST['dob']
	if(_username =='' or _firstname =='' or _password =='' or _gender =='' or _email =='' or  _dob ==''):
		errormessage="Please provide all Mandatory Fields"
		return render(request,"signup.html",{'errormessage':errormessage})
	else:
		a=User(username=_username,firstname=_firstname,lastname=_lastname,password=_password,gender=_gender,email=_email,dob=_dob)
		a.save()
		errormessage="Registered Succesfully Please Login!!!!"
		return render(request,"login.html",{'errormessage':errormessage})
def register(request):
    if 'username' in request.POST and 'password' in request.POST and 'email' in request.POST and 'gender' in request.POST and 'dob' in request.POST and 'image' in request.POST:
        u = request.POST['username']
        p = request.POST['password']
        e = request.POST['email']
        g = request.POST['gender']
        d = request.POST['dob']
        i = request.POST['image']
        user = User(username=u, email=e, password=p, gender=g, dob=d, image=i)
        h = request.POST.getlist('hobby[]')
        try: user.save()
        except IntegrityError: raise Http404('Username '+u+' already taken: Usernames must be unique')
        user.addHobbies(h)
        return render(request,'login/loggedIn.html')

    else:
        raise Http404('POST data missing')
예제 #21
0
def register(request):
	name = request.POST['name']
	print name
	IsExist = User.objects.filter(name__icontains=name)
	print IsExist
	password = md5(request.POST['password'])
	print password
	email = request.POST['email']
	if not IsExist:
		u = User(name = name, password = password, email = email)
		u.save()
		dumpResult = makeJSON(u, 'register', 1)
	else:
		dumpResult = makeJSON(None, 'register', 0)
	if 'callback' in request.GET:
		callback = request.GET['callback']
		dumpResult = '%s(%s)' % (callback,dumpResult)
	return HttpResponse(dumpResult)
예제 #22
0
def joinFacebook(request):
    if request.method == "POST":
        userName = request.POST.get('userName')
        userMail = request.POST.get('userMail')
        userAge = request.POST.get('userAge')
        userGender = request.POST.get('userGender')
        userRegion = request.POST.get('userRegion')
        userPhoneNumber = request.POST.get('userPhoneNumber')
        userAccessToken = request.POST.get('userAccessToken')
        user = User(name=userName,
                    mail=userMail,
                    age=userAge,
                    gender=userGender,
                    region=userRegion,
                    phonenumber=userPhoneNumber,
                    accesstoken_facebook=userAccessToken)
        user.save()
        return HttpResponse(json.dumps({'result': 'signup'}))
예제 #23
0
def reg_confirm_view(request,reg_id=0):
    if UserTicket.objects.filter(hash_code=reg_id,expired=False).exists():
        confirmed_ticket = UserTicket.objects.get(hash_code=reg_id,expired=False)
        new_user = User()
        if User.objects.filter(email=confirmed_ticket.email).exists():
            data = {
                "header": "Error!",
                "desc": "Email address "+new_user.email + " has been registered.",
                "action": "/login",
                "action_desc": "log in"
            }
            return render(request, "info.html", data)
        if User.objects.filter(name=confirmed_ticket.name).exists():
            data = {
                "header": "Error!",
                "desc": "User "+new_user.name + " has been registered.",
                "action": "/login",
                "action_desc": "log in"
            }
            return render(request, "info.html", data)
        if confirmed_ticket.has_expired():
            data = {
                "header": "Error!",
                "desc": "Link Expiered",
                "action": "/login",
                "action_desc": "log in"
            }
            confirmed_ticket.expired = True
            confirmed_ticket.save()
            return render(request, "info.html", data)
        confirmed_ticket.expired = True
        confirmed_ticket.save()
        new_user.name = confirmed_ticket.name
        new_user.email = confirmed_ticket.email
        new_user.passwd = confirmed_ticket.passwd
        new_user.save()
        data = {
            "header": "Success!",
            "desc": new_user.name+", You have confirmed your registration",
            "action": "/login",
            "action_desc": "log in"
        }
        return render(request, "info.html", data)
    return HttpResponse(str(reg_id))
예제 #24
0
파일: views.py 프로젝트: bennyl23/pigpicks
def register(request):
    if request.method == 'POST':
        # Get the bound register form
        form = forms.RegisterForm(request.POST)
        # Validate the register form
        if form.is_valid():
            validate_new_password_response = validate_new_password(form.cleaned_data['user_password'], form.cleaned_data['user_password_again'])
            if not validate_new_password_response['successful']:
                return render(request, 'login/register.html', {
                    'page_error': 'The passwords you entered do not match.  Please enter the same password twice.',
                    'form': form
                })

            new_user = User(
                user_email = form.cleaned_data['user_email'],
                user_password = form.cleaned_data['user_password'],
                user_team_name = form.cleaned_data['user_team_name'],
                user_referring_email = form.cleaned_data['user_referring_email']
            )
            new_user.user_password = new_user.hash_password()
            try:
                new_user.full_clean()
            except ValidationError as e:
                return render(request, 'login/register.html', {
                    'page_error': 'There was a problem during registration.  Try again.',
                    'form': form
                })
            else:
                new_user.save()
                request.session['user_id'] = new_user.user_id
                return HttpResponseRedirect('/home/')
    else:
        form = forms.RegisterForm()

    registration_locked = False
    week_one = Week.objects.get(week_number=1)
    if week_one.picks_lock < timezone.now():
        registration_locked = True

    # Renders the register form if it's a new request
    return render(request, 'login/register.html', {
        'form': form,
        'registration_locked': registration_locked
    })
예제 #25
0
def register(request):
    if request.session.get('is_login', None):
        # 登录状态不允许注册。你可以修改这条原则!
        return redirect("/")
    if request.method == "POST":
        register_form = RegisterForm(request.POST)
        message = "请检查填写的内容!"
        if register_form.is_valid():  # 获取数据
            username = register_form.cleaned_data['username']
            password1 = register_form.cleaned_data['password1']
            password2 = register_form.cleaned_data['password2']
            email = register_form.cleaned_data['email']
            sex = register_form.cleaned_data['sex']
            if password1 != password2:  # 判断两次密码是否相同
                message = "两次输入的密码不同!"
                return render(request, 'register.html', locals())
            else:
                password = make_password(password1, None, 'pbkdf2_sha1')
                same_name_user = User.objects.filter(name=username)
                if same_name_user:  # 用户名唯一
                    message = '用户已经存在,请重新选择用户名!'
                    return render(request, 'register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:  # 邮箱地址唯一
                    message = '该邮箱地址已被注册,请使用别的邮箱!'
                    return render(request, 'register.html', locals())

                # 当一切都OK的情况下,创建新用户

                new_user = User()
                new_user.name = username
                new_user.password = password
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_email(email, code)
                message = '请前往注册邮箱,进行邮件确认!'
                return render(request, 'confirm.html',
                              locals())  # 跳转到等待邮件确认页面。

    register_form = RegisterForm()
    return render(request, 'register.html', locals())
예제 #26
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')

    if request.method == 'POST':
        register_form = forms.RegisterForm(request.POST)
        message = '请检查填写内容!'
        if register_form.is_valid():
            username = register_form.cleaned_data.get('username')
            password1 = register_form.cleaned_data.get('password1')
            password2 = register_form.cleaned_data.get('password2')
            email = register_form.cleaned_data.get('email')
            sex = register_form.cleaned_data.get('sex')

            if password1 != password2:
                message = '两次输入密码不同!'
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                print(same_name_user)
                if same_name_user:
                    message = "用户已经存在"
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:
                    message = '该邮箱已经被注册!'
                    return render(request, 'login/register.html', locals())

                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                # new_user.password = password1
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_email(email, code)

                return redirect('/login/')
        else:
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
예제 #27
0
def register_page():
    json_req = request.get_json()
    username = json_req.get('username')
    email = json_req.get('email')
    password = json_req.get('password')

    user_to_create = User.get_by_email(email)

    if user_to_create is not None:
        return make_response({
            "message":
            f'El email {email} ya está siendo utilizado por otro usuario'
        })
    else:
        user_to_create = User(username=username, email=email)
        user_to_create.set_password(password)
        user_to_create.save()

    return make_response(jsonify({"message": "success"}), 200)
예제 #28
0
def register(request):
    if request.session.get('is_login', None):
        # 登录状态不允许注册。你可以修改这条原则!
        return redirect(reverse('user:index'))
    if request.method == "POST":
        register_form = RegisterForm(request.POST)
        message = "请检查填写的内容!"
        if register_form.is_valid():  # 获取数据
            username = register_form.cleaned_data['username']
            password1 = register_form.cleaned_data['password1']
            password2 = register_form.cleaned_data['password2']
            email = register_form.cleaned_data['email']
            sex = register_form.cleaned_data['sex']
            if password1 != password2:  # 判断两次密码是否相同
                message = "两次输入的密码不同!"
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                if same_name_user:  # 用户名唯一
                    message = '用户已经存在,请重新选择用户名!'
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:  # 邮箱地址唯一
                    message = '该邮箱地址已被注册,请使用别的邮箱!'
                    return render(request, 'login/register.html', locals())

                # 当一切都OK的情况下,创建新用户

                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = fonfirm_email_code(new_user)
                send_email(email, code)
                message = '请到你的邮箱中确认注册信息'
                return render(request, 'login/confirm.html', locals())

    register_form = RegisterForm()
    return render(request, 'login/register.html', locals())
예제 #29
0
def joinKakao(request):
    if request.method == "POST":
        userName = request.POST.get('userName')
        userMail = request.POST.get('userMail')
        userAge = request.POST.get('userAge')
        userGender = request.POST.get('userGender')
        userRegion = request.POST.get('userRegion')
        userPhoneNumber = request.POST.get('userPhoneNumber')
        userAccessToken = request.POST.get('userAccessToken')
        if User.objects.filter(mail=userMail).exists():
            return HttpResponse(json.dumps({'result': 'mail duplicated'}))
        user = User(name=userName,
                    mail=userMail,
                    age=userAge,
                    gender=userGender,
                    region=userRegion,
                    phonenumber=userPhoneNumber,
                    accesstoken_kakao=userAccessToken)
        user.save()
        return HttpResponse(json.dumps({'result': 'signup'}))
예제 #30
0
파일: views.py 프로젝트: ematifrea/login
    def form_valid(self, form):
        new_user = User(account_name=form.cleaned_data['account_name'],
                        full_name=form.cleaned_data['full_name'],
                        email=form.cleaned_data['email'],
                        password=encrypt_input(form.cleaned_data['password']),
                        last_login_date=timezone.now())
        new_user.save()
        salt, activation_key = encrypt_input(form.cleaned_data['account_name']).split('$')
        ac = UserActivation(user=new_user, activation_key=activation_key)
        ac.save()
        activation_url = self.request.get_host() + reverse('login:activate', args=(activation_key,))
        email = EmailMessage('Account activation',
                             'The activation url for your account %s is %s'
                             % (form.cleaned_data['account_name'], activation_url),
                             to=[form.cleaned_data['email']])
        email.send()
        self.request.session['account_name'] = form.cleaned_data['account_name']

        return render_to_response('confirm.html', {'new_user': new_user},
                                  context_instance=RequestContext(self.request))
예제 #31
0
파일: views.py 프로젝트: JohnnyDark/mysite
def register(request):
    if request.session.get('is_login', None):
        return redirect(reverse('login:index'))

    if request.method == 'POST':
        register_form = forms.RegisterForm(request.POST)
        message = '请检查填写的内容'
        if register_form.is_valid():
            username = register_form.cleaned_data.get('username')
            password1 = register_form.cleaned_data.get('password1')
            password2 = register_form.cleaned_data.get('password2')
            email = register_form.cleaned_data.get('email')
            sex = register_form.cleaned_data.get('sex')

            if password1 != password2:
                message = '两次密码不一致'
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                if same_name_user:
                    message = '用户名已存在'
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:
                    message = '该邮箱已经注册'
                    return render(request, 'login/register.html', locals())
                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()
                # return redirect('/login/')
                code = make_confirm_string(new_user)
                send_email(email, code)
                message = '请前往邮箱确认'
                return render(request, 'login/confirm.html', locals())
        else:
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
예제 #32
0
def joinItself(request):
    if request.method == "POST":
        userName = request.POST.get('userName')
        userMail = request.POST.get('userMail')
        userPwd = request.POST.get('userPwd')
        userAge = request.POST.get('userAge')
        userGender = request.POST.get('userGender')
        userRegion = request.POST.get('userRegion')
        userPhoneNumber = request.POST.get('userPhoneNumber')
        if User.objects.filter(mail=userMail).exists():
            return HttpResponse(json.dumps({'result': 'mail duplicated'}))
        else:
            user = User(name=userName,
                        mail=userMail,
                        password=userPwd,
                        age=userAge,
                        gender=userGender,
                        region=userRegion,
                        phonenumber=userPhoneNumber)
            user.save()
            return HttpResponse(json.dumps({'result': 'signup'}))
예제 #33
0
파일: views.py 프로젝트: jshen130/cs169
def add(request):
    if request.method == 'POST':
        user_field = request.POST.get('username')
        pass_field = request.POST.get('password')
        existing_user = User.objects.filter(username=user_field)
        existing_user = existing_user[0] if existing_user else None
        error = mvc.SUCCESS
        if user_field and len(user_field) < mvc.MAX_USERNAME_LENGTH:
            # username field non empty -> existing user or new user
            if request.POST.get('login') is not None: # user clicked login
                print "login"
                if existing_user and existing_user.password == pass_field: # correct user/pass pair
                    existing_user.counter += 1
                    existing_user.save()
                    print "update"
                else:
                    error = mvc.ERR_BAD_CREDENTIALS
                    print "wrong pass"
            elif request.POST.get('add') is not None: # user clicked add
                print "add"
                if existing_user:
                    error = mvc.ERR_USER_EXISTS
                    print "exists"
                elif len(pass_field) > mvc.MAX_PASSWORD_LENGTH:
                    error = mvc.ERR_BAD_PASSWORD
                    print "badpass"
                else:
                    existing_user = User(username=user_field, password=pass_field, counter=1)
                    print "new user!"
                    existing_user.save()
            else:
                print "huh"
        else:
            error = mvc.ERR_BAD_USERNAME
        print existing_user
        return render_to_response('login/add.html',
                                  {'user' : existing_user,
                                   'error': error,}, RequestContext(request))
    else:
        return HttpResponse("Not a POST response")
예제 #34
0
파일: views.py 프로젝트: LeechenLove/mysite
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')
    if request.method == 'POST':
        register_form = RegisterForm(request.POST)
        message = '请检查填写的内容'
        if register_form.is_valid():  #获取数据
            username = register_form.cleaned_data['username']
            password1 = register_form.cleaned_data['password1']
            password2 = register_form.cleaned_data['password2']
            email = register_form.cleaned_data['email']
            sex = register_form.cleaned_data['sex']
            if password1 != password2:  #判断两次密码是否相同
                message = "两次输入的密码不同"
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                if same_name_user:  #用户名唯一
                    message = '用户名已经存在,请重新选择用户名!'
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:  #邮箱唯一
                    message = '该邮箱地址已被注册,请使用别的邮箱!'
                    return render(request, 'login/register.html', locals())

                # 当一切都正常的情况下,创建新用户

                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_email(email, code)

                return redirect('/login/')
    register_form = RegisterForm()
    return render(request, 'login/register.html', locals())
예제 #35
0
def register(request):
    form = SignUpForm()
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            username = request.POST.get('username', '')
            email = request.POST.get('email', '')
            password = request.POST.get('password', '')
            cfmPassword = request.POST.get('cfmPassword', '')
            if password != cfmPassword:
                    return render(request, 'register.html', {'form': form, 'failed': 1})

            # print(username, email, password)
            try:
                User.objects.get(username = username)
                return render(request, 'register.html', {'form': form, 'failed':2})
            except User.DoesNotExist:
                addUser = User(username=username, email=email, password = password)
                addUser.save()
                return HttpResponse(render(request, 'accountCreated.html'))

    return render(request, 'register.html', {'form': form, 'failed': 0})
예제 #36
0
def loginUser(req): 
	un = req.GET['un']
	p = req.GET['p']
	a=''.join(random.choice(string.ascii_uppercase + string.digits+ string.ascii_lowercase) for _ in range(16))
	q="error"
	try:
		q=User.objects.raw('SELECT * from login_user where username = "******" and password = "******"')[0].name
		a=User.objects.raw('SELECT * from login_user where username = "******" and password = "******"')[0].auth12
	except:
		return JsonResponse({"Error":"UserNotFound"})
	trying=False	
	if len(a)<=5 :
		trying=True
	while(trying):
		a=''.join(random.choice(string.ascii_uppercase + string.digits+ string.ascii_lowercase) for _ in range(16))
		try:
			x=User.objects.raw('SELECT * from login_user where auth12 = "'+a+'"')[0].name
		except:
			trying = False
	w=User(username=un,password=p,name=q,auth12=a)
	w.save()
	return JsonResponse({"Authentication":a,"Name":q})
예제 #37
0
파일: views.py 프로젝트: SFSeiei/ddjango
def add_user(request):
    user1 = User(username="******", password="******", my_email="*****@*****.**")
    user2 = User(username="******", password="******", my_email="*****@*****.**")
    user3 = User(username="******", password="******", my_email="*****@*****.**")
    user1.save()
    user2.save()
    user3.save()
    return HttpResponse("Add user successfully!")
예제 #38
0
def register(request):
    if request.method == 'POST':

        post_obj = dict(request.POST)

        username = post_obj['username'][0]

        email = post_obj['email'][0]

        password = post_obj['password'][0]

        user = User(
            username=username,
            email=email,
            password=password,
        )

        user.save()

        return redirect('/')

    else:
        return render(request, 'registration/register.html')
예제 #39
0
파일: views.py 프로젝트: nare469/HelloWorld
def register_after(request):
	flag = 0
	errors=[]
	if ('username' not in request.GET) or (not request.GET['username']):
		errors.append("Please enter a username.")
		flag=1
	if ('password' not in request.GET) or (not request.GET['password']):
		errors.append("Please enter a password.")
		flag=1
	if ('email' not in request.GET) or (not request.GET['email']):
		errors.append("Please enter a valid e-mail address.")
		flag=1
	if ('first_name' not in request.GET) or (not request.GET['first_name']):
		errors.append("Please enter a valid first name.")
		flag=1
	if ('last_name' not in request.GET) or (not request.GET['last_name']):
		errors.append("Please enter a valid last name.")
		flag=1
	if not(request.GET['password'] == request.GET['password2']):
		errors.append("Passwords do not match")
		flag=1
	try:
		user = User.objects.get(username=request.GET['username'])
		flag=1
	except User.DoesNotExist:
		if flag == 0:
			p = User(username=request.GET['username'],
					password=request.GET['password'],
					first_name=request.GET['first_name'],
					last_name=request.GET['last_name'],
					email=request.GET['email'])
			p.save()
			return render(request, 'register_complete.html', {'newuser': p.first_name})
		else:
			return render(request, 'register_page.html', {'errors': errors})
	errors.append("This user name is already taken!")
	return render(request, 'register_page.html', {'errors': errors})
예제 #40
0
def register_user(response, access_token):
    btid = response.content.get('btid')
    
    if btid:
        users = User.get_collection()
        user = Users.find_one({'btid': btid})
        
        if user:
            user['access_key'] = access_token
            user['uids'][response.content['service']] = response.content['uid']
            user = User(**user)
            User.save(user)
        else:
            user = User(btid, access_token,
                uids = {response.content['service']: response.content['uid']}, 
                confirmed = True)
                 
            user_id = User.get_collection().insert(dict(user))
            user._id = user_id
        
        session[TOKENS_KEY] = user['access_key']
        
        return user
    return None
예제 #41
0
def testdb(request):
    test1 = User(1, 'fuyang', 'fuyang')
    test1.save()
    return HttpResponse('<p>添加成功</p>')
예제 #42
0
from login.models import User
import csv

datas = csv.reader(open('../1B.csv'), delimiter=',', quotechar='"')
for data in datas:
    user = User(name=data[1], password=data[2], email=data[3], c_name=data[0])
    user.save()
    print(f"{data[0]},{data[1]},{data[2]},{data[3]},{data[4]}")
예제 #43
0
파일: views.py 프로젝트: koala87/mysite
def register(request):
    
    error = []
    email = ''
    passwd = ''
    passwd1 = ''
    
    if request.method == 'POST':
        
        data = request.POST
        
        if 'email' in data and 'passwd' in data and 'passwd1' in data and (
            'icode' in data and 'icode_ref' in data):
            email = data['email']
            passwd = data['passwd']
            passwd1 = data['passwd1']
            error = []
            import re
            if not data['email']:
                error.append('Email should not be NULL')
            elif not re.match(u'\w+@\w+\.\w+', data['email']):
                    error.append(['Email is not correct'])
            
            user = User.objects.filter(email=email)
            if user:
                error.append('Email exists')
                
            if data['passwd'] != data['passwd1']:
                error.append('Twice Password are different')
            elif len(data['passwd']) < 8:
                error.append('Length of password should be 8 at least')
                error.append('Lower and upper character, digit and operator should have one at least')
            elif len(data['passwd']) > 100:
                error.append('Length of password should be less than 128')
            elif not is_valid(data['passwd']):
                error.append('Lower and upper alpha and digit and operator should have one at least')
                
            if not data['icode']:
                error.append('Identifying code should not be NULL')
            elif data['icode'].lower() != data['icode_ref'].split('.')[0].lower():
                error.append('Identifying code is not correct')
                
            if not error:
                email = data['email']
                password = data['passwd']
                user = User(email=email, password=password)
                user.save()
                
                userinfo = UserInfo(email=email, name=email, lovebridge=True)
                userinfo.save()
                
                # It's very important
                request.session['email'] = email
                request.session['name'] = email
                
                return render(request, 'login/register_succ.html', {'email' : user.email, 'passwd' : user.password, 'csrf_token' : request.COOKIES['csrftoken']})
    
    import os
    import random
    
    ident_pics = os.listdir('static/pic/verify')
    random.shuffle(ident_pics)
    
    return render(request, 'login/register.html', {'title' : 'LOGIN', 'ident_pic' : ident_pics[0], 'error' : error,
                                                   'email' : email, 'passwd' : passwd, 'passwd1' : passwd1})
예제 #44
0
 def save(self, commit=True):
     User = super().save(commit=False)
     User.is_farmer = True
     if commit:
         User.save()
     return User