diff --git a/src/main/java/com/DesktopApplicationClientJava/controllers/ResourceListController.java b/src/main/java/com/DesktopApplicationClientJava/controllers/ResourceListController.java index 29fec53..88dd70d 100644 --- a/src/main/java/com/DesktopApplicationClientJava/controllers/ResourceListController.java +++ b/src/main/java/com/DesktopApplicationClientJava/controllers/ResourceListController.java @@ -141,6 +141,10 @@ private void updateDeleteButtonState() { @FXML private void onOpenUsers(ActionEvent e) { + var authService = services == null ? null : services.getAuthService(); + if (authService == null || !authService.isAdmin()) { + return; + } navigator.goTo("/fxml/UserList.fxml"); } diff --git a/src/main/java/com/DesktopApplicationClientJava/controllers/UsersListController.java b/src/main/java/com/DesktopApplicationClientJava/controllers/UsersListController.java index 4d57c58..965d43f 100644 --- a/src/main/java/com/DesktopApplicationClientJava/controllers/UsersListController.java +++ b/src/main/java/com/DesktopApplicationClientJava/controllers/UsersListController.java @@ -87,6 +87,10 @@ private void setupSort() { @FXML private void onOpenResources(ActionEvent e) { + var authService = services == null ? null : services.getAuthService(); + if (authService == null || !authService.isAdmin()) { + return; + } navigator.goTo("/fxml/ResourceList.fxml"); } diff --git a/src/test/java/com/DesktopApplicationClientJava/ui/AdminNavigationButtonsTest.java b/src/test/java/com/DesktopApplicationClientJava/ui/AdminNavigationButtonsTest.java index e9e7f7c..0905b73 100644 --- a/src/test/java/com/DesktopApplicationClientJava/ui/AdminNavigationButtonsTest.java +++ b/src/test/java/com/DesktopApplicationClientJava/ui/AdminNavigationButtonsTest.java @@ -44,7 +44,6 @@ import javafx.scene.control.TextField; import javafx.stage.Stage; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; @@ -274,8 +273,6 @@ void circularNavigationGoesBothWays() { @Test @Tag("role:moder") @DisplayName("Модер не может перейти на список пользователей") - @Disabled( - "Gated: onOpenUsers ведёт на UserList безусловно, без проверки роли (скрытие кнопки ≠ запрет перехода)") void nonAdminCannotNavigateToUserList() { robot.interact( () -> { @@ -290,8 +287,6 @@ void nonAdminCannotNavigateToUserList() { @Test @Tag("role:moder") @DisplayName("Модер не может перейти на список ресурсов") - @Disabled( - "Gated: onOpenResources ведёт на ResourceList безусловно, без проверки роли (скрытие кнопки ≠ запрет перехода)") void nonAdminCannotNavigateToResourceList() { robot.interact( () -> {