コード例 #1
0
ファイル: register.py プロジェクト: LRCP/nutrition
def register():

    form = RegistrationForm(request.form)
    print form.validate()
    print form.errors
    if request.method == 'POST' and form.validate():
        user = User(form.username.data, form.email.data,
            form.password.data)
        session.add(user)
        try:
            session.commit()
        except IntegrityError as error:
            flash("Registration is unsucessful. A user with the same username or email address is already in use.")
            print error
            session.rollback()
            return render_template(
                'register.html',
                title="Register",
                form=form
            )
        flash("Registration is successful.")
        return redirect(url_for('login'))
    return render_template(
        'register.html',
        title="Register",
        form=form
        )
コード例 #2
0
ファイル: views.py プロジェクト: aivasik/Home_task_flask
def register():
    if request.method == "POST":
        form = RegistrationForm(request.form)
        form.validate()
        print(form.errors)

    else:
        form = RegistrationForm()
    return render_template('registration.html', form=form, errors=form.errors)
コード例 #3
0
ファイル: routes.py プロジェクト: BogdanovBA/AUP
def register():
    if current_user.is_authenticated:
        return redirect(url_for('account'))
    form = RegistrationForm()
    if request.method == 'POST' and not form.validate():
        flash('Invalid credentials. Try again')
        return redirect(url_for('register'))
    if request.method == 'POST' and form.validate():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password1.data)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('login'))

    return render_template('register.html', form=form)
コード例 #4
0
def register():
    if (current_user.is_authenticated):
        return redirect(url_for('index'))
    form = RegistrationForm()
    if (form.is_submitted()):
        if (form.validate()):
            #test user existance
            uname = form.username.data
            pword = form.password.data
            mfaid = form.mfaid.data
            #print(uname+":"+pword+":"+mfaid)
            #note, this doesn't actually do anything, since the RegForm already has a validator on name
            user = User.query.filter_by(username=uname).first()
            if (user != None):
                return render_template(
                    'register_results.html',
                    title='Register Failed',
                    form=form,
                    results="Registration failure: username in use")
            user = User(username=uname, mfaid=mfaid)
            user.setpw(pword)
            db.session.add(user)
            db.session.commit()
            return render_template('register_results.html',
                                   title='Register Successful',
                                   form=form,
                                   results="Registration success")
        else:
            return render_template(
                'register_results.html',
                title='Register Failed',
                form=form,
                results="Registration failure: invalid fields")
    return render_template('register.html', title='Register', form=form)
コード例 #5
0
def registration_page():
    if not current_user.is_anonymous:
        return redirect(url_for('homepage'))
    form = RegistrationForm(request.form)
    if request.method == "POST" and form.validate():
        username = form.username.data
        email = form.email.data
        password = sha256_crypt.encrypt(form.password.data)

        user_data = session.query(User).filter_by(username=username).first()
        user_email = session.query(User).filter_by(email=email).first()

        if user_data is not None:
            flash('Username not available.')
            return redirect(url_for('registration_page', form=form))
        elif user_email is not None:
            flash('Email is already in use.')
            return redirect(url_for('registration_page', form=form))
        else:
            new_user = User(username=username, email=email, password=password)
            session.add(new_user)
            session.commit()

            login_user(new_user)
            flash('Registration Successful.')

            return redirect(url_for('homepage'))
    return render_template('register.html', form=form)
コード例 #6
0
ファイル: home.py プロジェクト: mzvast/flask-web
def register():
    try:
        form = RegistrationForm(request.form)

        if request.method == "POST" and form.validate():
            username = form.username.data
            email = form.email.data
            password = sha256_crypt.encrypt((str(form.password.data)))
            c, conn = connection()

            x = c.execute("SELECT * FROM users WHERE username = (%s)",
                          [(thwart(username))])
            if int(x) > 0:
                flash("That username is already taken, please choose another")
                return render_template('register/register.html', form=form)
            else:
                c.execute("INSERT INTO users (username, password, email, tracking) VALUES (%s, %s, %s, %s)",
                         (thwart(username), thwart(password), \
                         thwart(email), thwart("/introduction-to-python-programming/")))
                conn.commit()
                flash("Thanks for registering!")
                c.close()
                conn.close()
                gc.collect()
                session['logged_in'] = True
                session['username'] = username

                return redirect("/")

        return render_template("register/register.html", form=form)

    except Exception as e:
        return (str(e))
コード例 #7
0
ファイル: views.py プロジェクト: spizeck/aircraftlogs
def register_page():
    reg_form = RegistrationForm(request.form)

    if request.method == "POST":
        if reg_form.validate() is False:
            return render_template('register.html',
                                   reg_form=reg_form)
        else:
            new_user = User(
                reg_form.first_name.data,
                reg_form.last_name.data,
                reg_form.username.data,
                reg_form.email.data,
                reg_form.password.data
            )
            db.session.add(new_user)
            db.session.commit()
            gc.collect()
            session['logged_in'] = True
            session['username'] = new_user.username
            flash('Thank you for registering!')
            return redirect(url_for('dashboard'))

    elif request.method == "GET":
        return render_template('register.html',
                               reg_form=reg_form)
コード例 #8
0
def register():
    form = RegistrationForm(request.form)
    if request.method == "POST" and form.validate():
        # Get user data from form.
        name = form.name.data
        username = form.username.data
        email = form.email.data
        password = sha256_crypt.encrypt(str(form.password.data))

        # Create a cursor for database queries.
        curr = mysql.connection.cursor()
        
        # Check if username is already taken.
        matches = curr.execute("SELECT * FROM users WHERE username = %s", (username,))
        if matches:
            return render_template("register.html", title="Register", form=form, err="Username already taken.")

        # Check if email is already taken.
        matches = curr.execute("SELECT * FROM users WHERE email = %s", (email,))
        if matches:
            return render_template("register.html", title="Register", form=form, err="Email already taken")

        # Save the user's credentials into the database.
        curr.execute("INSERT INTO users(name, username, email, password) VALUES(%s, %s, %s, %s)", (name, username, email, password))

        # Close connection.
        mysql.connection.commit()
        curr.close()

        # Redirect the user.
        flash("Account created!", "success")    
        return redirect(url_for("login"))
        
    return render_template("register.html", title="Register", form=form)
コード例 #9
0
def settings():
    if session.get('logged_in'):
        username = session.get('username')
        sel_user = User(
            get_user_by_username(username)[0],
            get_user_by_username(username)[1],
            get_user_by_username(username)[2],
            get_user_by_username(username)[3],
            get_user_by_username(username)[4],
            get_user_by_username(username)[5],
        )

        # on pré-remplis le formulaire avec les données de l'utilisateur
        form = RegistrationForm(obj=sel_user)

        # on peut modifier le formulaire avec form.<NAME>.data
        form.username.data = sel_user.username
        form.birthdate.data = sel_user.birthdate
        form.password.data = sel_user.password
        form.password2.data = sel_user.password

        # on valide le formulaire
        if request.method == 'POST' and form.validate():
            update_names(
                sel_user, form.first_name.data, form.last_name.data,
                form.email.data
            )  # fonction définie plus haut permettant d'intéragir avec la bdd
            flash('Informations mises à jour')

        return render_template(
            'settings.html', title='Paramètres',
            form=form)  # si pas de formulaire envoyé (POST), on l'affiche
    else:
        return redirect(url_for('index'))
コード例 #10
0
ファイル: routes.py プロジェクト: lazyotter/cook-log
def index():
    login_form = LoginForm()
    reg_form = RegistrationForm()

    # Check if already logged in
    if current_user.is_authenticated:
        return redirect(url_for('user', username=current_user.username))

    # If submitting login form, validate form
    if login_form.submit_login.data and login_form.validate():
        user = User.query.filter_by(username=login_form.username.data).first()
        # If user does not exist or password doesnt work
        if user is None or not user.check_password(login_form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('index'))
        # Login existing user
        login_user(user, remember=login_form.remember_me.data)
        return redirect(url_for('user', username=current_user.username))
    # If submitting registration form, check that validators and if data is there
    if reg_form.submit_reg.data and reg_form.validate():
        user = User(username=reg_form.username.data, email=reg_form.email.data)
        user.set_password(reg_form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('YOU REGISTERED DUMB SHIT')
        return redirect(url_for('index'))
    return render_template('index.html',
                           login_form=login_form,
                           reg_form=reg_form,
                           title='Home Page')
コード例 #11
0
def registration():
    if current_user.is_authenticated:
        return redirect(url_for('main.show_first_page'))
    registration_form = RegistrationForm(request.form)

    if request.method == 'POST' and registration_form.validate():
        nickname = registration_form.nickname.data
        email = registration_form.email.data
        password = registration_form.password.data
        repeat_password = registration_form.repeat_password.data

        if password != repeat_password:
            flash(gettext(MESSAGE_PASSWORDS_NOT_MATCHING))
            return render_template('auth/registration.html', form=registration_form)

        user = get_user(email, nickname)

        if user:
            flash(gettext(MESSAGE_USERNAME_ALREADY_TAKEN))
            return render_template('auth/registration.html', form=registration_form)
        else:
            add_user(nickname, email, generate_password_hash(password))
            return redirect(url_for('main.show_first_page'))

    return render_template('auth/registration.html', form=registration_form,
                           REPEAT_PASSWORD=REPEAT_PASSWORD,
                           PASSWORD=PASSWORD,
                           EMAIL=EMAIL,
                           AUTHORIZATION=AUTHORIZATION,
                           ALREADY_REGISTER=ALREADY_REGISTER,
                           REGISTRATION=REGISTRATION,
                           USERNAME=USERNAME)
コード例 #12
0
ファイル: routes.py プロジェクト: stefanofisc/ProgettoTW
def register():
   utente = Utente.def_utente()
   form = RegistrationForm(request.form)
   if request.method == 'POST' and form.validate():
     # prendo i dati dal form di input
     nome = form.nome.data
     cognome = form.cognome.data
     email = form.email.data
     username = form.username.data
     password = form.password.data
     admin = False

     # mi connetto al database per verificare se l'username già esiste
     user = mongo.db.utenti
     existing_user = user.find_one({'username': username})
     # se l'utente non esiste, lo posso registrare
     # lo inserisco nel database ed effettuo automaticamente il login
     if existing_user is None:
        hashpass = generate_password_hash(password)
        user.insert({'nome': nome, 'cognome': cognome, 'email': email, 'username': username, 'password': hashpass, 'admin': admin})
        session.clear()
        session['username'] = username
        session['logged_in'] = True
        return home()
     # altrimenti gli notifico che la registrazione è fallita
     return render_template('register.html', titolo='Sign up', utente=utente, form=form, error = 'Registration failed: that username already exists!')
   # renderizza la pagina se la richiesta è GET 
   return render_template('register.html', titolo='Sign up',utente=utente, form=form)
コード例 #13
0
ファイル: database.py プロジェクト: dnjoe96/news24-FlaskApp
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        name = form.name.data
        email = form.email.data
        username = form.username.data
        password = generate_password_hash(form.password.data)

        # create cursor
        cur = mysql.connection.cursor()

        # execute query
        cur.execute(
            'INSERT INTO new_users (name, email, username, password) VALUES (%s, %s, %s, %s)',
            (name, email, username, password))

        # commit to database
        mysql.connection.commit()

        # close connection
        cur.close()

        flash('You are now registered', 'success')
        return redirect(
            url_for('index'))  # redirects user back to the index page

    return render_template('register.html', form=form, name='Sign Up')
コード例 #14
0
def register():
	data = MultiDict(mapping=request.json)	
	inputs = RegistrationForm(data, csrf_enabled=False)
	
	if not inputs.validate():
		return transform(300, message="Invalid inputs")
	else:
		firstName = data.get('first_name')
		lastName = data.get('last_name')
		email = data.get('email')
		password = data.get('password')

		user = User(email, password, firstName, lastName)
		auth = AuthToken()

		user.tokens.append(auth)

		try:
			db.session.add(user)
			# db.session.add(auth)

			db.session.commit()
		except IntegrityError as e:
			return jsonify({"error": "email already taken"})

		response = auth.__repr__()
		response.update({
			'user_id': user.id,
			'first_name': user.first_name,
			'last_name': user.last_name
		})

		return jsonify(response)
コード例 #15
0
ファイル: routes.py プロジェクト: xKatinJn/MovieTone
def sign():
    if current_user.is_authenticated:
        return redirect('index')

    reg_form = RegistrationForm()
    log_form = LoginForm()

    if reg_form.reg_submit.data and reg_form.validate():
        email = reg_form.email.data
        password = reg_form.password.data

        user = User(email=email)
        user.set_password(password)
        db.session.add(user)
        db.session.commit()
        user_status = UserStatuses(status_id=1, user_id=User.query.filter_by(email=email).first().id)
        db.session.add(user_status)
        db.session.commit()
        login_user(user)
        user = User.query.filter_by(id=current_user.id).first()
        user.nickname = 'User_'+str(user.id)
        db.session.commit()
        return redirect(url_for('edit_profile'))
    if log_form.log_submit.data and log_form.validate():
        email = log_form.email.data
        user = User.query.filter_by(email=email).first()
        if not user or not user.check_password(log_form.password.data):
            return render_template('registr-exit.htm', title='Авторизация', log_form=log_form, reg_form=reg_form,
                                   log_error=True)
        login_user(user)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)
    return render_template('registr-exit.htm', title='Авторизация', log_form=log_form, reg_form=reg_form)
コード例 #16
0
def registration():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    Rform = RegistrationForm()
    if Rform.submit2.data and Rform.validate():
        print('начата регистрация')
        add_to_db(name= Rform.username.data, password= Rform.password.data)
        TryLoginUser( Rform.username.data,  Rform.password.data, Rform.remember_me.data)
    return render_template('registrate.html', Rform=Rform)
コード例 #17
0
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        todo_list = Todo(form.todo.data, form.check.data)
        db_session.add(todo_list)
        db_session.commit()
        flash('Thanks for registering')
        return redirect(url_for('register'))
    todos = db_session.query(Todo).all()
    return render_template('show.html', form=form, todos=todos)
コード例 #18
0
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        db = get_db()
        db.do_register(form.username.data, form.lastname.data,
                       form.firstname.data, form.email.data,
                       form.password.data, form.is_director.data)
        flash("Thanks for registering!")
        return redirect('/')
    return render_template('register.html', form=form)
コード例 #19
0
ファイル: routes.py プロジェクト: Alexwell/flask-task-manager
def registration():
    form = RegistrationForm(request.form)
    if form.validate():
        user = User(email=form.registration_email.data)
        user.set_password(form.registration_password.data)
        db.session.add(user)
        db.session.commit()
        return jsonify(
            {'registration_response_status': 'registration_success'})
    return jsonify(form.errors)
コード例 #20
0
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        db = get_db()
        db.do_register(form.username.data, form.lastname.data,
                       form.firstname.data, form.email.data,
                       form.password.data, form.is_director.data)
        flash("Thanks for registering!")
        return redirect('/')
    return render_template('register.html', form=form)
コード例 #21
0
ファイル: views.py プロジェクト: snaiffer/test
def registration():
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('index'))
    form = RegistrationForm(request.form)
    if request.method == "POST" and form.validate():
        return registrate(form.username.data,
                          form.passwd.data,
                          form.email.data)
    return render_template('registration.html',
        title = 'Sign Up',
        form = form)
コード例 #22
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        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('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #23
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if request.method =='POST' and form.validate():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        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'))
    return render_template('register.html', form=form)
コード例 #24
0
def index():
    #print(db)
    print_all_users()
    Lform = LoginForm()
    Rform = RegistrationForm()
    if Lform.submit1.data and Lform.validate():
        login(Lform)
    if Rform.submit2.data and Rform.validate():
        registration(Rform)
    if ('user' in session):
        print('пользователь', session['user'], 'вошёл в сеть')
        return redirect(url_for('main', username=session['user']))
    return render_template('signin.html', Lform=Lform, Rform=Rform)
コード例 #25
0
def register():

    form = RegistrationForm(request.form)
    print form.validate()
    print form.errors
    if request.method == 'POST' and form.validate():
        user = User(form.username.data, form.email.data, form.password.data)
        session.add(user)
        try:
            session.commit()
        except IntegrityError as error:
            flash(
                "Registration is unsucessful. A user with the same username or email address is already in use."
            )
            print error
            session.rollback()
            return render_template('register.html',
                                   title="Register",
                                   form=form)
        flash("Registration is successful.")
        return redirect(url_for('login'))
    return render_template('register.html', title="Register", form=form)
コード例 #26
0
ファイル: views.py プロジェクト: borjaeg/starter
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        if not User.objects.filter(username=form.username.data):
            user = User(name=form.name.data,
                        username=form.username.data,
                        email=form.email.data,
                        service='local')
            user.set_password(form.password.data)
            user.authenticated = True
            user.save()
            login_user(user)
            flash("You successfully registered.")
            return redirect(url_for('views.index'))
        else:
            flash("That username is already taken.")
    return render_template('register.html', form=form, session=session)
コード例 #27
0
ファイル: views.py プロジェクト: balalay12/flask-cachlka
 def registration(self):
     form = RegistrationForm(data=request.get_json(force=True))
     if form.validate():
         user = User(
             username=form.username.data,
             email=form.email.data,
             password=bcrypt.generate_password_hash(form.password.data)
         )
         try:
             db.session.add(user)
             db.session.commit()
             return '', 201
         except SQLAlchemyError as e:
             # TODO: loging exeption e
             db.session.rollback()
             return return_response(500, jsonify(error='Произошлка ошибка во время запроса.'))
     return return_response(404, jsonify(error='Не вверно введены данные.'))
コード例 #28
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('dashboard'))

    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User(username=form.username.data,
                    email=form.email.data,
                    first_name=form.first_name.data,
                    last_name=form.last_name.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Parabens, você completou seu registro!')
        return redirect(url_for('login'))
    return render_template('register.html',
                           title='Register',
                           app=app,
                           form=form)
コード例 #29
0
ファイル: home.py プロジェクト: mzvast/flask-web
def register():
    try:
        form = RegistrationForm(request.form)
        
        if request.method == "POST" and form.validate():
            username = form.username.data
            email = form.email.data
            password = sha256_crypt.encrypt((str(form.password.data)))
            c,conn = connection()
            
            x = c.execute("SELECT * FROM users WHERE username = (%s)",
                          [(thwart(username))])
            if int(x) > 0 :
                flash("That username is already taken, please choose another")
                return render_template('register/register.html', form=form)
            else:
                 c.execute("INSERT INTO users (username, password, email, tracking) VALUES (%s, %s, %s, %s)",
                          (thwart(username), thwart(password), \
                          thwart(email), thwart("/introduction-to-python-programming/")))
                 conn.commit()
                 flash("Thanks for registering!")
                 c.close()
                 conn.close()
                 gc.collect()
                 session['logged_in'] = True
                 session['username'] = username

                 return redirect("/")

        return render_template("register/register.html", form=form)
                
    except Exception as e:
        return(str(e))
    # form = RegisterForm()
    # if request.method == 'POST' and form.validate():
        
    #     print form.username.data,form.email.data,form.password.data
        
    #     print 'success'

    #     return render_template('register/register_complete.html')
    # return render_template('register/register.html', form=form)
コード例 #30
0
def create_account():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    print("DEBUG: Form valid", form.validate())

    if form.validate_on_submit():
        conf_code = randint(1000, 9999)
        user = User(first_name=form.first_name.data,
                    last_name=form.last_name.data,
                    admin=False,
                    cardtype=form.cardtype.data,
                    address=form.address.data,
                    email=form.email.data,
                    subscribed=form.subscribed.data,
                    active=False,
                    email_val=conf_code,
                    last_four=form.card_num.data %
                    10000 if form.card_num.data else None)
        if (form.card_num.data):
            user.set_card_num(form.card_num.data)
        if (form.card_exp.data):
            user.set_card_exp(form.card_exp.data)
        user.set_password(form.password.data)
        db.session.add(user)
        msg = Message("Thank you for registering!",
                      sender="*****@*****.**",
                      recipients=[form.email.data])
        msg.body = "Thank you for registering for an account with our online bookstore! Your code to verify and activate your account is: {}".format(
            conf_code)
        db.session.commit()
        mail.send(msg)
        if session.get('orderId'):
            order = Order.query.filter_by(id=session.get('orderId')).first()
            order.user_id = user.id
            db.session.commit()

        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('create_account.html',
                           title='create_user',
                           form=form)
コード例 #31
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()

    if form.is_submitted():
        print("Submitted Successfully!")
    if form.validate():
        print("Validated")
    print(form.errors)

    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('Awesome, you\'re all set up!')
        sleep(3)
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #32
0
def register():
    """Register a new user account."""

    form = RegistrationForm(request.form)

    if request.method == "POST":
        if not form.validate():
            flash_errors(form)
            return render_template('register.html', form=form)

        user = User(email=form.email.data, password=form.password.data)
        db.session.add(user)
        db.session.commit()
        login_user(user)

        flash("Account created successfully!")

        return render_template('index.html')

    else:
        return render_template('register.html', form=form)
コード例 #33
0
def register():
    """Endpoint for creating a username and password to log in.

    On GET request:
        Email field is pre-populated with the session data from the landing
        page's email input form.  If they enter it there then there is no
        reason to enter it again.
    
    On POST request:
        email, password, and confirm_password fields are validated and then
        a query checks to see if there is already a Panelist registered with 
        that given email.  If there is, an error is flashed saying so.  If
        there is not, then the email and the hashed password are inserted and
        commited into the Panelists table.
        """
    # TODO: The panelist's email is entered into the session, and then this
    # is used in the update query to define which panelist row to update.  I
    # believe this will be better handled by calling lastrowid method/attribute
    # of cursor object 'DB' there. Probably not great to use session data.
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        email = form.email.data
        password = form.password.data
        confirm_password = form.confirm_password.data
        db = get_db()
        error = None
        if db.execute('SELECT panelist_id FROM Panelists WHERE email = ?',
                      (email, )).fetchone() is not None:
            error = 'User {} is already registered.'.format(email)
        else:
            db.execute('INSERT INTO Panelists (email, password) VALUES (?, ?)',
                       (email, generate_password_hash(password)))
            db.commit()
            session.clear()
            session['email'] = email
            return redirect(url_for('auth.details'))
        flash(error)

    form.email.data = session['email']
    return render_template('auth/register.html', form=form)
コード例 #34
0
ファイル: user.py プロジェクト: port-/cast-manager
    def register_user(self):
        # Redirect if already logged in
        if g.user is not None:
            return redirect(url_for('GenericView:index'))

        # Call our register form
        form = RegistrationForm(request.form)

        # Check if form is submitted and valid
        if request.method == 'POST' and form.validate():

            # Check to see if username already exists
            if User.query.filter(User.username.like(form.username.data)).first():
                g.error = not None
                flash('0Username taken, try another!')

            # Add the new user if there are no errors
            if g.error is None:
                new_user = User(
                    username=form.username.data, password=form.password.data)

                try:
                    db.session.add(new_user)
                    db.session.commit()
                    session['user_id'] = new_user.id
                    flash('1You\'ve been logged in and returned to the index.')

                    return redirect(url_for('GenericView:index'))
                except Exception:
                    flash('0Couldn\'t create user,')
                    return redirect(url_for('UserView:register'))

                return redirect(url_for('GenericView:index'))

        helpers.flash_errors(form)
        # Render default register page
        return render_template('register.html',
                               title='::Register',
                               form=form)
コード例 #35
0
def login_page():
    # if user is already logged in then redirect to index page...
    if current_user.is_authenticated:
        return redirect(url_for('login_bp.index'))

    # if a login request is received...
    login_form = LoginForm()
    if login_form.validate_on_submit():
        user = User.query.filter_by(username=login_form.LoginUsername.data).first()
        if user is None or not user.check_password(login_form.LoginPassword.data):
            flash('Username not recognised or invalid password provided - please try again')
            return redirect(url_for('login_bp.login_page'))
        else:
            login_user(user)
            return redirect(url_for('login_bp.index'))

    # if a registration request is received...
    registration_form = RegistrationForm()
    if registration_form.is_submitted():
        if registration_form.validate():
            user = User(username=registration_form.RegistrationUsername.data,
                        identity=registration_form.Identity.data,
                        alignment=registration_form.Alignment.data,
                        gender=registration_form.Gender.data,
                        sex=registration_form.Sex.data,
                        eye_colour=registration_form.EyeColour.data,
                        hair_colour=registration_form.HairColour.data,
                        is_alive={'living': True, 'deceased': False}[registration_form.Alive.data],
                        appearances=registration_form.Appearances.data)
            user.set_password(registration_form.RegistrationPassword.data)
            db.session.add(user)
            db.session.commit()
            login_user(user)
            return redirect(url_for('login_bp.index'))
        else:
            return render_template('login.html', login_form=login_form, registration_form=registration_form, registration_active=True), 205

    # else we have landed on the login page via a GET request...
    return render_template('login.html', login_form=login_form, registration_form=registration_form, registration_active=False)
コード例 #36
0
ファイル: views.py プロジェクト: kryskaks/librarian-heroku
def register():
	if request.method == "GET":
		return render_template("register.html", registration_form = RegistrationForm(), referrer = request.referrer or url_for('index'))

	form = RegistrationForm(request.form)	
	if not form.validate():
		return render_template("register.html", registration_form = form, referrer = request.form["referrer"] or url_for('index'))

	user = User.query.filter_by(login = form.login.data).all()

	if user:
		form.login.errors.append(constants.ERROR_USER_ALREADY_REGISTERED.format(name = form.login.data))
		return render_template("register.html", registration_form = form, referrer = request.form["referrer"] or url_for('index'))

	user = User(login = form.login.data, password = form.password.data)
	db.session.add(user)
	db.session.commit()
	
	session["user"] = user.login

	flash(constants.FLASH_MESSAGE_USER_REGISTERED.format(name = form.login.data))	
	return redirect(request.form["referrer"] or url_for("index"))
コード例 #37
0
def register():
    form = RegistrationForm()

    universities = models.University.query.all()
    universities_list = [(u.name, u.name) for u in universities]
    form.university_name.choices = universities_list

    faculties = models.Faculty.query.all()
    faculties_list = [(f.name, f.name) for f in faculties]
    form.faculty_name.choices = faculties_list

    # For Post Request: Submitting the registration form
    if request.method == "POST" and form.validate():
        # using the registration API
        response = requests.post("http://127.0.0.1:5000/api/registration",
                                 request.form,
                                 files=request.files)

        flash(response.json()["message"])
        return redirect('/')

    # For Get Request: Opening registration form
    return render_template("register.html", form=form)
コード例 #38
0
ファイル: session.py プロジェクト: Juju-And/kitchen-book
    def register():
        try:
            form = RegistrationForm(request.form)

            if request.method == "POST" and form.validate():
                email = form.email.data
                # hashed_password = sha256_crypt.encrypt((str(form.password.data)))

                exists = (db.session.query(
                    User.id).filter_by(email=email).scalar() is not None)

                if exists is None:
                    flash(
                        "That username is already taken, please choose another"
                    )
                    return render_template("register.html",
                                           form=form,
                                           selected_menu="register")

                else:
                    username = form.username.data
                    user = User(username=username, email=email)
                    user.set_password(form.password.data)
                    db.session.add(user)
                    db.session.commit()
                    flash(
                        f"Your account has been created! You are now able to log in!",
                        "success",
                    )
                    return redirect(url_for("mainpage"))

            return render_template("register.html",
                                   form=form,
                                   selected_menu="register")

        except Exception as e:
            return str(e)
コード例 #39
0
ファイル: routes.py プロジェクト: Shinabel/spoiled_tomatillos
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User(form.username.data, form.email.data, form.password.data,
                    False)
        # before adding into database, check if the email is already in the database.
        db.session.add(
            UserInfo(username=user.username,
                     email=user.email,
                     password=user.password,
                     register_date=datetime.datetime.now(),
                     confirmed=False,
                     confirmed_date=None))
        db.session.commit()

        token = generate_confirmation_token(user.email)
        confirm_url = url_for('confirm_email', token=token, _external=True)
        html = render_template('activate.html', confirm_url=confirm_url)
        subject = "Please confirm your email"
        send_email(user.email, subject, html)

        flash('Registration Succeeded: ' + user.username)
        return redirect(url_for('login'))
    return render_template('register.html', form=form)