* The Sone web interface
*/
public OptionsPage(Template template, WebInterface webInterface) {
- super("options.html", template, "Page.Options.Title", webInterface);
+ super("options.html", template, "Page.Options.Title", webInterface, false);
}
//
@Override
protected void processTemplate(Request request, Template template) throws RedirectException {
super.processTemplate(request, template);
- Options options = webInterface.core().getOptions();
+ Options options = webInterface.getCore().getOptions();
if (request.getMethod() == Method.POST) {
Integer insertionDelay = Numbers.safeParseInteger(request.getHttpRequest().getPartAsStringFailsafe("insertion-delay", 16));
options.getIntegerOption("InsertionDelay").set(insertionDelay);
+ boolean soneRescueMode = Boolean.parseBoolean(request.getHttpRequest().getPartAsStringFailsafe("sone-rescue-mode", 5));
+ options.getBooleanOption("SoneRescueMode").set(soneRescueMode);
+ boolean clearOnNextRestart = Boolean.parseBoolean(request.getHttpRequest().getPartAsStringFailsafe("clear-on-next-restart", 5));
+ options.getBooleanOption("ClearOnNextRestart").set(clearOnNextRestart);
+ boolean reallyClearOnNextRestart = Boolean.parseBoolean(request.getHttpRequest().getPartAsStringFailsafe("really-clear-on-next-restart", 5));
+ options.getBooleanOption("ReallyClearOnNextRestart").set(reallyClearOnNextRestart);
+ webInterface.getCore().saveConfiguration();
+ throw new RedirectException(getPath());
}
template.set("insertion-delay", options.getIntegerOption("InsertionDelay").get());
+ template.set("sone-rescue-mode", options.getBooleanOption("SoneRescueMode").get());
template.set("clear-on-next-restart", options.getBooleanOption("ClearOnNextRestart").get());
- }
-
- //
- // SONETEMPLATEPAGE METHODS
- //
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected boolean requiresLogin() {
- return false;
+ template.set("really-clear-on-next-restart", options.getBooleanOption("ReallyClearOnNextRestart").get());
}
}