def register(): if flask.g.user: return flask.redirect(redirect_url()) form = forms.RegisterForm(flask.request.form) if flask.request.method == 'POST' and form.validate(): ip = ip_address(flask.request.remote_addr).packed if _check_for_multi_account( ip, app.config.get('PER_IP_ACCOUNT_COOLDOWN', 0)): flask.flash( 'You or somebody else has already registered an account from this IP ' 'recently. You cannot register another one.', 'danger') return flask.render_template('register.html', form=form) user = models.User(username=form.username.data.strip(), email=form.email.data.strip(), password=form.password.data) user.registration_ip = ip user.last_login_ip = ip db.session.add(user) db.session.commit() if app.config['RAID_MODE_LIMIT_REGISTER']: flask.flash( flask.Markup( app.config['RAID_MODE_REGISTER_MESSAGE'] + ' ' 'Please <a href="{}">ask a moderator</a> to manually ' 'activate your account <a href="{}">\'{}\'</a>.'.format( flask.url_for('site.help') + '#irchelp', flask.url_for('users.view_user', user_name=user.username), user.username) ), 'warning') elif models.RangeBan.is_rangebanned(user.registration_ip): flask.flash( flask.Markup( 'Your IP is blocked from creating new accounts. ' 'Please <a href="{}">ask a moderator</a> to manually ' 'activate your account <a href="{}">\'{}\'</a>.'.format( flask.url_for('site.help') + '#irchelp', flask.url_for('users.view_user', user_name=user.username), user.username)), 'warning') else: if app.config[ 'USE_EMAIL_VERIFICATION']: # force verification, enable email send_verification_email(user) return flask.render_template('waiting.html') else: # disable verification, set user as active and auto log in user.status = models.UserStatusType.ACTIVE db.session.add(user) db.session.commit() flask.g.user = user flask.session['user_id'] = user.id flask.session.permanent = True flask.session.modified = True return flask.redirect(redirect_url()) return flask.render_template('register.html', form=form)
def register(): if flask.g.user: return flask.redirect(redirect_url()) form = forms.RegisterForm(flask.request.form) if flask.request.method == 'POST' and form.validate(): user = models.User(username=form.username.data.strip(), email=form.email.data.strip(), password=form.password.data) user.last_login_ip = ipaddress.ip_address(flask.request.remote_addr).packed db.session.add(user) db.session.commit() if config.USE_EMAIL_VERIFICATION: # force verification, enable email activ_link = get_activation_link(user) send_verification_email(user.email, activ_link) return flask.render_template('waiting.html') else: # disable verification, set user as active and auto log in user.status = models.UserStatusType.ACTIVE db.session.add(user) db.session.commit() flask.g.user = user flask.session['user_id'] = user.id flask.session.permanent = True flask.session.modified = True return flask.redirect(redirect_url()) return flask.render_template('register.html', form=form)
def register(): if flask.g.user: return flask.redirect(redirect_url()) form = forms.RegisterForm(flask.request.form) if flask.request.method == 'POST' and form.validate(): user = models.User(username=form.username.data.strip(), email=form.email.data.strip(), password=form.password.data) user.last_login_ip = ip_address(flask.request.remote_addr).packed db.session.add(user) db.session.commit() if models.RangeBan.is_rangebanned(user.last_login_ip): flask.flash(flask.Markup('Your IP is blocked from creating new accounts. ' 'Please <a href="{}">ask a moderator</a> to manually ' 'activate your account <a href="{}">\'{}\'</a>.' .format(flask.url_for('site.help') + '#irchelp', flask.url_for('users.view_user', user_name=user.username), user.username)), 'warning') else: if app.config['USE_EMAIL_VERIFICATION']: # force verification, enable email send_verification_email(user) return flask.render_template('waiting.html') else: # disable verification, set user as active and auto log in user.status = models.UserStatusType.ACTIVE db.session.add(user) db.session.commit() flask.g.user = user flask.session['user_id'] = user.id flask.session.permanent = True flask.session.modified = True return flask.redirect(redirect_url()) return flask.render_template('register.html', form=form)