diff --git a/forms/register.py b/forms/register.py index 8da6fc7..bb3e737 100644 --- a/forms/register.py +++ b/forms/register.py @@ -9,7 +9,7 @@ class RegisterForm(FlaskForm): name = StringField('Имя', validators=[DataRequired()]) surname = StringField('Фамилия', validators=[DataRequired()]) login = StringField('Логин', validators=[DataRequired()]) - age = IntegerField('Возраст', validators=[DataRequired()]) + age = IntegerField('Возраст') about = TextAreaField('Расскажите о себе', default='') photo = FileField('Фото', validators=[FileAllowed(['jpg', 'png'], 'Images only!')]) password = PasswordField('Пароль', validators=[DataRequired()]) @@ -17,6 +17,7 @@ class RegisterForm(FlaskForm): submit = SubmitField('Регистрация') del_photo = SubmitField('Удалить фотографию') submit2 = SubmitField('Сохранить') + simple = False class Confirmation(FlaskForm): diff --git a/main.py b/main.py index ebd2692..e9801b2 100644 --- a/main.py +++ b/main.py @@ -4,7 +4,7 @@ from random import randint, choices from waitress import serve import logging -from flask import Flask, render_template, request +from flask import Flask, render_template, request, jsonify, make_response from flask_login import LoginManager, login_user, logout_user, login_required, current_user from flask_restful import abort from werkzeug.utils import redirect @@ -693,11 +693,22 @@ def confirmation(): session.commit() send_msg = False help_arg = False - return redirect('/login') + if form.simple: + return redirect('/simple/can_close') + else: + return redirect('/login') else: - return render_template('confirmation_reg.html', title='Подтверждение', form=conf, - message='Коды не совпадают') - return render_template('confirmation_reg.html', title='Подтверждение', form=conf, message='') + if form.simple: + return render_template('simple_confimication.html', title='Подтверждение', form=conf, + message='Коды не совпадают') + else: + return render_template('confirmation_reg.html', title='Подтверждение', form=conf, + message='Коды не совпадают') + if form.simple: + return render_template('simple_confimication.html', title='Подтверждение', form=conf, + message='Коды не совпадают') + else: + return render_template('confirmation_reg.html', title='Подтверждение', form=conf, message='') else: conf = Confirmation() if not send_msg: @@ -713,11 +724,37 @@ def confirmation(): send_msg = False help_arg = False return redirect('/profile') - return render_template('confirmation_reg.html', title='Подтверждение', form=conf, message='') + + if form.simple: + return render_template('simple_confimication.html', title='Подтверждение', form=conf, + message='Коды не совпадают') + else: + return render_template('confirmation_reg.html', title='Подтверждение', form=conf, message='') else: return redirect('/') +@app.route('/school_app_check_auth', methods=['POST']) +def check_auth(): + req = request.json + email = req['login'] + password = req['password'] + session = db_session.create_session() + user = session.query(User).filter(User.email == email).first() + if user: + if user.check_password(password): + return make_response(jsonify({'key': ''}), 200) + else: + return abort(403) + else: + return abort(404) + + +@app.route('/simple/can_close') +def can_close(): + return render_template('simple_can_close.html', title='Можете закрыть страницу') + + @app.route('/register', methods=['GET', 'POST']) def register(): global help_arg @@ -744,6 +781,33 @@ def register(): return render_template('register.html', title='Регистрация', form=form, message='') +@app.route('/simple/register', methods=['GET', 'POST']) +def school_reg(): + global help_arg + global photo + form = RegisterForm() + form.simple = True + if form.validate_on_submit(): + if form.password.data != form.password2.data: + return render_template('simple_register.html', title='Регистрация', + form=form, + message="Пароли не совпадают") + session = db_session.create_session() + if session.query(User).filter(User.login == form.login.data).first(): + return render_template('simple_register.html', title='Регистрация', + form=form, + message="Такой пользователь уже есть") + if session.query(User).filter(User.email == form.email.data).first(): + return render_template('simple_register.html', title='Регистрация', + form=form, + message="Такая почта уже есть") + help_arg = form + if form.photo.data: + photo = save_photo(form.photo.data, form.login.data) + return redirect('/confirmation') + return render_template('simple_register.html', title='Регистрация', form=form, message='') + + @app.route('/recovery', methods=['GET', 'POST']) def recovery(): global send_msg diff --git a/static/css/simple_can_close.css b/static/css/simple_can_close.css new file mode 100644 index 0000000..b373e44 --- /dev/null +++ b/static/css/simple_can_close.css @@ -0,0 +1,12 @@ +.can_centre { + width: 80%; + margin-left: auto; + margin-right: auto; +} +#hz1, #hz2 { + width: 60%; + margin-left: 20%; + margin-right: 20%; + text-align: center; + margin-top: 25px; +} \ No newline at end of file diff --git a/templates/simple_can_close.html b/templates/simple_can_close.html new file mode 100644 index 0000000..80ac140 --- /dev/null +++ b/templates/simple_can_close.html @@ -0,0 +1,22 @@ + + + + + + + + + + {{title}} + + +
+

Можете закрыть страницу

+

Вы можете закрыть эту страницу и перейти на страницу входа

+
+ + \ No newline at end of file diff --git a/templates/simple_confimication.html b/templates/simple_confimication.html new file mode 100644 index 0000000..eb07f8d --- /dev/null +++ b/templates/simple_confimication.html @@ -0,0 +1,39 @@ + + + + + + + + + + {{title}} + + +
+

Подтверждение почты

+
+ {{ form.hidden_tag() }} + {{ form.csrf_token }} +

Мы отправили секретный код вам на почту

+

+ {{ form.code_key.label }}
+ {{ form.code_key(class="form-control") }}
+ {% for error in form.code_key.errors %} +

+ {% endfor %} +

+

{{ form.submit(type="submit", class="btn btn-primary") }}

+ {% if message != '' %} + + {% endif %} +
+
+ + \ No newline at end of file diff --git a/templates/simple_register.html b/templates/simple_register.html new file mode 100644 index 0000000..6636ec6 --- /dev/null +++ b/templates/simple_register.html @@ -0,0 +1,82 @@ + + + + + + + + + + {{title}} + +
+

Регистрация

+
+ {{ form.hidden_tag() }} + {{ form.csrf_token }} +
+ + {{ form.name(class="form-control", type="text") }} + {% for error in form.name.errors %} + + {% endfor %} +
+
+ + {{ form.surname(class="form-control", type="text") }} + {% for error in form.surname.errors %} + + {% endfor %} +
+
+ + {{ form.email(class="form-control", type="email") }} + {% for error in form.email.errors %} + + {% endfor %} +
+
+ + {{ form.password(class="form-control", type="password") }} + {% for error in form.password.errors %} + + {% endfor %} +
+
+ + {{ form.password2(class="form-control", type="password") }} + {% for error in form.password2.errors %} + + {% endfor %} +
+
+ + {{ form.login(class="form-control", type="text") }} + {% for error in form.login.errors %} + + {% endfor %} +
+
+

{{ form.submit(type="submit", class="btn btn-primary", style="background-color:#38aaff") }}

+ {% if message != '' %} + + {% endif %} +
+
+
\ No newline at end of file