adicionando login - ainda precisa corrigir

This commit is contained in:
LS
2025-02-28 13:47:22 -03:00
parent de132b82c1
commit aa22102b5a
3 changed files with 68 additions and 0 deletions

1
config.py Normal file
View File

@@ -0,0 +1 @@
SECRET_KEY = 'sua_chave_secreta_aqui' # Use uma chave segura em produção

27
scripts/init_db.py Normal file
View File

@@ -0,0 +1,27 @@
from functions.database import Role, Permissao, RolePermissao, Base, engine
from sqlalchemy.orm import Session
def init_db():
Base.metadata.create_all(engine)
with Session(engine) as session:
# Criar roles
admin = Role(nome='Administrador', nivel=1)
coord = Role(nome='Coordenador', nivel=2)
milit = Role(nome='Militante', nivel=3)
# Criar permissões
perm_admin = Permissao(nome='admin', descricao='Acesso total')
perm_militantes = Permissao(nome='ver_militantes', descricao='Ver militantes')
# ... outras permissões ...
session.add_all([admin, coord, milit, perm_admin, perm_militantes])
session.commit()
# Associar permissões aos roles
session.add(RolePermissao(role=admin, permissao=perm_admin))
session.add(RolePermissao(role=coord, permissao=perm_militantes))
session.commit()
if __name__ == '__main__':
init_db()

40
templates/login.html Normal file
View File

@@ -0,0 +1,40 @@
{% extends 'base.html' %}
{% block title %}Login{% endblock %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-md-6 offset-md-3">
<h2 class="mb-4">Login</h2>
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for category, message in messages %}
<div class="alert alert-{{ category }}">{{ message }}</div>
{% endfor %}
{% endif %}
{% endwith %}
<form method="post">
<div class="mb-3">
<label for="username" class="form-label">Usuário:</label>
<input type="text" class="form-control" id="username" name="username" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Senha:</label>
<input type="password" class="form-control" id="password" name="password" required>
</div>
<div class="mb-3">
<label for="otp" class="form-label">Código OTP:</label>
<input type="text" class="form-control" id="otp" name="otp" required>
</div>
<button type="submit" class="btn btn-primary">Entrar</button>
</form>
</div>
</div>
</div>
{% endblock %}