From 3fbfc4b310f375cbbf2fb537b0179620b338db58 Mon Sep 17 00:00:00 2001 From: Andreas Svanberg <andreass@dsv.su.se> Date: Tue, 4 Mar 2025 11:25:38 +0100 Subject: [PATCH] Add extra buttons to make it easier to create multiple groups and overall reduce the number of clicks --- .../su/dsv/scipro/group/EditGroupPanel.html | 3 +++ .../su/dsv/scipro/group/EditGroupPanel.java | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.html b/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.html index 818891f62d..e0db52aaa7 100644 --- a/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.html +++ b/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.html @@ -42,6 +42,9 @@ </div> </fieldset> <button type="submit" class="btn btn-success">Save</button> + <button type="submit" wicket:id="save_and_close" class="btn btn-success">Save and close</button> + <button type="submit" wicket:id="save_and_create" class="btn btn-success">Save and create another</button> + <a wicket:id="cancel" class="btn btn-outline-secondary">Cancel</a> </form> </div> </wicket:panel> diff --git a/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java b/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java index 44929b3368..831986ffad 100644 --- a/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java +++ b/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java @@ -5,6 +5,7 @@ import java.util.*; import org.apache.wicket.extensions.model.AbstractCheckBoxModel; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.*; +import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.markup.html.panel.FeedbackPanel; @@ -19,6 +20,8 @@ import se.su.dsv.scipro.project.ProjectService; import se.su.dsv.scipro.project.ProjectStatus; import se.su.dsv.scipro.project.ProjectTeamMemberRoles; import se.su.dsv.scipro.session.SciProSession; +import se.su.dsv.scipro.supervisor.pages.SupervisorEditGroupPage; +import se.su.dsv.scipro.supervisor.pages.SupervisorMyGroupsPage; import se.su.dsv.scipro.system.User; public class EditGroupPanel extends Panel { @@ -82,6 +85,24 @@ public class EditGroupPanel extends Panel { add( new CheckBox("active", LambdaModel.of(model, Group::isActive, Group::setActive)).setOutputMarkupId(true) ); + + add( + new SubmitLink("save_and_close") { + @Override + public void onAfterSubmit() { + setResponsePage(SupervisorMyGroupsPage.class); + } + } + ); + add( + new SubmitLink("save_and_create") { + @Override + public void onAfterSubmit() { + setResponsePage(SupervisorEditGroupPage.class); + } + } + ); + add(new BookmarkablePageLink<>("cancel", SupervisorMyGroupsPage.class)); } @Override