parent
2a87fe9898
commit
22cc7a5e37
Binary file not shown.
Binary file not shown.
@ -1,21 +1,47 @@ |
|||||||
{% extends 'base.html' %} |
{% extends 'base.html' %} |
||||||
|
|
||||||
{% block content %} |
{% block content %} |
||||||
|
<style> |
||||||
|
.bg-custom-lightblue { |
||||||
|
background-color: #5bc0de; /* Color azul claro personalizado */ |
||||||
|
} |
||||||
|
</style> |
||||||
<div class="container mt-5"> |
<div class="container mt-5"> |
||||||
<div class="card shadow-lg"> |
<div class="row justify-content-center"> |
||||||
<div class="card-header bg-primary text-white"> |
<div class="col-md-6"> |
||||||
<h3>Registrar Nueva Cuenta</h3> |
<div class="card shadow-lg rounded-4"> |
||||||
</div> |
<div class="card-header bg-custom-lightblue text-white text-center"> |
||||||
<div class="card-body"> |
<h3 class="mb-0">Registrar Nueva Cuenta</h3> |
||||||
<form method="POST"> |
</div> |
||||||
{% csrf_token %} |
<div class="card-body p-4"> |
||||||
{{ form.as_p }} |
<form method="POST" class="needs-validation" novalidate> |
||||||
|
{% csrf_token %} |
||||||
<button type="submit" class="btn btn-success">Guardar</button> |
|
||||||
<a href="{% url 'lista_cuentas' %}" class="btn btn-secondary">Cancelar</a> |
<!-- Estilización de los campos --> |
||||||
</form> |
{% for field in form %} |
||||||
|
<div class="mb-3"> |
||||||
|
<label for="{{ field.id_for_label }}" class="form-label fw-semibold"> |
||||||
|
{{ field.label }} |
||||||
|
</label> |
||||||
|
{{ field }} |
||||||
|
{% if field.help_text %} |
||||||
|
<small class="text-muted">{{ field.help_text }}</small> |
||||||
|
{% endif %} |
||||||
|
{% for error in field.errors %} |
||||||
|
<div class="text-danger">{{ error }}</div> |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
{% endfor %} |
||||||
|
|
||||||
|
<!-- Botones --> |
||||||
|
<div class="d-flex justify-content-end mt-4 gap-2"> |
||||||
|
<a href="{% url 'lista_cuentas' %}" class="btn btn-secondary">Cancelar</a> |
||||||
|
<button type="submit" class="btn btn-success">Guardar</button> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
|
||||||
{% endblock %} |
{% endblock %} |
||||||
@ -1,80 +1,93 @@ |
|||||||
{% extends "Base.html" %} |
{% extends "base.html" %} |
||||||
|
|
||||||
{% block content %} |
{% block content %} |
||||||
{% if user.is_authenticated %} |
{% if not user.is_authenticated %} |
||||||
|
|
||||||
{% else %} |
|
||||||
<style> |
<style> |
||||||
|
/* Fondo con degradado */ |
||||||
body { |
body { |
||||||
background: #2c2f36; /* Color de fondo oscuro */ |
background: linear-gradient(to right, #2c3e50, #34495e); |
||||||
color: #fff; /* Texto en blanco para contraste */ |
color: #fff; |
||||||
} |
} |
||||||
|
/* Tarjeta de login */ |
||||||
.card { |
.card { |
||||||
background-color: #ffffff; /* Fondo blanco para el formulario */ |
background-color: #ffffff; |
||||||
border-radius: 12px; |
border-radius: 15px; |
||||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); |
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); |
||||||
} |
} |
||||||
.card-body { |
.card-body { |
||||||
padding: 30px; |
padding: 35px; |
||||||
} |
} |
||||||
|
/* Etiquetas del formulario */ |
||||||
.form-label { |
.form-label { |
||||||
color: #333; /* Color de las etiquetas */ |
color: #333; |
||||||
|
font-weight: bold; |
||||||
} |
} |
||||||
|
/* Inputs con bordes redondeados */ |
||||||
|
.form-control { |
||||||
|
border-radius: 10px; |
||||||
|
box-shadow: none; |
||||||
|
transition: 0.3s ease; |
||||||
|
} |
||||||
|
.form-control:focus { |
||||||
|
border-color: #5bc0de; |
||||||
|
box-shadow: 0px 0px 8px rgba(91, 192, 222, 0.8); |
||||||
|
} |
||||||
|
/* Botón de inicio de sesión */ |
||||||
.btn-primary { |
.btn-primary { |
||||||
background-color: #007bff; /* Botón azul */ |
background-color: #5bc0de; |
||||||
border-color: #007bff; |
border-color: #5bc0de; |
||||||
|
border-radius: 10px; |
||||||
|
font-size: 16px; |
||||||
|
letter-spacing: 1px; |
||||||
|
font-weight: bold; |
||||||
} |
} |
||||||
.btn-primary:hover { |
.btn-primary:hover { |
||||||
background-color: #0056b3; /* Color al pasar el ratón */ |
background-color: #39b3d7; |
||||||
border-color: #0056b3; |
border-color: #39b3d7; |
||||||
} |
|
||||||
.alert { |
|
||||||
background-color: #f8d7da; /* Fondo rojo suave para los errores */ |
|
||||||
border-color: #f5c6cb; |
|
||||||
} |
} |
||||||
.alert p { |
/* Enlace de registro */ |
||||||
margin-bottom: 0; |
.text-muted:hover { |
||||||
|
color: #5bc0de !important; |
||||||
} |
} |
||||||
</style> |
</style> |
||||||
<div class="container-fluid p-0" style="height: 100vh; background-color: #2c2f36;"> |
|
||||||
<div class="d-flex justify-content-center align-items-center" style="height: 100vh;"> |
|
||||||
<div class="card shadow-lg p-4" style="max-width: 400px; border-radius: 12px; background-color: #ffffff;"> |
|
||||||
<div class="card-body"> |
|
||||||
<h3 class="text-center mb-4" style="color: #333;">Iniciar Sesión</h3> |
|
||||||
|
|
||||||
<form method="post"> |
<!-- Contenedor principal --> |
||||||
{% csrf_token %} |
<div class="container-fluid d-flex justify-content-center align-items-center" style="height: 100vh;"> |
||||||
<div class="mb-3"> |
<div class="card shadow-lg p-4" style="max-width: 400px;"> |
||||||
<label for="username" class="form-label" style="color: #333;">Nombre de Usuario</label> |
<div class="card-body"> |
||||||
<input type="text" class="form-control" id="username" name="username" required |
<h3 class="text-center mb-4" style="color: #333;">Iniciar Sesión</h3> |
||||||
style="border-radius: 10px; box-shadow: none; transition: all 0.3s ease;"> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="mb-3"> |
<form method="post"> |
||||||
<label for="password" class="form-label" style="color: #333;">Contraseña</label> |
{% csrf_token %} |
||||||
<input type="password" class="form-control" id="password" name="password" required |
<div class="mb-3"> |
||||||
style="border-radius: 10px; box-shadow: none; transition: all 0.3s ease;"> |
<label for="username" class="form-label">Nombre de Usuario</label> |
||||||
</div> |
<input type="text" class="form-control" id="username" name="username" required> |
||||||
|
</div> |
||||||
|
|
||||||
<button type="submit" class="btn btn-dark w-100" style="border-radius: 10px; font-size: 16px; letter-spacing: 1px;"> |
<div class="mb-3"> |
||||||
Iniciar Sesión |
<label for="password" class="form-label">Contraseña</label> |
||||||
</button> |
<input type="password" class="form-control" id="password" name="password" required> |
||||||
</form> |
|
||||||
<div class="text-center mt-3"> |
|
||||||
<a href="{% url 'signup' %}" class="text-muted" style="font-size: 14px;">Registrar</a> |
|
||||||
</div> |
</div> |
||||||
|
|
||||||
|
<button type="submit" class="btn btn-primary w-100"> |
||||||
|
<i class="fas fa-sign-in-alt"></i> Iniciar Sesión |
||||||
|
</button> |
||||||
|
</form> |
||||||
|
<div class="text-center mt-3"> |
||||||
|
<a href="{% url 'signup' %}" class="text-muted">Registrarse</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
|
|
||||||
{% endif %} |
{% endif %} |
||||||
|
{% endblock %} |
||||||
|
|
||||||
{% endblock %} |
|
||||||
{% block footer %} |
{% block footer %} |
||||||
<footer class="footer mt-auto py-3 bg-dark text-white"> |
<footer class="footer mt-auto py-3 bg-dark text-white text-center"> |
||||||
<div class="container"> |
<div class="container"> |
||||||
<span class="text-muted">© 2024 Mi Aplicación. Todos los derechos reservados.</span> |
<span>© 2025 Registro | Todos los derechos reservados</span> |
||||||
</div> |
</div> |
||||||
</footer> |
</footer> |
||||||
{% endblock %} |
{% endblock %} |
||||||
|
|
||||||
@ -1,54 +1,64 @@ |
|||||||
{% extends 'base.html' %} |
{% extends 'base.html' %} |
||||||
|
|
||||||
{% block content %} |
{% block content %} |
||||||
<div class="container mt-5"> |
<div class="container mt-4"> |
||||||
<h2>Lista de Cuentas</h2> |
<div class="d-flex justify-content-between align-items-center mb-4"> |
||||||
<div class="d-flex gap-2 mb-3"> |
<h2 class="text-primary fw-bold">Lista de Cuentas</h2> |
||||||
{% if es_superusuario %} |
{% if es_superusuario %} |
||||||
<a href="{% url 'lista_cuentas' %}?todas=1" class="btn btn-secondary"> |
<div class="btn-group"> |
||||||
Ver Todas las Cuentas |
<a href="{% url 'lista_cuentas' %}?todas=1" class="btn btn-outline-primary">Ver Todas</a> |
||||||
</a> |
<a href="{% url 'lista_cuentas' %}" class="btn btn-outline-secondary">Mis Cuentas</a> |
||||||
<a href="{% url 'lista_cuentas' %}" class="btn btn-secondary"> |
</div> |
||||||
Ver Mis Cuentas |
|
||||||
</a> |
|
||||||
{% endif %} |
{% endif %} |
||||||
</div> |
</div> |
||||||
<div class="table-responsive"> |
|
||||||
<table class="table table-striped"> |
<div class="card shadow-sm"> |
||||||
<thead> |
<div class="card-body"> |
||||||
<tr> |
<div class="table-responsive"> |
||||||
<th>Nombre</th> |
<table class="table table-hover align-middle"> |
||||||
<th>Saldo</th> |
<thead class="table-primary"> |
||||||
<th>Responsable</th> |
<tr> |
||||||
<th>Fecha Creación</th> |
<th>Nombre</th> |
||||||
<th>Observaciones</th> |
<th>Saldo</th> |
||||||
<th>Acciones</th> |
<th>Responsable</th> |
||||||
</tr> |
<th>Fecha Creación</th> |
||||||
</thead> |
<th>Observaciones</th> |
||||||
<tbody> |
<th class="text-center">Acciones</th> |
||||||
{% for cuenta in cuentas %} |
</tr> |
||||||
<tr> |
</thead> |
||||||
<td>{{ cuenta.cuenta }}</td> |
<tbody> |
||||||
<td>{{ cuenta.saldo }}</td> |
{% for cuenta in cuentas %} |
||||||
<td>{{ cuenta.responsable.username }}</td> |
<tr> |
||||||
<td>{{ cuenta.fecha_creacion }}</td> |
<td class="fw-bold">{{ cuenta.cuenta }}</td> |
||||||
<td>{{ cuenta.observacion }}</td> |
<td class="{% if cuenta.saldo < 0 %}text-danger{% else %}text-success{% endif %} fw-semibold"> |
||||||
<td> |
${{ cuenta.saldo }} |
||||||
<a href="{% url 'lista_movimientos' cuenta.id %}" class="btn btn-info btn-sm"> |
</td> |
||||||
Ver Movimientos |
<td>{{ cuenta.responsable.username }}</td> |
||||||
</a> |
<td>{{ cuenta.fecha_creacion|date:"d/m/Y" }}</td> |
||||||
<a href="{% url 'exportar_movimientos_excel' cuenta.id %}" class="btn btn-success btn-sm"> |
<td>{{ cuenta.observacion|default:"-" }}</td> |
||||||
Exportar a Excel |
<td class="text-center"> |
||||||
</a> |
<a href="{% url 'lista_movimientos' cuenta.id %}" class="btn btn-sm btn-info"> |
||||||
</td> |
<i class="fas fa-list"></i> Movimientos |
||||||
</tr> |
</a> |
||||||
{% endfor %} |
<a href="{% url 'exportar_movimientos_excel' cuenta.id %}" class="btn btn-sm btn-success"> |
||||||
</tbody> |
<i class="fas fa-file-excel"></i> Exportar |
||||||
</table> |
</a> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
{% empty %} |
||||||
|
<tr> |
||||||
|
<td colspan="6" class="text-center text-muted">No hay cuentas disponibles.</td> |
||||||
|
</tr> |
||||||
|
{% endfor %} |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
</div> |
</div> |
||||||
</div> |
|
||||||
|
|
||||||
<a href="{% url 'registrar_cuenta' %}" class="btn btn-success btn-lg rounded-circle position-fixed bottom-0 end-0 m-3 shadow-lg"> |
<a href="{% url 'registrar_cuenta' %}" class="btn btn-success btn-lg rounded-circle position-fixed bottom-0 end-0 m-4 shadow-lg d-flex align-items-center justify-content-center" style="width: 60px; height: 60px;"> |
||||||
<i class="fas fa-plus"></i> |
<i class="fas fa-plus"></i> |
||||||
</a> |
</a> |
||||||
{% endblock %} |
|
||||||
|
{% endblock %} |
||||||
@ -1,49 +1,59 @@ |
|||||||
{% extends 'base.html' %} |
{% extends 'base.html' %} |
||||||
|
|
||||||
{% block content %} |
{% block content %} |
||||||
<div class="container mt-5"> |
<div class="container mt-4"> |
||||||
<h2>Movimientos de la cuenta: {{ cuenta.cuenta }}</h2> |
<div class="d-flex justify-content-between align-items-center mb-4"> |
||||||
<div class="table-responsive"> |
<h2 class="text-primary fw-bold">Movimientos de la cuenta: {{ cuenta.cuenta }}</h2> |
||||||
<table class="table table-striped"> |
</div> |
||||||
<thead> |
|
||||||
<tr> |
<div class="card shadow-sm"> |
||||||
<th>Tipo</th> |
<div class="card-body"> |
||||||
<th>Monto</th> |
<div class="table-responsive"> |
||||||
<th>Fecha</th> |
<table class="table table-hover align-middle"> |
||||||
<th>Observación</th> |
<thead class="table-primary"> |
||||||
<th># de factura</th> |
<tr> |
||||||
<th>fecha de factura</th> |
<th>Tipo</th> |
||||||
<th>responsable</th> |
<th>Monto</th> |
||||||
<th>Acciones</th> |
<th>Fecha</th> |
||||||
</tr> |
<th>Observación</th> |
||||||
</thead> |
<th># de Factura</th> |
||||||
<tbody> |
<th>Fecha de Factura</th> |
||||||
{% for movimiento in movimientos %} |
<th>Responsable</th> |
||||||
<tr> |
<th class="text-center">Acciones</th> |
||||||
<td>{{ movimiento.tipo_movimiento }}</td> |
</tr> |
||||||
<td>{{ movimiento.saldo }}</td> |
</thead> |
||||||
<td>{{ movimiento.fecha_insersion }}</td> |
<tbody> |
||||||
<td>{{ movimiento.observacion }}</td> |
{% for movimiento in movimientos %} |
||||||
<td>{{ movimiento.n_factura }}</td> |
<tr> |
||||||
<td>{{ movimiento.fecha_factura }}</td> |
<td class="fw-bold">{{ movimiento.tipo_movimiento }}</td> |
||||||
<td>{{ movimiento.responsable_cuenta }}</td> |
<td class="{% if movimiento.tipo_movimiento.id == 2 %}text-danger{% else %}text-success{% endif %} fw-semibold"> |
||||||
<td> |
${{ movimiento.saldo }} |
||||||
<a href="{% url 'actualizar_movimiento' movimiento.id %}" class="btn btn-warning btn-sm"> |
</td> |
||||||
Editar |
<td>{{ movimiento.fecha_insersion|date:"d/m/Y" }}</td> |
||||||
</a> |
<td>{{ movimiento.observacion|default:"-" }}</td> |
||||||
</td> |
<td>{{ movimiento.n_factura|default:"-" }}</td> |
||||||
</tr> |
<td>{{ movimiento.fecha_factura|date:"d/m/Y"|default:"-" }}</td> |
||||||
{% empty %} |
<td>{{ movimiento.responsable_cuenta }}</td> |
||||||
<tr> |
<td class="text-center"> |
||||||
<td colspan="4" class="text-center">No hay movimientos registrados.</td> |
<a href="{% url 'actualizar_movimiento' movimiento.id %}" class="btn btn-sm btn-warning"> |
||||||
</tr> |
<i class="fas fa-edit"></i> Editar |
||||||
{% endfor %} |
</a> |
||||||
</tbody> |
</td> |
||||||
</table> |
</tr> |
||||||
</div> |
{% empty %} |
||||||
|
<tr> |
||||||
|
<td colspan="8" class="text-center text-muted">No hay movimientos registrados.</td> |
||||||
|
</tr> |
||||||
|
{% endfor %} |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
</div> |
</div> |
||||||
|
|
||||||
<a href="{% url 'registrar_movimiento' cuenta.id %}" class="btn btn-success btn-lg rounded-circle position-fixed bottom-0 end-0 m-3 shadow-lg"> |
<a href="{% url 'registrar_movimiento' cuenta.id %}" class="btn btn-success btn-lg rounded-circle position-fixed bottom-0 end-0 m-4 shadow-lg d-flex align-items-center justify-content-center" style="width: 60px; height: 60px;"> |
||||||
<i class="fas fa-plus"></i> |
<i class="fas fa-plus"></i> |
||||||
</a> |
</a> |
||||||
{% endblock %} |
|
||||||
|
{% endblock %} |
||||||
|
|||||||
@ -1,108 +1,121 @@ |
|||||||
{% extends "Base.html" %} |
{% extends "Base.html" %} |
||||||
|
|
||||||
{% block content %} |
{% block content %} |
||||||
|
|
||||||
<style> |
<style> |
||||||
body { |
body { |
||||||
background: #2c2f36; /* Color de fondo oscuro */ |
background: #f0f4f8; /* Fondo azul claro */ |
||||||
color: #fff; /* Texto en blanco para contraste */ |
color: #333; /* Texto oscuro */ |
||||||
} |
} |
||||||
.card { |
.card { |
||||||
background-color: #ffffff; /* Fondo blanco para el formulario */ |
background-color: #ffffff; /* Tarjeta con fondo blanco */ |
||||||
border-radius: 12px; |
border-radius: 12px; |
||||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); |
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); |
||||||
} |
max-width: 600px; /* Aumenté el ancho */ |
||||||
.card-body { |
width: 100%; |
||||||
padding: 30px; |
padding: 30px; |
||||||
} |
} |
||||||
.form-label { |
.form-label { |
||||||
color: #333; /* Color de las etiquetas */ |
color: #444; /* Color de etiquetas */ |
||||||
|
font-weight: 600; |
||||||
} |
} |
||||||
.btn-primary { |
.form-control { |
||||||
background-color: #007bff; /* Botón azul */ |
border-radius: 8px; |
||||||
|
border: 1px solid #ced4da; |
||||||
|
padding: 12px; |
||||||
|
transition: 0.3s; |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
.form-control:focus { |
||||||
border-color: #007bff; |
border-color: #007bff; |
||||||
|
box-shadow: 0 0 5px rgba(0, 123, 255, 0.3); |
||||||
|
} |
||||||
|
.btn-primary { |
||||||
|
background-color: #3b82f6; /* Azul claro */ |
||||||
|
border-color: #3b82f6; |
||||||
|
font-size: 18px; |
||||||
|
font-weight: 600; |
||||||
|
border-radius: 8px; |
||||||
|
padding: 12px; |
||||||
|
transition: 0.3s; |
||||||
} |
} |
||||||
.btn-primary:hover { |
.btn-primary:hover { |
||||||
background-color: #0056b3; /* Color al pasar el ratón */ |
background-color: #2563eb; /* Azul más oscuro al pasar el cursor */ |
||||||
border-color: #0056b3; |
border-color: #2563eb; |
||||||
} |
} |
||||||
.alert { |
.alert { |
||||||
background-color: #f8d7da; /* Fondo rojo suave para los errores */ |
background-color: #f8d7da; /* Fondo rojo suave para errores */ |
||||||
border-color: #f5c6cb; |
border-color: #f5c6cb; |
||||||
} |
font-size: 14px; |
||||||
.alert p { |
padding: 10px; |
||||||
margin-bottom: 0; |
|
||||||
} |
} |
||||||
</style> |
</style> |
||||||
|
|
||||||
<div class="container"> |
<div class="container d-flex justify-content-center align-items-center" style="min-height: 90vh;"> |
||||||
<div class="row justify-content-center mt-5"> |
<div class="card shadow-lg"> |
||||||
<div class="col-md-6"> |
<div class="card-body"> |
||||||
<div class="card shadow-lg"> |
<h2 class="text-center mb-4" style="color: #222;">Registrar Nueva Cuenta</h2> |
||||||
<div class="card-body"> |
|
||||||
<h2 class="text-center mb-4" style="color: #333;">Registrar Nueva Cuenta</h2> |
|
||||||
|
|
||||||
<form method="POST"> |
<form method="POST"> |
||||||
{% csrf_token %} |
{% csrf_token %} |
||||||
|
|
||||||
<div class="form-group mb-3"> |
|
||||||
<label for="username" class="form-label">Nombre de Usuario</label> |
|
||||||
<input type="text" class="form-control" id="username" name="username" value="{{ form.username.value }}"> |
|
||||||
{% if form.username.errors %} |
|
||||||
<div class="alert alert-danger mt-2"> |
|
||||||
{% for error in form.username.errors %} |
|
||||||
<p>{{ error }}</p> |
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="form-group mb-3"> |
<div class="form-group mb-3"> |
||||||
<label for="email" class="form-label">Correo Electrónico</label> |
<label for="username" class="form-label">Nombre de Usuario</label> |
||||||
<input type="email" class="form-control" id="email" name="email" value="{{ form.email.value }}"> |
<input type="text" class="form-control" id="username" name="username" value="{{ form.username.value|default:'' }}"> |
||||||
{% if form.email.errors %} |
{% if form.username.errors %} |
||||||
<div class="alert alert-danger mt-2"> |
<div class="alert alert-danger mt-2"> |
||||||
{% for error in form.email.errors %} |
{% for error in form.username.errors %} |
||||||
<p>{{ error }}</p> |
<p>{{ error }}</p> |
||||||
{% endfor %} |
{% endfor %} |
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
</div> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
|
||||||
<div class="form-group mb-3"> |
<div class="form-group mb-3"> |
||||||
<label for="password1" class="form-label">Contraseña</label> |
<label for="email" class="form-label">Correo Electrónico</label> |
||||||
<input type="password" class="form-control" id="password1" name="password1" value="{{ form.password1.value }}"> |
<input type="email" class="form-control" id="email" name="email" value="{{ form.email.value|default:'' }}"> |
||||||
{% if form.password1.errors %} |
{% if form.email.errors %} |
||||||
<div class="alert alert-danger mt-2"> |
<div class="alert alert-danger mt-2"> |
||||||
{% for error in form.password1.errors %} |
{% for error in form.email.errors %} |
||||||
<p>{{ error }}</p> |
<p>{{ error }}</p> |
||||||
{% endfor %} |
{% endfor %} |
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
</div> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
|
||||||
<div class="form-group mb-3"> |
<div class="form-group mb-3"> |
||||||
<label for="password2" class="form-label">Confirmar Contraseña</label> |
<label for="password1" class="form-label">Contraseña</label> |
||||||
<input type="password" class="form-control" id="password2" name="password2" value="{{ form.password2.value }}"> |
<input type="password" class="form-control" id="password1" name="password1"> |
||||||
{% if form.password2.errors %} |
{% if form.password1.errors %} |
||||||
<div class="alert alert-danger mt-2"> |
<div class="alert alert-danger mt-2"> |
||||||
{% for error in form.password2.errors %} |
{% for error in form.password1.errors %} |
||||||
<p>{{ error }}</p> |
<p>{{ error }}</p> |
||||||
{% endfor %} |
{% endfor %} |
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
</div> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
|
||||||
<div class="text-center"> |
<div class="form-group mb-3"> |
||||||
<button type="submit" class="btn btn-primary w-100">Registrar</button> |
<label for="password2" class="form-label">Confirmar Contraseña</label> |
||||||
|
<input type="password" class="form-control" id="password2" name="password2"> |
||||||
|
{% if form.password2.errors %} |
||||||
|
<div class="alert alert-danger mt-2"> |
||||||
|
{% for error in form.password2.errors %} |
||||||
|
<p>{{ error }}</p> |
||||||
|
{% endfor %} |
||||||
</div> |
</div> |
||||||
</form> |
{% endif %} |
||||||
<div class="text-center mt-3"> |
|
||||||
<a href="{% url 'signin' %}" class="text-muted" style="font-size: 14px;">¿Ya tienes cuenta? Inicia sesión</a> |
|
||||||
</div> |
|
||||||
</div> |
</div> |
||||||
|
|
||||||
|
<div class="text-center"> |
||||||
|
<button type="submit" class="btn btn-primary w-100">Registrar</button> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
|
||||||
|
<div class="text-center mt-3"> |
||||||
|
<a href="{% url 'signin' %}" class="text-muted" style="font-size: 15px;">¿Ya tienes cuenta? Inicia sesión</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
{% endblock %} |
<br> |
||||||
|
{% endblock %} |
||||||
|
|||||||
Loading…
Reference in new issue