From c06efbd0d1c6fe916fac137ab79b98ba210dbda3 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Fri, 2 Oct 2026 22:59:26 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Ajustes=20menores=20de=20separad?= =?UTF-8?q?ores=20de=20secci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/pagetop-admin/src/registry.rs | 6 +++--- extensions/pagetop-htmx/tests/extension.rs | 2 +- .../pagetop-user/src/component/admin.rs | 21 ++++++++++--------- .../src/component/password_confirm.rs | 2 +- .../pagetop-user/src/handlers/admin/users.rs | 6 +++--- extensions/pagetop-user/src/lib.rs | 2 +- .../pagetop-user/src/service/role_admin.rs | 12 +++++------ src/base/component/form/number.rs | 2 +- src/base/component/pager.rs | 4 ++-- src/html/grid/props_item.rs | 2 +- tests/html_props_classes.rs | 2 +- tests/html_responsives.rs | 2 +- 12 files changed, 32 insertions(+), 31 deletions(-) diff --git a/extensions/pagetop-admin/src/registry.rs b/extensions/pagetop-admin/src/registry.rs index 3adcfd50..4ebbbd4b 100644 --- a/extensions/pagetop-admin/src/registry.rs +++ b/extensions/pagetop-admin/src/registry.rs @@ -14,7 +14,7 @@ use crate::action::{ }; use crate::settings::SettingsSchema; -// **< AdminPermission >***************************************************************************** +// **< AdminPermission >**************************************************************************** /// Permisos propios de `pagetop-admin`. #[derive(Clone, Copy, Debug)] @@ -43,7 +43,7 @@ impl Permission for AdminPermission { } } -// **< Tipos del registro >************************************************************************** +// **< Tipos del registro >************************************************************************* /// Sección del panel de administración (agrupación en el sidebar). #[derive(Clone)] @@ -143,7 +143,7 @@ pub struct AdminAction { pub weight: i32, } -// **< AdminRegistry >******************************************************************************* +// **< AdminRegistry >****************************************************************************** /// Registro global del panel de administración, construido una sola vez en `initialize()`. #[derive(Getters)] diff --git a/extensions/pagetop-htmx/tests/extension.rs b/extensions/pagetop-htmx/tests/extension.rs index c0452ada..36c21704 100644 --- a/extensions/pagetop-htmx/tests/extension.rs +++ b/extensions/pagetop-htmx/tests/extension.rs @@ -42,7 +42,7 @@ async fn htmx_script_is_served_at_the_expected_static_path() { assert!(body.contains("htmx")); } -// **< Automatic script injection (BeforeRenderBody) >*********************************************** +// **< Automatic script injection (BeforeRenderBody) >********************************************** #[pagetop::test] async fn rendered_pages_automatically_include_the_pinned_htmx_script_tag() { diff --git a/extensions/pagetop-user/src/component/admin.rs b/extensions/pagetop-user/src/component/admin.rs index 296b3370..01835906 100644 --- a/extensions/pagetop-user/src/component/admin.rs +++ b/extensions/pagetop-user/src/component/admin.rs @@ -22,15 +22,16 @@ use pagetop::prelude::*; use crate::LOCALES_USER; -// **< constantes compartidas >********************************************************************** +// **< constantes compartidas >********************************************************************* /// Identificador del `
` de [`UserForm`] en modo [`UserFormMode::Edit`]. En ese modo, el botón -/// "Guardar" no se renderiza dentro del formulario (ver `UserForm::prepare()`): lo añade la pantalla -/// de edición (`handlers::admin::users::edit_actions()`) junto al resto de acciones, referenciando -/// este id mediante el atributo `form` para seguir enviando el formulario aunque esté fuera de él. +/// "Guardar" no se renderiza dentro del formulario (ver `UserForm::prepare()`). Lo añade la +/// pantalla de edición (`handlers::admin::users::edit_actions()`) junto al resto de acciones, +/// referenciando este `id` mediante el atributo `form` para seguir enviando el formulario aunque +/// esté fuera de él. pub(crate) const USER_ADMIN_FORM_ID: &str = "user-admin-form"; -// **< tipos compartidos >*************************************************************************** +// **< tipos compartidos >************************************************************************** /// Un permiso dentro de un grupo del catálogo: `(clave, etiqueta, concedido)`. pub(crate) type PermissionItem = (CowStr, Lc, bool); @@ -38,12 +39,12 @@ pub(crate) type PermissionItem = (CowStr, Lc, bool); /// Catálogo de permisos agrupado: `(título del grupo, permisos del grupo)`. pub(crate) type PermissionGroups = Vec<(Lc, Vec)>; -// **< helpers compartidos >************************************************************************* +// **< HELPERS >************************************************************************************ -// `Fieldset` con las casillas para asignar roles (usado en el alta de usuario y en la pantalla -// dedicada de asignación de roles). El rol "authenticated" no se lista como casilla ni se envía: -// todo usuario autenticado lo tiene concedido por definición (ver `session::load_user_from_session`), -// sin necesidad de una fila en `user_role`. +// `Fieldset` con las casillas para asignar roles (usado en el alta de usuario y en la pantalla de +// asignación de roles). El rol "authenticated" no se lista como casilla ni se envía: todo usuario +// autenticado lo tiene concedido por definición (ver `session::load_user_from_session`), sin +// necesidad de una fila en `user_role`. pub(crate) fn roles_fieldset(roles: &[(i32, String, bool)]) -> form::Fieldset { let mut field = form::check::Field::new().with_name("role_ids"); for (role_id, label, checked) in roles { diff --git a/extensions/pagetop-user/src/component/password_confirm.rs b/extensions/pagetop-user/src/component/password_confirm.rs index 70e3a773..1dcff452 100644 --- a/extensions/pagetop-user/src/component/password_confirm.rs +++ b/extensions/pagetop-user/src/component/password_confirm.rs @@ -50,7 +50,7 @@ impl Component for PasswordConfirm { #[builder_impl] impl PasswordConfirm { - // **< PasswordConfirm BUILDER >******************************************************************** + // **< PasswordConfirm BUILDER >**************************************************************** /// Establece la etiqueta del campo de contraseña (por defecto, "field-password"). pub(crate) fn with_password_label(mut self, label: Lc) -> Self { diff --git a/extensions/pagetop-user/src/handlers/admin/users.rs b/extensions/pagetop-user/src/handlers/admin/users.rs index 54bcb7fb..d2458aac 100644 --- a/extensions/pagetop-user/src/handlers/admin/users.rs +++ b/extensions/pagetop-user/src/handlers/admin/users.rs @@ -257,7 +257,7 @@ pub(crate) async fn new_post( } } -// **< edit_get / edit_post >************************************************************************ +// **< edit_get / edit_post >*********************************************************************** async fn render_user_edit( request: HttpRequest, @@ -611,7 +611,7 @@ async fn user_view_roles(roles: &[role::Model], cx: &mut Context) -> Block { })) } -// **< roles_get / roles_post >********************************************************************** +// **< roles_get / roles_post >********************************************************************* /// GET /admin/user/users/{id}/roles - Formulario de asignación de roles de un usuario. pub(crate) async fn roles_get( @@ -801,7 +801,7 @@ pub(crate) async fn admin_post( } } -// **< password_get / password_post >**************************************************************** +// **< password_get / password_post >*************************************************************** /// GET /admin/user/users/{id}/password - Formulario de restablecimiento de contraseña por un /// administrador. diff --git a/extensions/pagetop-user/src/lib.rs b/extensions/pagetop-user/src/lib.rs index 9ef1138b..6724df04 100644 --- a/extensions/pagetop-user/src/lib.rs +++ b/extensions/pagetop-user/src/lib.rs @@ -178,7 +178,7 @@ fn declare_admin_pages(bag: &mut PageBag) { }); } -// **< Roles de sistema (fijos) >******************************************************************** +// **< Roles de sistema (fijos) >******************************************************************* // Sembrados con id fijo en `migration/m20260629_000002_create_roles.rs` y bloqueados (`locked`); // no se borran ni cambian de id. diff --git a/extensions/pagetop-user/src/service/role_admin.rs b/extensions/pagetop-user/src/service/role_admin.rs index 16627f01..569b080e 100644 --- a/extensions/pagetop-user/src/service/role_admin.rs +++ b/extensions/pagetop-user/src/service/role_admin.rs @@ -12,7 +12,7 @@ use crate::entity::{role, role_permission, user_role}; use crate::error::AuthError; use crate::permission; -// **< listado >************************************************************************************** +// **< listado >************************************************************************************ #[derive(Clone, Copy, Debug, Default, PartialEq)] pub(crate) enum RoleSortField { @@ -129,7 +129,7 @@ async fn role_items(roles: Vec) -> Result, AuthEr .collect()) } -// **< find_role / role_permission_keys >*************************************************************** +// **< find_role / role_permission_keys >*********************************************************** pub(crate) async fn find_role(role_id: i32) -> Result { role::Entity::find_by_id(role_id) @@ -146,7 +146,7 @@ pub(crate) async fn role_permission_keys(role_id: i32) -> Result, Au Ok(rows.into_iter().map(|r| r.permission_key).collect()) } -// **< create_role >********************************************************************************* +// **< create_role >******************************************************************************** pub(crate) struct NewRoleData<'a> { pub machine_name: &'a str, @@ -193,7 +193,7 @@ pub(crate) async fn create_role(data: NewRoleData<'_>) -> Result Ok(result.last_insert_id) } -// **< update_role >********************************************************************************* +// **< update_role >******************************************************************************** pub(crate) struct RoleUpdateData<'a> { pub label: &'a str, @@ -221,7 +221,7 @@ pub(crate) async fn update_role(role_id: i32, data: RoleUpdateData<'_>) -> Resul Ok(()) } -// **< delete_role >********************************************************************************* +// **< delete_role >******************************************************************************** pub(crate) async fn delete_role(role_id: i32) -> Result<(), AuthError> { let role = find_role(role_id).await?; @@ -241,7 +241,7 @@ pub(crate) async fn delete_role(role_id: i32) -> Result<(), AuthError> { Ok(()) } -// **< set_role_permissions >************************************************************************ +// **< set_role_permissions >*********************************************************************** /// Reemplaza por completo el conjunto de permisos concedidos a un rol. Permitido aunque el rol /// esté bloqueado (`locked`): los roles de sistema también necesitan permisos gestionables. diff --git a/src/base/component/form/number.rs b/src/base/component/form/number.rs index 501e9ce3..afe01a83 100644 --- a/src/base/component/form/number.rs +++ b/src/base/component/form/number.rs @@ -123,7 +123,7 @@ impl Component for Number { #[builder_impl] impl Number { - // **< Number BUILDER >************************************************************************ + // **< Number BUILDER >************************************************************************* /// Establece el identificador único del componente; igual a `with_prop(PropsOp::set_id(id))`. pub fn with_id(mut self, id: impl Into) -> Self { diff --git a/src/base/component/pager.rs b/src/base/component/pager.rs index 16afdbde..976103d1 100644 --- a/src/base/component/pager.rs +++ b/src/base/component/pager.rs @@ -341,7 +341,7 @@ impl Component for Pager { #[builder_impl] impl Pager { - // **< Pager BUILDER >************************************************************************* + // **< Pager BUILDER >************************************************************************** /// Establece el identificador único del componente; igual a `with_prop(PropsOp::set_id(id))`. pub fn with_id(mut self, id: impl Into) -> Self { @@ -440,7 +440,7 @@ impl Pager { self } - // **< Pager HELPERS >************************************************************************* + // **< Pager HELPERS >************************************************************************** /// Número total de páginas según [`total_items()`](Self::total_items) y /// [`items_per_page()`](Self::items_per_page). Nunca es cero, aunque `total_items` sea cero: diff --git a/src/html/grid/props_item.rs b/src/html/grid/props_item.rs index 9deeaa6e..f79461df 100644 --- a/src/html/grid/props_item.rs +++ b/src/html/grid/props_item.rs @@ -43,7 +43,7 @@ impl ItemPlacement { } } -// **< ItemJustify >********************************************************************************* +// **< ItemJustify >******************************************************************************** /// Alineación individual en el eje de columnas de un [`GridItem`](super::GridItem). /// diff --git a/tests/html_props_classes.rs b/tests/html_props_classes.rs index 3517955c..f5f2b7a6 100644 --- a/tests/html_props_classes.rs +++ b/tests/html_props_classes.rs @@ -74,7 +74,7 @@ async fn classes_prepend_ignores_empty_input() { assert_classes(&p, Some("a b")); } -// **< PropsOp::replace_classes >******************************************************************** +// **< PropsOp::replace_classes >******************************************************************* #[pagetop::test] async fn classes_replace_removes_targets_and_inserts_new_at_min_position() { diff --git a/tests/html_responsives.rs b/tests/html_responsives.rs index 78c33387..444b5f78 100644 --- a/tests/html_responsives.rs +++ b/tests/html_responsives.rs @@ -310,7 +310,7 @@ async fn get_styles_matches_classes_after_normalization() { ); } -// **< ResponsiveStyles::render >******************************************************************** +// **< ResponsiveStyles::render >******************************************************************* #[pagetop::test] async fn render_is_empty_when_nothing_stored() {