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);
}
}