87: Refactor out status message to view layer
This commit is contained in:
parent
13fa678ac5
commit
3f604ad926
core/src/main/java/se/su/dsv/scipro/project/split
view/src/main/java/se/su/dsv/scipro/admin/pages
@ -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(
|
||||
|
@ -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");
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -1 +1,6 @@
|
||||
splitButton = Split Project
|
||||
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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user