mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-02-09 04:19:13 +00:00
añadido perfil a IL
This commit is contained in:
@ -1,3 +1,23 @@
|
||||
usuarios.form.nombre=Full name
|
||||
usuarios.form.email=Email
|
||||
usuarios.form.confirmarPassword=Confirm password
|
||||
usuarios.form.password.actual=Current password
|
||||
usuarios.form.password.nueva=New password
|
||||
usuarios.form.password.nota=You can only change the password if you provide the current one.
|
||||
|
||||
usuarios.error.nombre=Name is required.
|
||||
usuarios.error.email=Email is required.
|
||||
usuarios.error.email.formato=Email is not valid.
|
||||
usuarios.error.password.min=Password must be at least 6 characters.
|
||||
usuarios.error.password.actual=Current password is required.
|
||||
usuarios.error.password.actual.incorrecta=Current password is not correct.
|
||||
usuarios.error.password.nueva.requerida=New password is required.
|
||||
usuarios.error.confirmPassword.requerida=Password confirmation is required.
|
||||
usuarios.error.password-coinciden=Passwords do not match.
|
||||
usuarios.error.duplicado=There is already a user with that email.
|
||||
|
||||
usuarios.impersonate.title=Sign in as user
|
||||
usuarios.impersonate.text=You are about to sign in as <b>{0}</b>. You can return to your user from the menu.
|
||||
usuarios.impersonate.button=Continue
|
||||
usuarios.profile.title=Edit profile
|
||||
usuarios.profile.success=Profile updated successfully.
|
||||
|
||||
@ -20,6 +20,9 @@ usuarios.form.nombre=Nombre completo
|
||||
usuarios.form.email=Correo electrónico
|
||||
usuarios.form.password=Contraseña
|
||||
usuarios.form.confirmarPassword=Confirmar contraseña
|
||||
usuarios.form.password.actual=Contraseña actual
|
||||
usuarios.form.password.nueva=Nueva contraseña
|
||||
usuarios.form.password.nota=Solo podrás cambiar la contraseña si indicas la actual.
|
||||
usuarios.form.rol=Rol
|
||||
usuarios.form.estado=Estado
|
||||
|
||||
@ -37,6 +40,9 @@ usuarios.error.email.formato=El correo electrónico no es válido.
|
||||
usuarios.error.rol=El rol seleccionado no es válido.
|
||||
usuarios.error.password.requerida=La contraseña es obligatoria.
|
||||
usuarios.error.password.min=La contraseña debe tener al menos 6 caracteres.
|
||||
usuarios.error.password.actual=La contraseña actual es obligatoria.
|
||||
usuarios.error.password.actual.incorrecta=La contraseña actual no es correcta.
|
||||
usuarios.error.password.nueva.requerida=La nueva contraseña es obligatoria.
|
||||
usuarios.error.confirmPassword.requerida=La confirmación de la contraseña es obligatoria.
|
||||
usuarios.error.password-coinciden=Las contraseñas no coinciden.
|
||||
usuarios.error.delete-relational-data=No se puede eliminar el usuario porque tiene datos relacionados.
|
||||
@ -55,5 +61,7 @@ usuarios.delete.text=¿Está seguro de que desea eliminar al usuario?<br>Esta ac
|
||||
usuarios.delete.ok.title=Usuario eliminado
|
||||
usuarios.delete.ok.text=El usuario ha sido eliminado con éxito.
|
||||
usuarios.impersonate.title=Entrar como usuario
|
||||
usuarios.impersonate.text=Vas a iniciar sesión como <b>{0}</b>. Podrás volver a tu usuario desde el menú.
|
||||
usuarios.impersonate.text=Vas a iniciar sesión como <b>{0}</b>. Podrás volver a tu usuario desde el menú.
|
||||
usuarios.impersonate.button=Entrar
|
||||
usuarios.profile.title=Editar perfil
|
||||
usuarios.profile.success=Perfil actualizado correctamente.
|
||||
|
||||
@ -100,9 +100,6 @@
|
||||
<a class="dropdown-item" href="/pages-profile"><i
|
||||
class="mdi mdi-account-circle text-muted fs-16 align-middle me-1"></i> <span
|
||||
class="align-middle" th:text="#{app.perfil}">Perfil</span></a>
|
||||
<a class="dropdown-item" href="/apps-chat"><i
|
||||
class="mdi mdi-message-text-outline text-muted fs-16 align-middle me-1"></i>
|
||||
<span class="align-middle" th:text="#{app.mensajes}">Mensajes</span></a>
|
||||
<div sec:authorize="hasRole('PREVIOUS_ADMINISTRATOR')">
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="#"
|
||||
|
||||
107
src/main/resources/templates/imprimelibros/users/profile.html
Normal file
107
src/main/resources/templates/imprimelibros/users/profile.html
Normal file
@ -0,0 +1,107 @@
|
||||
<!doctype html>
|
||||
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{imprimelibros/layout}">
|
||||
|
||||
<head>
|
||||
<th:block layout:fragment="pagetitle" />
|
||||
<th:block th:replace="~{imprimelibros/partials/head-css :: head-css}" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div th:replace="~{imprimelibros/partials/topbar :: topbar}" />
|
||||
<div th:replace="~{imprimelibros/partials/sidebar :: sidebar}" />
|
||||
|
||||
<th:block layout:fragment="content">
|
||||
<div th:if="${#authorization.expression('isAuthenticated()')}">
|
||||
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/"><i class="ri-home-5-fill"></i></a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page" th:text="#{app.perfil}">Perfil</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-6">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="card-title mb-0" th:text="#{usuarios.profile.title}">Editar perfil</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<div th:if="${success}" class="alert alert-success"
|
||||
th:text="#{usuarios.profile.success}">Perfil actualizado.</div>
|
||||
|
||||
<form id="profileForm" novalidate th:action="@{/pages-profile}" th:object="${user}"
|
||||
method="post">
|
||||
|
||||
<div th:if="${#fields.hasGlobalErrors()}" class="alert alert-danger">
|
||||
<div th:each="e : ${#fields.globalErrors()}" th:text="${e}"></div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label th:text="#{usuarios.form.nombre}" for="fullName">Nombre</label>
|
||||
<input type="text" class="form-control" id="fullName" th:field="*{fullName}"
|
||||
th:classappend="${#fields.hasErrors('fullName')} ? ' is-invalid'" required>
|
||||
<div class="invalid-feedback" th:if="${#fields.hasErrors('fullName')}"
|
||||
th:errors="*{fullName}">Error</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label th:text="#{usuarios.form.email}" for="userName">Correo electrónico</label>
|
||||
<input type="email" class="form-control" id="userName" th:field="*{userName}"
|
||||
th:classappend="${#fields.hasErrors('userName')} ? ' is-invalid'" required>
|
||||
<div class="invalid-feedback" th:if="${#fields.hasErrors('userName')}"
|
||||
th:errors="*{userName}">Error</div>
|
||||
</div>
|
||||
|
||||
<hr class="my-4">
|
||||
|
||||
<div class="mb-3">
|
||||
<label th:text="#{usuarios.form.password.actual}" for="currentPassword">Contraseña actual</label>
|
||||
<input type="password" class="form-control" id="currentPassword"
|
||||
th:field="*{currentPassword}"
|
||||
th:classappend="${#fields.hasErrors('currentPassword')} ? ' is-invalid'">
|
||||
<div class="invalid-feedback" th:if="${#fields.hasErrors('currentPassword')}"
|
||||
th:errors="*{currentPassword}">Error</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label th:text="#{usuarios.form.password.nueva}" for="newPassword">Nueva contraseña</label>
|
||||
<input type="password" class="form-control" id="newPassword"
|
||||
th:field="*{newPassword}"
|
||||
th:classappend="${#fields.hasErrors('newPassword')} ? ' is-invalid'">
|
||||
<div class="text-muted" th:text="#{usuarios.form.password.nota}">
|
||||
Solo podrás cambiar la contraseña si indicas la actual.
|
||||
</div>
|
||||
<div class="invalid-feedback" th:if="${#fields.hasErrors('newPassword')}"
|
||||
th:errors="*{newPassword}">Error</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label th:text="#{usuarios.form.confirmarPassword}" for="confirmPassword">Confirmar contraseña</label>
|
||||
<input type="password" class="form-control" id="confirmPassword"
|
||||
th:field="*{confirmPassword}"
|
||||
th:classappend="${#fields.hasErrors('confirmPassword')} ? ' is-invalid'">
|
||||
<div class="invalid-feedback" th:if="${#fields.hasErrors('confirmPassword')}"
|
||||
th:errors="*{confirmPassword}">Error</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-end">
|
||||
<button type="submit" class="btn btn-secondary" th:text="#{app.guardar}">Guardar</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
|
||||
<th:block layout:fragment="modal" />
|
||||
<th:block th:replace="~{theme/partials/vendor-scripts :: scripts}" />
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user