Add extra buttons to make it easier to create multiple groups and overall reduce the number of clicks

This commit is contained in:
Andreas Svanberg 2025-03-04 11:25:38 +01:00
parent 3776def043
commit 3fbfc4b310
2 changed files with 24 additions and 0 deletions
view/src/main/java/se/su/dsv/scipro/group

@ -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>

@ -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