Пример #1
0
def user_edit(user_id: int):
    user = get(User, user_id)
    if request.method == 'POST':
        form = UserForm(request.form, obj=user)
        if form.validate():
            form.populate_obj(user)
            user.save()
            flash('Yes, usuário alterado com sucesso.', 'success')
            return redirect(url_for('users.user_index'))
    else:
        form = UserForm(obj=user)
    return render_template('users/edit.html', form=form)
Пример #2
0
def user_new():
    user = User()
    if request.method == 'POST':
        form = UserForm(request.form, obj=user)
        if form.validate():
            try:
                form.populate_obj(user)
                validate_user(user)
                user.save()
                flash('Yes, usuário cadastrado com sucesso.', 'success')
                return redirect(url_for('users.user_index'))
            except AttributeError as e:
                flash(str(e), 'warning')
    else:
        form = UserForm(obj=user)
    return render_template('users/new.html', form=form)
Пример #3
0
    def post(self):
        userform = UserForm(TornadoMultiDict(self.request.arguments))

        try:
            self._validate_or_exception(userform) # Validate Form
            new_user = self.db.User() # Declare a blank User model
            userform.populate_obj(new_user) # Populate User with form data
            new_user.set_password(userform.passwd.data)
            new_user.save()
        except Exception, e:
            self.render(self.tpl, **{
                'error': e,
                'nav_active': 'admin',
                'menu_active': 'adduser',
                'userform': userform,
                })
Пример #4
0
Файл: user.py Проект: nod/cinepy
    def post(self):
        userform = UserForm(TornadoMultiDict(self.request.arguments))

        try:
            self._validate_or_exception(userform)  # Validate Form
            new_user = self.db.User()  # Declare a blank User model
            userform.populate_obj(new_user)  # Populate User with form data
            new_user.set_password(userform.passwd.data)
            new_user.save()
        except Exception, e:
            self.render(
                self.tpl, **{
                    'error': e,
                    'nav_active': 'admin',
                    'menu_active': 'adduser',
                    'userform': userform,
                })
Пример #5
0
    def _user_edit(self, user):
        try:
            post_args = TornadoMultiDict(self.request.arguments)
            if self.current_user.is_admin:
                # Admin can edit the full UserForm
                form = UserForm(post_args, update=True)
            else:
                # Users can only change their passwords
                form = PasswordForm(post_args, user)

            # Validate the form
            self._validate_or_exception(form)

            form.populate_obj(user)
            if form.passwd.data:
                user.set_password(form.passwd.data)
            user.save()

        except Exception, e:
            self.render(self.tpl, **{
                'error': e,
                'user': user,
                'userform': form,
                })
Пример #6
0
def signup():
    form = UserForm(request.form)

    if not form.validate_on_submit():
        return render_template('signup.html', form=form)

    user = User()
    form.populate_obj(user)
    passwd = form.password.data # un-encrypted

    if not Whitelist.allowed(user.email):
        flash(u"Desværre - du skal have en email fra et godkendt uddannelsessted", 'error')
        return render_template('signup.html', form=form)

    token = ValidationTokens(user=user,
                             type=ValidationTokens.CREATE_USER,
                             password=passwd)

    db.session.add(user)
    db.session.add(token)

    db.session.commit()

    link = '%s?token=%s' % (url_for(verify.__name__, _external=True), token.token)
    msg = render_template('email_verification.txt', user=user, link=link)

    mail.send(receivers=[u'%s <%s>' % (user.username, user.email)],
              subject=u'Bekræft din email adresse til Iftek-skyen',
              text=msg)

    flash(u"""Fedt, du er blevet oprettet!<br /><br />
For at aktivere din konto, skal du bekræfte din email adresse.<br /><br />
Vi har sendt en email med et link<br /><br />
Ses snart i skyen!""")

    return redirect(url_for(flash_message.__name__))