예제 #1
0
 def test2(self):
       user1 = User(user_name = "Saravanan", password="******", email = "*****@*****.**")
       user1.save()
       self.event = Event(title = "Some title", description="some description",
                          people_wants_to_meet="saravanan",
                          time_of_event="2012-12-18", user = user1)
       self.assertIsNone(self.event.full_clean())
예제 #2
0
 def post(self,request):
     r = request.data
     new_record = User(first_name = r['first name'],messenger_id = r['messenger user id'])
     new_record.save()
     data = User.objects.all()
     serializer = UserSerializer(data, many=True)
     return Response(serializer.data)
예제 #3
0
def add_user(payload, user):
    #adds user to the db
    new_user = User(first_name=payload["first_name"],
                    last_name=payload["last_name"],
                    reporter=user)
    new_user.save()  #deserializes new_user and adds to db
    serialized = UserSerializer(new_user)  #to json
    return serialized.data
예제 #4
0
 def test_create_user(self):
     ''' test the creation of the user '''
     self.create_users()
     self.assertEqual(User.select().count(), 2)
     self.assertNotEqual(
         User.select().get().password,
         'password'
     )
예제 #5
0
 def create_users(count=2):
     ''' this test creates 2 users in the database via a function called
         create_users 
     '''
     for i in range(count):
         User.create_user(
             username='******'.format(i),
             email='test_{}@example.com'.format(i),
             password='******'
         )
예제 #6
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('Congratulations, you are now a registered user')
        return redirect(url_for('index'))
    return render_template('registration.html', title='register', form=form)
예제 #7
0
def authenticated_request(client):
    new_user = User(email="*****@*****.**")
    new_user.set_password("123456")
    db.session.add(new_user)
    db.session.commit()

    response = client.post(
        url_for("user.login"),
        data={"email": "*****@*****.**", "password": "******"},
        follow_redirects=True,
    )
    yield client
예제 #8
0
파일: views.py 프로젝트: Windfarer/todo
def register():
    form = RegisterForm(request.form)
    if request.method == 'POST' and form.validate():
        if re.match("^[0-9a-zA-Z_]+$",form.username.data):
            user = User(username=form.username.data,
            password=bcrypt.generate_password_hash(form.password.data),
            email=form.email.data)
            user.save()
            flash('Registration Successful, login please.')
            return redirect('/login')
        else: 
            flash('error username')
    return render_template('register.html', form=form)
예제 #9
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if request.method == 'GET':
        return render_template("register.html", title='Register', form=form)

    if form.validate_on_submit():
        form = RegistrationForm()
        username = form.username.data
        email = form.email.data
        password = form.password.data
        hashed_pw = bcrypt.generate_password_hash(password).decode('utf-8')
        user = User(username=username, email=email, password=hashed_pw)
        db.session.add(user)
        db.session.commit()
        msg = f'Dear, {username} new account is successfully created for you!'
        form = LoginForm()
        return render_template("login.html", title="Login", form=form, msg=msg)

    msg = 'Form is not valid'
    return render_template('register.html',
                           title='Register',
                           form=form,
                           msg=msg)
예제 #10
0
 def test_get_single_todo_does_not_exist(self):
     TodoModelTestCase.create_todos()
     user = User.select().get()
     headers = UserModelTestCase.get_headers(user)
 
     response = self.app.get('/api/v1/todos/3', headers=headers)
     self.assertEqual(response.status_code, 404) 
예제 #11
0
파일: routes.py 프로젝트: jod35/todo_api
def create_user():
    data= request.get_json()
    hashed_password=generate_password_hash(data['password'],method='sha256')
    new_user=User(public_id=str(uuid.uuid4()),name=data['name'],password=hashed_password,admin=False)
    db.session.add(new_user)
    db.session.commit()
    return jsonify({"message":"New User Added Successfully"})
예제 #12
0
class Command(BaseCommand):
    help = 'Add users and there tasks'
    # users = [
    #     {'username': '******', "password": '******', 'tasks'
    #     : [{'title': 'Learning Django', 'description': 'Learning to Change Team', 'status': 'inprogress'}]}
    # ]
    users = [
        User(username='******',
             password='******',
             tasks=[
                 Task(title='Learning Django',
                      description='Learning to Change Team',
                      status='inprogress')
             ])
    ]

    def handle(self, *args, **options):
        for user_data in self.users:
            try:
                user = User.objects.create(username=user_data['username'],
                                           password=user_data['password'])
                user.save()
                for task_data in user_data['tasks']:
                    task = Task(title=task_data['title'],
                                description=task_data['description'],
                                status=task_data['status'],
                                user=user)
                    task.save()
            except:
                raise CommandError('Unable to create user')
            self.stdout.write(
                self.style.SUCCESS("Successfully User's data was entered"))
예제 #13
0
파일: routes.py 프로젝트: dweems/todolist
def index():
    if current_user.is_authenticated:
        return redirect(url_for('home'))

    login_form = LoginForm()
    register_form = RegistrationForm()

    if login_form.validate_on_submit():
        user = User.query.filter_by(email=login_form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, login_form.password.data):
            login_user(user, remember=login_form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('home'))
        else:
            flash('Login Unsuccessful. Please check email and password', 'danger')

    if register_form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(register_form.password.data).decode('utf-8')
        user = User(username=register_form.username.data, email=register_form.email.data, password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created! You are now able to log in', 'success')
        return redirect(url_for('index'))

    return render_template('index.html', title='Please login or register!', register_form=register_form, login_form=login_form)
예제 #14
0
파일: routes.py 프로젝트: yash1601/todo-app
def register():
	if current_user.is_authenticated:
		return redirect(url_for('home'))
	form = RegistrationForm()
	if form.validate_on_submit():
		i = dict(choices).get(form.select.data)
		if i == "1":
			user = User(username = form.username.data, email=form.email.data, password = form.password.data, qint = 1, security_a = form.answer.data)
		else:
			user = User(username = form.username.data, email=form.email.data, password = form.password.data, qint = 2, security_a = form.answer.data)
		db.session.add(user)
		db.session.commit()
		flash('Your account has been created! you can now log in!', 'success')
		return redirect(url_for('login'))
	else:
		flash('Unsuccessful, please try again', 'info')
	return render_template('register.html', title='Register', form=form)
예제 #15
0
 def test_get_single_todo(self):
     TodoModelTestCase.create_todos()
     user = User.select().get()
     headers = UserModelTestCase.get_headers(user)
     
     response = self.app.get('/api/v1/todos/'
                             + str(Todo.select().get().id),
                             headers=headers)
     self.assertEqual(response.status_code, 200) 
     self.assertEqual(Todo.select().get().name, 'Walk Dog')
예제 #16
0
 def test_get_todos_with_auth(self):
     test = ['Walk Dog', 'Clean Car']
     
     TodoModelTestCase.create_todos()
     user = User.select().get()
     headers = UserModelTestCase.get_headers(user)
     
     response = self.app.get('/api/v1/todos', headers=headers)
     self.assertEqual(response.status_code, 200) 
     for item in response.get_json():
         self.assertIn(item['name'], test)
예제 #17
0
def register():
    form = SignupForm()
    if form.validate_on_submit():
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=form.password.data)
        db.session.add(user)
        db.session.commit()
        flash(f'Welcome, {user.username}! Please Login.')
        return redirect(url_for('login'))
    return render_template('register.html', form=form)
예제 #18
0
def register():

    if current_user.is_authenticated:
        flash("You are already logged in", "warning")
        return redirect(url_for("landing.index"))

    form = RegisterForm()
    if form.validate_on_submit():

        user = User(email=form.email.data)
        user.set_password(form.password.data)

        db.session.add(user)
        db.session.commit()
        login_user(user)

        flash("Registered successfully", "success")

        return redirect(url_for("landing.index"))

    return render_template("users/register.html", form=form)
예제 #19
0
    def test_bad_post_todo(self):
        UserModelTestCase.create_users(1)
        user = User.select().get()
        todo_data = {
            'created_by': user.id
        }
        headers = UserModelTestCase.get_headers(user)

        response = self.app.post('/api/v1/todos', data=todo_data,
                                headers=headers)
        self.assertEqual(response.status_code, 400)  
        self.assertIn('No task provided',
                    response.get_data(as_text=True))
예제 #20
0
파일: views.py 프로젝트: Windfarer/todo
def login():
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        user=User.objects(username=form.username.data).first()
        if not user:
            flash('invalid user name.')
            return render_template('login.html',
                form=form)
        if bcrypt.check_password_hash(user.password,form.password.data):
           login_user(user)
           return redirect('/task/pending')
    return render_template('login.html',
        form=form)
예제 #21
0
    def test_delete_todo(self):
        TodoModelTestCase.create_todos()
        user = User.select().get()
        headers = UserModelTestCase.get_headers(user)
        
        response = self.app.delete('/api/v1/todos/' + 
                                    str(Todo.select().get().id), 
                                    headers=headers)

        self.assertEqual(response.status_code, 204) 
        self.assertNotEqual(Todo.select().get().name, 'Walk Dog')
        self.assertEqual(response.location, 
                        'http://localhost/api/v1/todos')    
예제 #22
0
def register():
    form = register_form()
    if form.validate_on_submit():
        print("tak")
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user = User(username=form.username.data, password=hashed_password)
        print(user.username)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created! You are now able to log in', 'success')
        return redirect(url_for('login'))
    print("gowno kaka")
    return render_template('register.html', form=form)
예제 #23
0
파일: routes.py 프로젝트: s-c-p/flask_todo
def users(username=None):
    """
    The users fuction provide three user's action
    user action :
        1.get user data,
        2.regist user,
        3.delete user
    """

    if request.method == 'GET':

        if username is None:
            return jsonify(result=ResultType.GET_USER_NO_DATA)

        user = User.query.filter(User.username == username).first()

        if user:
            result = {}
            result['result'] = ResultType.GET_USER_SECCESS
            result['user'] = user

            response = make_response(json.dumps(result, default=to_json))
            response.headers['Content-Type'] = 'application/json'
            return response

        else:
            return jsonify(result=ResultType.GET_USER_NO_DATA)

    elif request.method == 'POST':

        if request.form['username'] is None or request.form['username'] == '':
            return jsonify(result=ResultType.USERNAME_IS_NONE_ERROR)

        if request.form['password'] is None or request.form['password'] == '':
            return jsonify(result=ResultType.PASSWORD_IS_NONE_ERRPR)

        user = User.query.filter(
            User.username == request.form['username']).first()

        if user:
            return jsonify(result=ResultType.USER_EXIST_ERROR)

        user = User(request.form['username'], request.form['password'])
        user.save()
        return jsonify(result=ResultType.REGISTER_SECCESS)

    elif request.method == 'DELETE':

        if username:
            user = User.query.filter(User.username == username).first()

            if user:
                user.delete()
                return jsonify(status=0)
            else:
                return jsonify(status=-1)
        else:
            return jsonify(status=-1)
예제 #24
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('logout'))
    user = User.verify_reset_token(token)
    if not user:
        flash('That is an invalid or expired token')
        return redirect(url_for(reset_request))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        user.password = form.password.data
        db.session.commit()
        flash(f'Your Password has been updated successfully! Please Login.')
        return redirect(url_for('login'))
    return render_template('reset_token.html', form=form)
예제 #25
0
 def test_put_todo(self):
     TodoModelTestCase.create_todos()
     user = User.select().get()
     headers = UserModelTestCase.get_headers(user)
     
     todo_data = {'name': 'Feed Dog'}
     
     response = self.app.put('/api/v1/todos/' 
                             + str(Todo.select().get().id), 
                             data=todo_data, headers=headers)
     self.assertEqual(response.status_code, 200) 
     self.assertEqual(Todo.select().get().name, 'Feed Dog')
     self.assertEqual(response.location, 
                     'http://localhost/api/v1/todos/1') 
예제 #26
0
 def test_good_post_todo(self):
     UserModelTestCase.create_users(1)
     user = User.select().get()
     todo_data = {
         'name': 'Finish Project',
         'created_by': user.id
     }
     headers = UserModelTestCase.get_headers(user)
     
     response = self.app.post('/api/v1/todos', data=todo_data,
                             headers=headers)
     self.assertEqual(response.status_code, 201)  
     self.assertEqual(Todo.select().get().name, 'Finish Project')
     self.assertEqual(response.location, 
                     'http://localhost/api/v1/todos/1') 
예제 #27
0
def register():
    if 'loggedin' in session:
        return "Already logged in"
    form = RegistrationForm()
    if form.validate_on_submit():
        account = User.query.filter_by(name=form.username.data).first()
        # print(f"account name {account}")
        if account:
            flash("This account is alredy exists", "danger")
        else:
            hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
            user = User(name=form.username.data, password=hashed_password, email=form.email.data)
            db.session.add(user)
            db.session.commit() 
            flash(f"Account created for {form.username.data}", "success")
            return redirect(url_for('users.login')) 
        
    return render_template("register.html", form=form)
예제 #28
0
def signIn_page():
    form = RegisterForm()
    if form.validate_on_submit():
        print('form executed')

        user_to_create = User(
            name=form.username.data,
            email=form.email.data,
            pwd=form.password1.data,
        )
        db.session.add(user_to_create)
        db.session.commit()
        print('db executed')
        return redirect(url_for('index_page'))
    if form.errors != {}:
        for err_msg in form.errors.values():
            print(err_msg)
            flash(" erreur: {}".format(err_msg), category='danger')
    return render_template('signIn.html', nonavbar="", form=form)
예제 #29
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))

    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')
        try:
            if username and password:
                encrypted_password = bcrypt.generate_password_hash(
                    password).decode('utf-8')
                user = User(username=username, password=encrypted_password)
                db.session.add(user)
                db.session.commit()
                return redirect(url_for('login'))
            else:
                flash('fill both fields')
        except:
            flash('username already taken', 'fail')
    return render_template('register.html')
예제 #30
0
파일: views.py 프로젝트: Windfarer/todo
def edit_task(task_id):
    form=TaskForm(request.form)
    task=Task.objects(id=ObjectId(task_id)).first()
    namelist=[]
    for i in task.assignlist:
        namelist.append(i.user)
    namelist=" ".join(namelist)
    if request.method == 'POST' and form.validate():
        task.content=form.content.data
        task.deadline=form.deadline.data
        task.assignlist=[]
        recipients=[]
        if not form.assign.data:
           task.assignlist.append(AssignList(user=g.user.username))
        else:
           for user in form.assign.data.split():
               if User.objects(username=user):
                   assign = AssignList(user=user)
                   task.assignlist.append(assign)
        task.save()
        
        return redirect('/task/pending')
    return render_template('edit.html', form=form, task=task,task_id=task_id,namelist=namelist)
예제 #31
0
def create_user(email=EXAMPLE_EMAIL, password=EXAMPLE_PASSWORD):
    user = User(email=email)
    user.set_password(password)
    db.session.add(user)
    db.session.commit()
    return user
예제 #32
0
파일: views.py 프로젝트: Windfarer/todo
def load_user(username):
    return User.objects(username=username).first()
예제 #33
0
from todo.app import db
from todo.models import User, Task
import os

if bool(os.environ.get('DEBUG', '')):
    db.drop_all()

db.create_all()

user = User()
user.username = "******"
user.email = "*****@*****.**"
user.password = "******"

db.session.add(user)
db.session.commit()
예제 #34
0
 def test_get_users(self):
     UserModelTestCase.create_users(1)
     response = self.app.get('/api/v1/users')
     self.assertEqual(User.select().get().username, 'user_0')  
예제 #35
0
 def create_todos():
     UserModelTestCase.create_users(1)
     user = User.select().get()
     Todo.create(name='Walk Dog', created_by=user.id)
     Todo.create(name='Clean Car', created_by=user.id)