コード例 #1
0
def account_register(request):
    if request.method == 'POST':
        form = forms.RegistrationForm(request.POST) # Bind to user submitted form
        if form.is_valid():
            # Process account registration
            user = User.objects.create_user(username=form.cleaned_data['email'], email=form.cleaned_data['email'], password=form.cleaned_data['password'])
            user.first_name=form.cleaned_data['first_name']
            user.last_name=form.cleaned_data['last_name']
            user.is_active = False
            user.save()

            # Generate a activation key using existing salt for pwd
            algorithm, iterations, salt, hashed = user.password.split('$', 3)
            activation_key = make_password(user.email, salt, algorithm)
            algorithm, iterations, salt, activation_key = activation_key.split('$', 3)
            activation_key = activation_key[:-1]
            # Alternative char for + and /
            activation_key = activation_key.replace('+','-').replace('/','_')

            title = 'Account Activation'
            content = render_to_string('email/register.email', {'first_name': user.first_name, 'last_name': user.last_name, 'is_secure': request.is_secure(), 'host': request.get_host(), 'activation_key': activation_key, 'sender': settings.PROJECT_NAME})

            send_mail(title, content, settings.PROJECT_NAME + ' <' + settings.EMAIL_HOST_USER + '>', [user.email])

            return render(request, 'account/account.register.success.html')
    else:
        # Display new form for user to fill in
        form = forms.RegistrationForm()

    return render(request, 'account/account.register.form.html', {'form': form})
コード例 #2
0
ファイル: app.py プロジェクト: Fotonque/flask-test
def register():
    if flask_login.current_user.is_authenticated:
        print("yea")
        return flask.redirect(flask.url_for('myProfile'))
    form = forms.RegistrationForm()
    if flask.request.method == 'POST':
        if form.validate_on_submit():
            print(form.username)
            print(form.email)
            print(form.password)
            print(form.confirmPassword)

            user = libuser.User(form.username.data, form.password.data,
                                form.email.data)

            result = db.insert_user(user)
            print(result)
            if result == db.SUCCESS:
                flask.flash(u'Account created', 'success')
                print("Account has been created")
                print(user.login, user.password, user.email)
                return flask.redirect(flask.url_for('index'))
            else:
                flask.flash(u'Account creation error', 'error')
                flask.flash(u'Login already exist in database', 'error')
                print("Login already exist in database")

    return flask.render_template('register/register.html', form=form)
コード例 #3
0
def register():

    if 'username' in session:
        return redirect(url_for('/profile'))

    form = forms.RegistrationForm(request.form)

    if request.method == 'POST' and form.validate():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            flash('Sorry, but this email is already used :(', _CATEGORY_ERROR)
            return render_template('register.html', form=form)

        try:
            gmt = int(request.form['timezone'])
        except TypeError:
            return render_template('register.html', form=form)

        user = User(e=form.email.data,
                    un=form.name.data,
                    psw=form.password.data,
                    gmt=gmt)
        db.session.add(user)
        db.session.commit()

        flash('Hoooooray! You have registered at our awesome service :)',
              _CATEGORY_MESSAGE)
        return redirect(url_for('login'))

    return render_template('register.html', form=form)
コード例 #4
0
ファイル: views.py プロジェクト: PihPuhDevelopment/Lab7-2-
def register(request):
    context = _get_user_context(request)
    errors = []

    if context['user_logged_in']:
        return HttpResponseRedirect('/')

    if request.method == 'POST':
        form = forms.RegistrationForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            email = form.cleaned_data['email']
            firstname = form.cleaned_data['firstname']
            lastname = form.cleaned_data['lastname']
            password = form.cleaned_data['password']
            confirmpass = form.cleaned_data['confirmpass']

            if password != confirmpass:
                errors.append("Пароли не совпадают")

            data = form.data.copy()
            same = None
            try:
                same = User.objects.get(username=username)
            except User.DoesNotExist:
                pass
            if same:
                errors.append("Пользователь с таким именем уже существует")
                data['username'] = ""

            same = None
            try:
                same = User.objects.get(email=email)
            except User.DoesNotExist:
                pass
            if same:
                errors.append("Пользователь с таким адресом эл. почты уже существует")
                data['email'] = ""
            form.data = data
            if errors:
                return render(request, 'register.html', {'form': form,
                                                         'errors': errors})

            User.objects.create_user(username=username, email=email, password=password, first_name=firstname, last_name=lastname)
            return HttpResponseRedirect("/login/")

    return render(request, 'register.html', {'form': forms.RegistrationForm(), 'errors': []})
コード例 #5
0
ファイル: thing.py プロジェクト: trendinafrica/TReND-links
def register():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        flash('Yay! You registered.', 'success')
        models.User.create_user(email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #6
0
def registration():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        flash("You are registered!", "success")
        models.User.create_user(username=form.username.data,
                                email=form.email.data,
                                password=form.password.data)
        return redirect(url_for('index'))
    return render_template('registration.html', form=form)
コード例 #7
0
def register():
    """View for a new user to register."""
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        models.User.create_user(username=form.username.data,
                                email=form.email.data,
                                password=form.password.data)
        flash("Yay, you registered!", "success")
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #8
0
def register():
    """Register New User"""
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        flash("Yay, you registered!", "success")
        models.User.create_user(
            email=form.email.data,
            password=form.password.data
        )
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #9
0
def register():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        flash('Registration successful!')
        models.User.make_user(username=form.username.data,
                              email=form.email.data,
                              password=form.password.data)
        user = models.User.get(models.User.username == form.username.data)
        login_user(user)
        return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #10
0
def register():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        models.User.create(first_name=form.first_name.data,
                           email=form.email.data,
                           password=generate_password_hash(
                               form.password1.data))
        user = models.User.get(models.User.email == form.email.data)
        login_user(user)
        flash("You are registered!", "success")
        return redirect(url_for("entries"))
    return render_template("register.html", form=form)
コード例 #11
0
def register():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        user = models.User(email=form.email.data,
                           username=form.username.data,
                           password=form.password.data)
        current_app.db.session.add(user)
        current_app.db.session.commit()
        flash('You can now login.')
        return redirect(url_for('auth.login'))

    return render_template('auth/register.html', form=form)
コード例 #12
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = forms.RegistrationForm()
    if form.validate_on_submit():
        models.User.create_user(username=form.username.data.lower(),
                                email=form.email.data.lower(),
                                password=form.password.data)

        flash("You have successfully registered!", "success")
        return redirect(url_for("login"))
    return render_template('register.html', form=form, title="Register")
コード例 #13
0
def register_page(request):
    if request.method == 'POST':
        form = forms.RegistrationForm(request.POST)
        if form.is_valid():
            user = User.objects.create_user(username=form.clean_username(),
                                            password=form.clean_password2(),
                                            email=form.clean_email())
            user.is_staff = True
            user.issuperset
            user.groups.add(1)
            user.save()

        else:
            return render_to_response('register_errors.html',
                                      {'errors': str(form.errors)})

        return HttpResponseRedirect('/admin/')
    else:
        form = forms.RegistrationForm()
        # in case of csrf error, requestcontext should be used here
        variables = RequestContext(request, {'form': form})
        return render_to_response('register.html', variables)
コード例 #14
0
ファイル: tacocat.py プロジェクト: janthenelli/tacocat
def register():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        try:
            models.User.create_user(email=form.email.data,
                                    password=form.password.data)
        except ValueError:
            flash("User '{}' already exists.".format(form.email.data), "error")
        else:
            flash("User '{}' created successfully.".format(form.email.data),
                  "success")
            return redirect(url_for('index'))
    return render_template('register.html', form=form)
コード例 #15
0
ファイル: radio.py プロジェクト: Pythems/Work_station
def register():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = models.User(username=form.username.data,
                           email=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('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #16
0
    def get(self):
        if self.current_user:
            self.redirect('/')
            return

        invite_code = self.get_argument('invite', None)
        is_valid_invite = yield tornado.gen.Task(self.check_invite,
                                                 invite_code)

        if is_valid_invite:
            self.render("register.html", form=forms.RegistrationForm())
        else:
            form = forms.SignupForm()
            self.render("invite.html", form=form)
コード例 #17
0
ファイル: tacocat.py プロジェクト: Marksparkyryan/TacoSocial
def registration():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        try:
            new_user = models.User.create_user(
                email=form.email.data,
                password=form.password.data,
            )
        except ValueError:
            pass
        else:
            flash("Yay! You registered!", "success")
            return redirect(url_for("index"))
    return render_template("register.html", form=form)
コード例 #18
0
def register():
    loginForm = forms.RegistrationForm()
    if loginForm.validate_on_submit():
        flask.flash('Registration successful!', 'success')
        #Take the information submitted, add and save the db
        if models.CCUser.query.filter_by(email=loginForm.email.data).first():
            flask.flash('User already exists!', 'warning')
            return flask.render_template('registration.html', form=loginForm)
        else:
            u = models.CCUser(loginForm.email.data, loginForm.password.data,
                              False)
            db.session.add(u)
            db.session.commit()
            return flask.redirect('/', code=302)
    return flask.render_template('registration.html', form=loginForm)
コード例 #19
0
ファイル: views.py プロジェクト: burtay/ISS
    def POST(self, request):
        form = forms.RegistrationForm(request.POST)

        if form.is_valid():
            poster = form.save(commit=True)

            # Ceremoniously call authenticate so login will succeed
            poster = authenticate(username = form.cleaned_data['username'],
                                  password = form.cleaned_data['password1'])
            login(request, poster)
            return HttpResponseRedirect('/')

        else:
            ctx = { 'form': form }

            return render(request, 'register.html', ctx)
def register():
    form = forms.RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        email = form.email.data
        username = form.username.data
        password = sha256_crypt.encrypt(str(form.password.data))

        with get_db() as db:
            if email in [i['email'] for i in db.execute('SELECT * FROM users')]:
                flash('This email has already registered!', 'error')
                redirect(url_for('register'))
            else:
                db.execute('INSERT INTO users(email, username, password) VALUES (?, ?, ?)', (email, username, password))
                flash('You are now registered and can login!', 'success')
                return redirect(url_for('login'))

    return render_template('register.html', form=form)
コード例 #21
0
ファイル: main.py プロジェクト: micduan/schedulegenwebapp
def register():
    form = forms.RegistrationForm()
    if current_user.is_authenticated:
        return render_template("index.html")
    if form.validate_on_submit():
        user = models.User(username=form.username.data,
                           email=form.email.data,
                           first=form.first.data,
                           last=form.last.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        login_form = forms.LoginForm()
        login_user(user)
        return render_template("index.html", form=form)
    return render_template('register.html', title='Register', form=form)
コード例 #22
0
ファイル: home.py プロジェクト: ABTCoder/ProblogContracciami
def register():
    if current_user.is_authenticated:  # Se è già autenticato
        return redirect(url_for('index'))

    form = forms.RegistrationForm(
    )  # Classe per la validazione dei dati inseriti
    if request.method == "POST" and form.validate_on_submit(
    ):  # Metodo post e validazione a buon fine
        user = User(username=form.username.data,
                    email=form.email.data,
                    cf=form.cf.data)
        user.set_password(form.password.data)
        ef.add_user(user)  # external function for db population
        flash('Congratulazioni, hai un account!')
        return redirect(url_for('login'))

    return render_template('register.html', title='Register', form=form)
コード例 #23
0
    def post(self, *args, **kwargs):
        if self.current_user:
            self.redirect('/')
            return

        invite_code = self.get_argument('invite', None)
        is_valid_invite = yield tornado.gen.Task(self.check_invite,
                                                 invite_code)

        if not is_valid_invite:
            self.redirect('/register')
            return

        form = forms.RegistrationForm(self)
        if not form.validate():
            self.render("register.html", form=form)
            return

        password_hash = helper.hash_password(form.password.data)

        user = User()
        #form.populate_obj(user)
        user.email = form.email.data
        user.password_hash = password_hash
        user.screen_name = form.screen_name.data
        user.zipcode = form.zipcode.data
        user.gender = form.gender.data
        user.birth_date = datetime(form.birth_date_year.data,
                                   form.birth_date_month.data,
                                   form.birth_date_day.data)
        user.opt_in = form.subscribe.data
        user.invite_code = invite_code

        result = yield motor.Op(self.db.users.insert, user.to_dict())
        user._id = str(result)

        if invite_code:
            #Update the invite table to reflect the use
            spec = {'code': invite_code}
            update = {'$inc': {'redeemed_count': 1}}
            yield motor.Op(self.db.invites.update, spec, update)

        #TODO: Send confirmation email!

        self.login_user(user)
        self.redirect('/')
コード例 #24
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('books_page', username=current_user.username))
    else:
        form = forms.RegistrationForm()
        if form.validate_on_submit():
            flash('Great, You\'re registered.')
            new_user = models.User(name=form.name.data,
                                   username=form.username.data,
                                   email=form.email.data,
                                   password=generate_password_hash(
                                       form.password.data).decode('utf-8'))
            db.session.add(new_user)
            db.session.commit()
            user = models.User.query.filter_by(email=form.email.data).first()
            login_user(user)
            return redirect(url_for('books_page', username=user.username))
    return render_template('register.html', form=form)
コード例 #25
0
ファイル: app.py プロジェクト: AChelikani/Puzzle-Hunt-Site
def register():
    form = forms.RegistrationForm(request.form)
    error_msg = None
    if request.method == 'POST' and form.validate():
        tm = Team(form.name.data, form.username.data, hash(form.password.data),
                  form.email.data)
        if not team.is_team_unique(tm):
            error_msg = "Team already exists!"
        elif not team.is_username_unique(tm):
            error_msg = "Username already exists!"
        else:
            db.add_team(tm)
            print(
                "\n Adding Team\n Team: {}, Email: {}, Username: {}, Code: {}\n"
                .format(tm.name, tm.email, tm.username, tm.code))
            slack.log_team_registration(tm)
            #mailgun.send_registration_email(tm.email, team_code)
            return render_template("completed_registration.html")
    return render_template("register.html", form=form, error=error_msg)
コード例 #26
0
def register_page():
    if current_user.is_authenticated:
        return redirect("index_page")
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        user_name = form.user_name.data
        email = form.email.data
        password = form.password.data
        try:
            new_user = models.User(user_name=user_name,
                                   email=email,
                                   password_hash=password)
            new_user.set_password_hash(password)
            session.add(new_user)
            session.commit()
        except:
            print("Ошибка добавления в БД")
        flash("Вы успешно зарегистрированы", "success")
        return redirect(url_for("index_page"))
    return render_template("register.html", form=form)
コード例 #27
0
def sign_up():
    #Sign up view to add player id, name, email, and hashed password to database.
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        email_query = model.session.query(
            model.User).filter_by(email=form.email.data).all()
        hashed = bcrypt.hashpw(form.password.data, bcrypt.gensalt(10))
        if not email_query:
            user = model.User(id=None,
                              name=form.name.data,
                              email=form.email.data,
                              password=hashed)
            model.session.add(user)
            model.session.commit()
            login_user(user)
            return redirect("/contacts")
        else:
            flash('Account exists. Please log in.')
            return redirect('/sign_up')
    else:
        return render_template("sign_up.html", form=form)
コード例 #28
0
def register():
    """ Registers a new user """
    if session:
        return redirect(url_for("index"))

    form = forms.RegistrationForm(request.form)
    if request.method == "GET":
        return render_template("register.html", form=form, title="Register")

    elif request.method == "POST":
        try:
            email = form.email.data
            firstname = form.firstname.data.strip().title()
            lastname = form.lastname.data.strip().title()
            country = form.country.data.strip().title()
            city = form.city.data.strip().title()
            zip = form.zip.data.strip()
            street = form.street.data.strip().title()
            tel_nr = form.tel_nr.data.strip()
            password = bcrypt.generate_password_hash(
                form.password.data).decode("utf-8")

            with db_functions.create_db_conn() as conn:
                with db_functions.create_db_cur(conn) as cur:
                    cur.execute(
                        """INSERT INTO customer VALUES
                                (%s, %s, %s, %s, %s, %s, %s, %s, %s)""",
                        (email, firstname, lastname, country, city, zip,
                         street, tel_nr, password))
            conn.close()

            session["logged_in"] = True
            session["email"] = email

            flash(f"Welcome to Mortfors Bus, {firstname}!", "success")
            return redirect(url_for("index"))
        except:
            flash("An account is already registered with this email address",
                  "danger")
            return redirect(url_for("register"))
コード例 #29
0
ファイル: app.py プロジェクト: kjudd/milles-bornes
def login():
    #If user is already in session, redirect to choose game.
    if current_user and current_user.is_authenticated:
        return redirect("/choose_game")

    #Sign up view to add player id, name, email, and hashed password to database.
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        email_query = model.session.query(model.Player).filter_by(email=form.email.data).all()
        hashed = bcrypt.hashpw(form.password.data, bcrypt.gensalt(10))
        if not email_query:
            player = model.Player(id=None, name=form.name.data, email=form.email.data,
                                  password=hashed)
            model.session.add(player)
            model.session.commit()
            login_user(player)
            return redirect("/choose_game")
        else:
            print email_query
            flash('Account exists. Please log in.')
            return redirect('/')

    #Login view to allow user to log in, compares given password to salted password.
    login_form = forms.LoginForm()
    if login_form.validate_on_submit():
        player = model.session.query(model.Player).filter_by(email=login_form.email.data).first()
        if player is None:
            flash('Invalid login. Please try again.')
            return redirect('/')
        elif bcrypt.hashpw(login_form.password.data, player.password) == player.password:
                login_user(player)
                return redirect("/choose_game")
        else:
            flash('Invalid password. Please try again.')
            return redirect('/')
    else:
        return render_template("login.html", form=form)
コード例 #30
0
ファイル: main.py プロジェクト: Vane86/yl_web
def registration_page():
    form = forms.RegistrationForm()
    if form.validate_on_submit():
        user = User(form.name.data, form.email.data, form.password.data)
        s = db_session.create_session()
        try:
            s.add(user)
            s.commit()
        except IntegrityError:
            return render_template(
                'register.html',
                title='Регистрация',
                form=form,
                message='Пользователь с таким E-mail уже существует!')
        except Exception as e:
            print(e)
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message='Произошла неизвестная ошибка.')
        finally:
            s.close()
        return redirect('/login')
    return render_template('register.html', title='Регистрация', form=form)