diff --git a/core/src/main/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectService.java b/core/src/main/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectService.java index 0ae111bc44..43b69e7780 100644 --- a/core/src/main/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectService.java +++ b/core/src/main/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectService.java @@ -6,22 +6,12 @@ import se.su.dsv.scipro.reviewing.RoughDraftApproval; public interface SplitOrRestartProjectService { enum SplittableStatus { - NOT_EXIST("Project does not exist."), - NOT_ACTIVE("Only active project can be split."), - NOT_TWO_PARTICIPANTS("To be able to split a project, it needs to have 2 participants."), - PHASE_TWO_STARTED("Phase 2 (Review) is already started, can't split right now."), - FINAL_SEMINAR_PHASE_STARTED("Final seminar phase has been started, too late to split."), - OK("Ok to split."); - - private final String message; - - SplittableStatus(String message) { - this.message = message; - } - - public String getMessage() { - return message; - } + NOT_EXIST, + NOT_ACTIVE, + NOT_TWO_PARTICIPANTS, + PHASE_TWO_STARTED, + FINAL_SEMINAR_PHASE_STARTED, + OK, } record SplittableStatusRecord( diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/AdminSplitProjectPanel.java b/view/src/main/java/se/su/dsv/scipro/admin/pages/AdminSplitProjectPanel.java index 9d4a095e41..ba322bf238 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/AdminSplitProjectPanel.java +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/AdminSplitProjectPanel.java @@ -56,12 +56,7 @@ public class AdminSplitProjectPanel extends Panel { }; add(splitProjectLink); - add( - new Label( - "splitInfo", - Model.of(ldModel.getObject() == SplittableStatus.OK ? "" : ldModel.getObject().getMessage()) - ) - ); + add(new Label("splitInfo", Model.of(getStatusMessage(ldModel.getObject())))); } @Override @@ -69,4 +64,15 @@ public class AdminSplitProjectPanel extends Panel { super.onConfigure(); setVisibilityAllowed(SciProSession.get().authorizedForRole(Roles.ADMIN)); } + + private String getStatusMessage(SplittableStatus status) { + return switch (status) { + case OK -> ""; + case NOT_EXIST -> getString("status_not_exist"); + case NOT_ACTIVE -> getString("status_not_active"); + case NOT_TWO_PARTICIPANTS -> getString("status_not_two_participants"); + case PHASE_TWO_STARTED -> getString("status_phase_two_started"); + case FINAL_SEMINAR_PHASE_STARTED -> getString("status_final_seminar_phase_started"); + }; + } } diff --git a/view/src/main/java/se/su/dsv/scipro/admin/pages/AdminSplitProjectPanel.utf8.properties b/view/src/main/java/se/su/dsv/scipro/admin/pages/AdminSplitProjectPanel.utf8.properties index 2683bf299a..b3ec52b2aa 100644 --- a/view/src/main/java/se/su/dsv/scipro/admin/pages/AdminSplitProjectPanel.utf8.properties +++ b/view/src/main/java/se/su/dsv/scipro/admin/pages/AdminSplitProjectPanel.utf8.properties @@ -1 +1,6 @@ -splitButton = Split Project \ No newline at end of file +splitButton = Split Project +status_not_exit = Project does not exist. +status_not_active = Only active project can be split. +status_not_two_participants = To be able to split a project, it needs to have 2 participants. +status_phase_two_started = Phase 2 (Review) is already started, can't split right now. +status_final_seminar_phase_started = Final seminar phase has been started, too late to split.