package org.devgateway.toolkit.forms.wicket.page; import java.util.List; import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.StringResourceModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.spring.injection.annot.SpringBean; import org.devgateway.toolkit.forms.security.SecurityConstants; import org.devgateway.toolkit.forms.wicket.components.form.CheckBoxToggleBootstrapFormComponent; import org.devgateway.toolkit.forms.wicket.page.edit.AbstractEditPage; import org.devgateway.toolkit.persistence.dao.AdminSettings; import org.devgateway.toolkit.persistence.repository.AdminSettingsRepository; import org.wicketstuff.annotation.mount.MountPath; /** * @author idobre * @since 6/22/16 */ @AuthorizeInstantiation(SecurityConstants.Roles.ROLE_ADMIN) @MountPath(value = "/adminsettings") public class EditAdminSettingsPage extends AbstractEditPage<AdminSettings> { private static final long serialVersionUID = 5742724046825803877L; private CheckBoxToggleBootstrapFormComponent rebootServer; @SpringBean protected AdminSettingsRepository adminSettingsRepository; public EditAdminSettingsPage(final PageParameters parameters) { super(parameters); this.jpaRepository = adminSettingsRepository; this.listPageClass = Homepage.class; if (entityId == null) { List<AdminSettings> listSettings = adminSettingsRepository.findAll(); // just keep 1 entry for settings if (listSettings.size() == 1) { entityId = listSettings.get(0).getId(); } } } @Override protected AdminSettings newInstance() { return new AdminSettings(); } @Override protected void onInitialize() { super.onInitialize(); editForm.add(new Label("systemTitle", new StringResourceModel("systemTitle", this, null))); rebootServer = new CheckBoxToggleBootstrapFormComponent("rebootServer"); editForm.add(rebootServer); } }