async def post(self): form = RegistrationForm(self.request.arguments) if form.validate(): usr = form.get_object() usr.set_password(usr.password) try: await usr.insert(self.db) except DuplicateKeyError: form.set_field_error('email', 'email_occupied') else: # user save succeeded self.set_current_user(usr.email) self.post_success() return self.post_failed(form)
def register(): form = RegistrationForm(request.form) if form.validate(): if DelhiveryUser.find_user(form.email.data): form.email.errors.append("Email address already registered") return render_template('delhivery.html', loginform=LoginForm(), registrationform=form) else: user = DelhiveryUser(email=form.email.data) user.first_name = form.first_name.data user.last_name = form.last_name.data role = DelhiveryHierarchy.objects.get(role=form.role.data) user.role = role user.set_password(form.password.data) user.save() flash('Successfully registered', 'success') return redirect(url_for('auth_views.delhivery_index')) return render_template("delhivery.html", loginform=LoginForm(), registrationform=form)