Example #1
0
def practice():
    data = request.get_json()
    if not data:
        return {'message': 'You must provide JSON data.'}, 400

    errors = {}
    if not 'word' in data or not data.get('word', None):
        errors['word'] = 'Error word id.'
    if not 'vtype' in data or not data.get('vtype', None):
        errors['vtype'] = 'Error vocab type id.'
    if not 'status' in data or not data.get('status', None):
        errors['status'] = 'Error status.'

    if errors:
        return jsonify({'message': errors}), 400

    userdata = {'uid': g.user.uid, 'wid': data['word'], 'tid': data['vtype']}
    statistic = DailyStatisticCache()
    if data['status'] == 1:
        if UserData.remember(**userdata):
            statistic.increase(1)
    elif data['status'] == 2:
        if UserData.forget(**userdata):
            statistic.increase(2)
    elif data['status'] == 3:
        if UserData.remembered(**userdata):
            statistic.increase(1)
    else:
        return {'message': 'Error status.'}, 400

    return jsonify(statistic.get())
Example #2
0
    def test_userdata(self):
        userdata = UserData.remember(1, 1, 1)
        self.assertEqual(userdata, True)
        userdata = UserData.remember(1, 1, 1)
        self.assertEqual(userdata, None)

        userdata = UserData.forget(1, 1, 1)
        self.assertEqual(userdata, True)
        userdata = UserData.forget(2, 1, 1)
        self.assertEqual(userdata, None)

        userdata = UserData.remembered(1, 1, 1)
        self.assertEqual(userdata, None)
        userdata = UserData.remembered(2, 1, 1)
        self.assertEqual(userdata, True)

        userword = len(list(UserData.user_word(1, 1)))
        self.assertEqual(userword, 2)
        userword_count = len(UserData.user_word_count(1, 1))
        self.assertEqual(userword_count, 3)
        recent_day = len(list(UserData.recent_days(1, 1)))
        self.assertEqual(recent_day, 1)

        review = UserData.review_word(1, 1)
        self.assertEqual(review, None)
Example #3
0
def add_user():
    form = AddUserForm()
    if form.validate_on_submit():
        user = UserData(username=form.username.data,
                        email=form.email.data,
                        name=form.name.data,
                        title=form.title.data,
                        status='normal')
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('添加成功')
        return redirect(url_for('main.index'))
    return render_template('main/add_user.html', title='添加用户', form=form)
Example #4
0
def login():
    login_form = LoginForm()
    context = {"login_form": login_form}

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()["password"]

            if password == password_from_db:
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash("Bienvenido de nuevo")

                redirect(url_for("zero"))
            else:
                flash("La informaición no coincide")
        else:
            flash("El usario no existe")

        return redirect(url_for("index"))

    return render_template("login.html", **context)
Example #5
0
def login():
    login_form = LoginForm()
    context = {'login_form': login_form}

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_credencials = get_user(username)

        if user_credencials.to_dict() is not None:
            password_from_db = user_credencials.to_dict()['password']

            if password == password_from_db:
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash('Bienvenido de nuevo')

                redirect(url_for('hello'))
            else:
                flash('Password incorrecto')
        else:
            flash('Usuario inexistente')

        return redirect(url_for('hello'))

    return render_template('login.html', **context)
Example #6
0
def signup():
    form = SignupForm()

    context = {
        'form': form
    }

    if request.method == 'POST':
        username = form.username.data
        password = form.password.data
        password2 = form.password2.data

        if form.check_password(password, password2):
            user_doc = get_user(username)
            
            if user_doc.to_dict() is None:
                user_data = UserData(
                    username=username,
                    password=generate_password_hash(password)
                )

                user_put(user_data)

                user = UserModel(user_data)
                return redirect(url_for('auth.login'))
            else:
                flash('User already exists.')
        else:
            flash('Passwords didn\' match.')

    return render_template('signup.html', **context)
Example #7
0
def signup():

    signup_form = LoginForm()
    context = {
        'signup_form': signup_form,
    }

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data

        user_doc = get_user_id(username=username)

        print(user_doc)

        if user_doc is None:
            uid = uuid.uuid1()
            password_hash = generate_password_hash(password)
            user_data = UserData(uid, username, password_hash)

            register_user(user_data)

            user = UserModel(user_data)
            login_user(user)

            flash(f'Que genial 😁 - Comencemos', 'success')

            return redirect(url_for('main'))

        else:
            flash('Sorry😥. El usuario ya existe.', 'danger')

    return render_template('signup.html', **context)
Example #8
0
def login():

    login_form = LoginForm()
    ctx = {'login_form': login_form}

    if request.method == 'POST' and login_form.validate():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']

            if check_password_hash(password_from_db, password):
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash('Bienvenido de nuevo')
                return redirect(url_for('hello'))
            else:
                flash('La información no coincide')

        else:
            flash('El usuario no existe')

    return render_template('login.html', **ctx)
Example #9
0
def login():
    login_form = LoginForm()
    context = {'login_form': login_form}

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']

            if password == password_from_db:
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash('Welcome back')

                redirect(url_for('hello'))
            else:
                flash('Incorrect username/password')
        else:
            flash('Incorrect username/password')

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #10
0
def signup():
    signup_form = loginForm()
    parameter = {
        'signup_form': signup_form
    }

    #Validate the form
    if signup_form.validate_on_submit():
        #Get the data
        username = signup_form.username.data
        password = signup_form.password.data

        user_doc = get_user(username)

        #If the user does not exists
        if user_doc.to_dict() is None:
            #Hash the password
            password_hash = generate_password_hash(password)
            user_data = UserData(username, password_hash)
            user_put(user_data)

            user = UserModel(user_data)
            login_user(user)

            flash('Welcome!')

            return redirect(url_for('index'))
            
        else:
            flash('The user already exists.')

    return render_template('signup.html', **parameter)
Example #11
0
def login():
    login_form = LoginForm()
    context = {'login_form': login_form}
    if login_form.validate_on_submit():

        user_name = login_form.user_name.data
        password = login_form.password.data

        user_doc = get_user(user_name)

        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']
            if password == password_from_db:
                user_data = UserData(user_name, password)
                user = UserModel(user_data)

                login_user(user)
                redirect(url_for('hello'))
            else:
                flash('la información no coincide')

        else:
            flash('el usuario no existe')

        # flash('Nombre de usuario registrado con éxito') #los flashes hay que renderearlos en el html
        #flash eliminado porque ya no tiene sentido
        return redirect(url_for('index'))
    return render_template('login.html', **context)
Example #12
0
def login():
    login_form = LoginForm()
    context = {'login_form': login_form}

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is not None:
            if check_password_hash(user_doc.to_dict()['password'], password):
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash('Bienvenido de nuevo.')

                redirect(url_for('hello'))
            else:
                flash('Contraseña incorrecta.')
        else:
            flash('El usuario no existe.')

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #13
0
def sign_up():
    signup_form = LoginForm()
    context = {
        'signup_form': signup_form,
    }

    # Validar form
    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(username,
                                 password_hash)  #Crear instancia de UserData
            user_put(
                user_data)  #registrar usuario en db (ver direstore_service.py)

            user = UserModel(user_data)

            login_user(user)

            flash('Bienvenido!')

            return redirect(url_for('hello'))

        else:
            flash('EL usuario ya existe')

    return render_template('signup.html', **context)
Example #14
0
def login():
    login_form = LoginForm()
    context = {'login_form': login_form}

    # Valida formulario y toma sus datos
    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        # Verifica que formulario NO sea vacío
        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']

            # Compara que password_ingresado == password_db
            if password == password_from_db:
                # Y crea una instancia del modelo de UserModel y UserData
                user_data = UserData(username, password)
                user = UserModel(user_data)

                # Hace login del usuario con la instancia UserModel
                login_user(user)

                flash('Bienvenido de nuevo')

                redirect(url_for('hello'))
            else:
                flash('La información no coincide')
        else:
            flash('El usuario no existe')

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #15
0
def login():
    login_form = LoginForm()
    context = {'login_form': LoginForm()}

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data
        user_doc = get_user(username)

        if user_doc.to_dict() is not None:

            if check_password_hash(user_doc.to_dict()['password'], password):
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)
                flash('Well come again')
                redirect(url_for('company'))
            else:
                flash('wrong password >:(')
        else:
            flash('user does not exist =/')
        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #16
0
def login():
    login_form = LoginForm()
    context = {'login_form': login_form}

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']

            if check_password_hash(password_from_db, password):
                user_data = UserData(username, password)
                user = UserModel(user_data)
                login_user(user)

                flash("Bienvenido de nuevo! {}".format(
                    str(user.id).capitalize()))

                redirect(url_for('board'))
            else:
                flash('La información no coincide')
        else:
            flash('El usario no existe')

        return redirect(url_for('home'))

    return render_template('login.html', **context)
Example #17
0
def signup():
    signup_form = SignUpForm()
    context = {
        'signup_form': signup_form,
    }

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data
        re_password = signup_form.re_password.data

        if password == re_password:
            user_doc = get_user(username)
            if user_doc.to_dict() is None:
                hash_password = generate_password_hash(password)
                user_data = UserData(username, hash_password)
                put_user(user_data)
                put_init_todo(DefaultTodo(username))
                user = UserModel(user_data)
                login_user(user)

                flash("Bienvenido a Remaind {}".format(
                    str(user.id).capitalize()))
                return redirect(url_for('board'))
            else:
                flash("usuario existe.")
        else:
            flash("Contraseñas no coinciden.")

    return render_template("signup.html", **context)
Example #18
0
def login():
    login_form = LoginForm()
    context = {
        'login_form': login_form
    }
    if login_form.validate_on_submit():
        username = login_form.username.data #obtenemos el username
        password = login_form.password.data
        user_doc= get_user(username)

        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']

            # if password == password_from_db:
            if check_password_hash(password_from_db, password):
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash('Welcome again')

                return redirect(url_for("hello"))
            else:
                flash('This information is not correct')
        else:
            flash('User or Password do no exist')

        return redirect(url_for('index'))

    return render_template('login.html',**context)
Example #19
0
def signup():
    signup_form = LoginForm()
    context = {'signup_form': signup_form}

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(username, password_hash)
            user_put(user_data)
            user = UserModel(user_data)

            login_user(user)

            flash('Welcome')

            redirect(url_for('hello'))
        else:
            flash('User already exists')

    return render_template('signup.html', **context)
Example #20
0
def signup():
    signup_form = RegisterForm()
    context = {
        'signup_form': signup_form
    }

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data
        # no validamos el email

        user = getUser(username)
        if user is None:
            user_data = UserData(username, password)
            newUser = user_put(user_data)

            user =  UserModel(newUser)

            login_user(user)

            flash('Bienvenido !!')

            return redirect(url_for('hello'))
        
        else:
            flash("El usuario ya existe !!")




    return render_template('signup.html', **context)
Example #21
0
def singup():
    singup_form = LoginForm()

    ctx = {'singup_form': singup_form}

    if singup_form.validate_on_submit():
        username = singup_form.username.data
        password = singup_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(username, password_hash)
            user_put(user_data)

            user = UserModel(user_data)

            login_user(user)

            flash('Bienvenido')

            return redirect(url_for('hello'))

        else:
            flash('El usuario ya existe!')

    return render_template('singup.html', **ctx)
Example #22
0
def login():
    login_form = LoginForm()
    context = {
        'login_form': login_form
    }
    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user = getUser(username)

        if user is not None:
            if user.check_password(password):
                user_data = UserData(username, user.password)
                user_model = UserModel(user_data)

                login_user(user_model)

                flash('Bienvenido de nuevo')
                redirect(url_for('hello'))
            else:
                flash('Credenciales incorrectas !!')
        else:
            flash('Credenciales incorrectas !!')
        

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #23
0
def login():
    
    login_form = LoginForm()

    context = {
        'login_form': LoginForm()
    }

    if request.method == 'POST':
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(user_id=username)

        if user_doc.to_dict():
            password_from_db = user_doc.to_dict()['password']

            if check_password_hash(password_from_db, password):
                user_data = UserData(username, password)
                user = UserModel(user_data)
                login_user(user)

                session['username'] = login_form.username.data
                
                redirect(url_for('hello'))
                flash('Welcome back!')
            else:
                flash('Info do not match')
        else:
            flash('Username does not exist')

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #24
0
def login():
    login_form = LoginForm()
    context = {'login_form': login_form}

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict():
            password_from_db = user_doc.to_dict()['password']
            password_validation = check_password_hash(password_from_db,
                                                      password)

            if password_validation:
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash('Wellcome again!')

                redirect(url_for('hello'))

            else:
                flash(
                    'The username and the password doesn\'t match. Try again!')

        else:
            flash('Sorry, the user doesn\'t exist. Create your account!')

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #25
0
def login():
    login_form = LoginForm()
    context = {
        'login_form': login_form
    }

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)
        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']

            if password == password_from_db:
                user_data = UserData(username, password)
                user = UserModel(user_data)
                login_user(user)
                flash('Bienvenido de nuevo')
                redirect(url_for('hello'))
            else:
                flash('La información no coincide.')

        else:
            flash('El usuario no existe.')

        return redirect(url_for('index'))

    return render_template('login.html',**context)
Example #26
0
def login():
    login_form = LoginForm()
    context = {
        'login_form': LoginForm()
    }
    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']
            if password == password_from_db:
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash('Bienvenido de nuevo')

                redirect(url_for('hello'))
            else:
                flash('Not correct information, des not match')

        else:
            flash('The user does not exist')

        return redirect(url_for('index'))
    return render_template('login.html', **context)
Example #27
0
def signup():
    signup_form = LoginForm()
    context = {
        'signup_form': signup_form,
    }

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data

        user_credencials = get_user(username)

        if user_credencials.to_dict() is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(username, password_hash)
            user_put(user_data)

            user = UserModel(user_data)

            login_user(user)

            flash('Bienvenido!!')

            return redirect(url_for('hello'))

        else:
            flash('Usuario existente')

    return render_template('signup.html', **context)
def login():
    login_form = LoginForm()
    context = {
        'login_form': login_form,
    }

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']

            if check_password_hash(password_from_db, password):
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)

                flash('¡Welcome again!')

                redirect(url_for('hello'))
            else:
                flash('Something went wrong. Try again.')
        else:
            flash('User doesn\'t exists.')

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #29
0
def signup():
    signup_form = LoginForm()
    context = {"signup_form": signup_form}

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(username, password_hash)
            user_put(user_data)

            user = UserModel(user_data)

            login_user(user)

            flash("Bienvenido!")

            return redirect(url_for("zero"))

        else:
            flash("El usario existe!")

    return render_template("signup.html", **context)
Example #30
0
def register():
    username = request.json.get('username', None)
    password = request.json.get('password', None)
    retypePassword = request.json.get('retypePassword', None)
    if password != retypePassword:
        return jsonify({
            "status": "Passwords do not match",
            "password1": password,
            "password2": retypePassword,
            "authenticated": False
        })
    user = User.query.filter_by(username=username).first()
    if user is not None:
        return jsonify({
            "status": "Username already in use",
            "authenticated": False
        })
    user = User(username=username)
    user.set_password(password)
    db.session.add(user)
    data = UserData(messagesSent=0,
                    wordCount=0,
                    loginStreak=0,
                    correctSentences=0,
                    author=user)
    db.session.add(data)
    db.session.commit()
    login_user(user, remember=True)
    return jsonify({
        "status": "New user " + username + " registered",
        "authenticated": True
    })