Skip to content

Commit d9e786e

Browse files
committed
fix(навигация): запрет перехода между списками для не-админов
onOpenUsers и onOpenResources молча возвращаются без навигации, если пользователь не админ; null-safe по образцу #74. Closes #85
1 parent a9e6c5a commit d9e786e

3 files changed

Lines changed: 8 additions & 5 deletions

File tree

‎src/main/java/com/DesktopApplicationClientJava/controllers/ResourceListController.java‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,10 @@ private void updateDeleteButtonState() {
141141

142142
@FXML
143143
private void onOpenUsers(ActionEvent e) {
144+
var authService = services == null ? null : services.getAuthService();
145+
if (authService == null || !authService.isAdmin()) {
146+
return;
147+
}
144148
navigator.goTo("/fxml/UserList.fxml");
145149
}
146150

‎src/main/java/com/DesktopApplicationClientJava/controllers/UsersListController.java‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ private void setupSort() {
8787

8888
@FXML
8989
private void onOpenResources(ActionEvent e) {
90+
var authService = services == null ? null : services.getAuthService();
91+
if (authService == null || !authService.isAdmin()) {
92+
return;
93+
}
9094
navigator.goTo("/fxml/ResourceList.fxml");
9195
}
9296

‎src/test/java/com/DesktopApplicationClientJava/ui/AdminNavigationButtonsTest.java‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import javafx.scene.control.TextField;
4545
import javafx.stage.Stage;
4646
import org.junit.jupiter.api.BeforeEach;
47-
import org.junit.jupiter.api.Disabled;
4847
import org.junit.jupiter.api.DisplayName;
4948
import org.junit.jupiter.api.Tag;
5049
import org.junit.jupiter.api.Test;
@@ -274,8 +273,6 @@ void circularNavigationGoesBothWays() {
274273
@Test
275274
@Tag("role:moder")
276275
@DisplayName("Модер не может перейти на список пользователей")
277-
@Disabled(
278-
"Gated: onOpenUsers ведёт на UserList безусловно, без проверки роли (скрытие кнопки ≠ запрет перехода)")
279276
void nonAdminCannotNavigateToUserList() {
280277
robot.interact(
281278
() -> {
@@ -290,8 +287,6 @@ void nonAdminCannotNavigateToUserList() {
290287
@Test
291288
@Tag("role:moder")
292289
@DisplayName("Модер не может перейти на список ресурсов")
293-
@Disabled(
294-
"Gated: onOpenResources ведёт на ResourceList безусловно, без проверки роли (скрытие кнопки ≠ запрет перехода)")
295290
void nonAdminCannotNavigateToResourceList() {
296291
robot.interact(
297292
() -> {

0 commit comments

Comments
 (0)