From da86c7953c1ccfda7a16e97bc9fcfb7fd7dd87fd Mon Sep 17 00:00:00 2001 From: Rafael Araujo Oliveira Gomes <05260536665@receita.intranet> Date: Thu, 12 May 2022 14:45:04 -0300 Subject: [PATCH] =?UTF-8?q?rascunho=20formul=C3=A1rio=20simulacao?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/__init__.py | 10 +++-- app/forms.py | 20 +++++++++- app/routes.py | 16 +++++++- app/static/css/style.css | 4 +- app/templates/base.html | 11 +----- app/templates/new_simulation.html | 62 +++++++++++++++++++++++++++++++ 6 files changed, 105 insertions(+), 18 deletions(-) create mode 100644 app/templates/new_simulation.html diff --git a/app/__init__.py b/app/__init__.py index a384229..4531eb3 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -24,8 +24,9 @@ login.login_view = "login" -# Logs -# ---- +# Boilerplate de Logs +# ------------------- +# TODO: transformação em uma função if not app.debug: if not os.path.exists("logs"): os.mkdir("logs") @@ -34,13 +35,14 @@ ) file_handler.setFormatter( logging.Formatter( - "%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]" + '%(asctime)s %(name)s %(levelname)s' + 'l:%(lineno)d f:%(filename)s: %(message)s' ) ) file_handler.setLevel(logging.INFO) app.logger.addHandler(file_handler) app.logger.setLevel(logging.INFO) - app.logger.info("Econovolt startup") + app.logger.info("A aplicação Econovolt iniciou...") # Depois da instância da aplicação criada: diff --git a/app/forms.py b/app/forms.py index 7f0be5d..082ba7c 100644 --- a/app/forms.py +++ b/app/forms.py @@ -1,5 +1,5 @@ from flask_wtf import FlaskForm -from wtforms import StringField, PasswordField, BooleanField, SubmitField +from wtforms import StringField, PasswordField, BooleanField, SubmitField, TextAreaField, IntegerField, RadioField, SelectField, SelectMultipleField from wtforms.validators import ValidationError, DataRequired, Email, EqualTo from app.models import User @@ -47,3 +47,21 @@ def validate_email(self, email): user = User.query.filter_by(email=email.data).first() if user is not None: raise ValidationError("Por favor, use um email diferente.") + + +class NewSimulationForm(FlaskForm): + # as categorias deverão vir do db?? Colocar apenas itens maior consumo?? + # Para um item -- ou um for com o num itens?? + item_1 = SelectField("Itens", choices=["Geladeira", "Umidificador", "Chuveiro"], option_widget=None, validate_choice=True) + quantidade_1 = SelectField("Quantidade", choices=["1", "2", "3", "4", "5"], option_widget=None, validate_choice=True) + tempo_de_uso_1 = IntegerField("Tempo de uso em minutos") + potencia_1= IntegerField("Potência") + + item_2 = SelectField("Itens", choices=["Geladeira", "Umidificador", "Chuveiro"], option_widget=None, validate_choice=True) + quantidade_2 = SelectField("Quantidade", choices=["1", "2", "3", "4", "5"], option_widget=None, validate_choice=True) + tempo_de_uso_2 = IntegerField("Tempo de uso em minutos") # ou horas + potencia_2= IntegerField("Potência") + + + + submit = SubmitField("Adicionar") diff --git a/app/routes.py b/app/routes.py index 60f5aff..56f33cb 100644 --- a/app/routes.py +++ b/app/routes.py @@ -4,9 +4,9 @@ from app import app, db from app.forms import LoginForm, RegistrationForm from app.models import User -from app.forms import ResetPasswordRequestForm, ResetPasswordForm +from app.forms import ResetPasswordRequestForm, ResetPasswordForm, NewSimulationForm from app.email import send_password_reset_email - +import pdb @app.route("/") # users def index(): @@ -106,3 +106,15 @@ def reset_password(token): flash("Sua senha foi alterada.") return redirect(url_for("login")) return render_template("reset_password.html", form=form) + + +# View para realizar uma simulação +@app.route("/new_simulation", methods=["GET", "POST"]) +def new_simulation(): + #pdb.set_trace() + form = NewSimulationForm() + if request.method == "POST": + print(form.item.data, + form.quantidade.data) + return redirect(url_for("index")) + return render_template("new_simulation.html", form=form) \ No newline at end of file diff --git a/app/static/css/style.css b/app/static/css/style.css index ca1321a..3f50263 100644 --- a/app/static/css/style.css +++ b/app/static/css/style.css @@ -34,4 +34,6 @@ body { left: 0; } - \ No newline at end of file + textarea { + resize: none; + } \ No newline at end of file diff --git a/app/templates/base.html b/app/templates/base.html index 4ab3e2b..d717a02 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -61,16 +61,7 @@ - + diff --git a/app/templates/new_simulation.html b/app/templates/new_simulation.html new file mode 100644 index 0000000..d2e1dda --- /dev/null +++ b/app/templates/new_simulation.html @@ -0,0 +1,62 @@ +{% extends 'base.html' %} +{% block title %} Realizar uma simulação {% endblock %} + +{% block content %} +