adicionando login - ainda precisa corrigir
This commit is contained in:
1
config.py
Normal file
1
config.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
SECRET_KEY = 'sua_chave_secreta_aqui' # Use uma chave segura em produção
|
||||||
27
scripts/init_db.py
Normal file
27
scripts/init_db.py
Normal 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
40
templates/login.html
Normal 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 %}
|
||||||
Reference in New Issue
Block a user