예제 #1
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', {})
예제 #2
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!")
예제 #3
0
 def test_make_unique_nickname(self):
     u = User(nickname='john', email='*****@*****.**')
     db.session.add(u)
     db.session.commit()
     nickname = User.make_unique_nickname('john')
     assert nickname != 'john'
     u = User(nickname=nickname, email='*****@*****.**')
     db.session.add(u)
     db.session.commit()
     nickname2 = User.make_unique_nickname('john')
     assert nickname2 != 'john'
     assert nickname2 != nickname
예제 #4
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',{})
예제 #5
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)
예제 #6
0
 def setUpTestData(self):
     """
         Run truoc khi thuc hien cac test function
         setup du lieu cho cac test function
     """
     self.user = User('N16DCCN131', 'D16CQCN03-N', 'Le Tanh Sang',
                      '1998-23-06', 1, 'sakdhksdk', 60)
예제 #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
파일: 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)
예제 #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
파일: views.py 프로젝트: Nakano0921/Part
def signup():
    form = RegisterForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User(email=form.email.data,
                    username=form.username.data,
                    password=form.password.data)
        user.add_user()
        return redirect(url_for('app.login'))
    return render_template('signup.html', form=form)
예제 #11
0
    def test_str(self):

        user = User(username='******',
                    email='*****@*****.**',
                    password1='hanshe',
                    password2='hanshe')

        self.assertEquals(
            str(user),
            'hans [email protected]',
        )
예제 #12
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('恭喜你成为我们网站的新用户')
        return redirect(url_for('login_opt.login'))
    return render_template('register.html', title='注册', form=form)
예제 #13
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)
예제 #14
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"})
예제 #15
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"})
예제 #16
0
def registration(request):
    if request.method != 'POST':
        return HttpResponse(ResponseCode.badRequest.value)
    try:
        data = json.loads(request.body)
        username = data['username']
        password = data['password']
        email = data['email']
        print(username + " " + password + " " + email)
        User(username=username, password=password, email=email).save()
        return HttpResponse(ResponseCode.success.value)
    except:
        return HttpResponse(ResponseCode.badRequest.value)
예제 #17
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')
예제 #18
0
class LoginTestCase(TestCase):

    newUser = User()

    def setUp(self):
        # create user
        self.newUser.name = "john doe"
        self.newUser.username = "******"
        self.newUser.password = "******"
        self.newUser.save()  # save user

    def test_can_login(self):

        #query this user
        query = User.objects.filter(username=self.newUser.username,
                                    password=self.newUser.password)

        #confirm this is the user
        self.assertEqual(query.count(), 1)
        userQueried = query[0]
        self.assertEqual(userQueried.name, "john doe")
        self.assertEqual(userQueried.username, "username123")
        self.assertEqual(userQueried.password, "password456")

    def test_cannot_login(self):

        #query another user
        query = User.objects.filter(username="******",
                                    password="******")

        # confirm this does not exist
        self.assertEqual(query.count(), 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)

    def tearDown(self):
        query = User.objects.filter(username=self.newUser.username,
                                    password=self.newUser.password)
        query.delete()
예제 #19
0
파일: views.py 프로젝트: jod35/loginsys
def create_user():
    form = SignUpForm()
    if request.method == 'POST':
        new_user = User(
            username=request.form.get('username'),
            email=request.form.get('email'),
            password=bcrypt.generate_password_hash(
                request.form.get('password')),
        )
        db.session.add(new_user)
        db.session.commit()

        return redirect('/')
    return render_template('signup.html', form=form)
예제 #20
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
    })
예제 #21
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
예제 #22
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)
예제 #23
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    address=form.address.data,
                    email=form.email.data,
                    password=hashed_pw)
        db.session.add(user)

        flash('Your account has been created! You can now log in ', 'success')
        return redirect(url_for('users.login'))
    return render_template('register.html', title='Register', form=form)
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')
예제 #25
0
파일: app.py 프로젝트: 1119405009/flask_py3
def login():
    if request.method == 'POST':
        user_id = request.form.get('userid')
        user = query_user(user_id)
        if user is not None and request.form['password'] == user['password']:

            curr_user = User()
            curr_user.id = user_id

            # 通过Flask-Login的login_user方法登录用户
            login_user(curr_user)
            return redirect(url_for('index'))

        flash('Wrong username or password!')

    # GET 请求
    return render_template('login.html')
예제 #26
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'}))
예제 #27
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())
예제 #28
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())
예제 #29
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))
예제 #30
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)