diff --git a/libresonic-main/src/main/java/org/libresonic/player/controller/PersonalSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PersonalSettingsController.java
index 3a0cb5f0..433e471d 100644
--- a/libresonic-main/src/main/java/org/libresonic/player/controller/PersonalSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PersonalSettingsController.java
@@ -25,6 +25,12 @@ import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.libresonic.player.command.PersonalSettingsCommand;
@@ -41,13 +47,17 @@ import org.libresonic.player.service.SettingsService;
*
* @author Sindre Mehus
*/
-public class PersonalSettingsController extends SimpleFormController {
+@Controller
+@RequestMapping("/personalSettings")
+public class PersonalSettingsController {
+ @Autowired
private SettingsService settingsService;
+ @Autowired
private SecurityService securityService;
- @Override
- protected Object formBackingObject(HttpServletRequest request) throws Exception {
+ @ModelAttribute
+ protected void formBackingObject(HttpServletRequest request,Model model) throws Exception {
PersonalSettingsCommand command = new PersonalSettingsCommand();
User user = securityService.getCurrentUser(request);
@@ -100,12 +110,16 @@ public class PersonalSettingsController extends SimpleFormController {
}
}
- return command;
+ model.addAttribute("command",command);
}
- @Override
- protected void doSubmitAction(Object comm) throws Exception {
- PersonalSettingsCommand command = (PersonalSettingsCommand) comm;
+ @RequestMapping(method = RequestMethod.GET)
+ protected String displayForm() throws Exception {
+ return "personalSettings";
+ }
+
+ @RequestMapping(method = RequestMethod.POST)
+ protected String doSubmitAction(@ModelAttribute("command") PersonalSettingsCommand command,Model model) throws Exception {
int localeIndex = Integer.parseInt(command.getLocaleIndex());
Locale locale = null;
@@ -152,6 +166,9 @@ public class PersonalSettingsController extends SimpleFormController {
settingsService.updateUserSettings(settings);
command.setReloadNeeded(true);
+
+ model.addAttribute("command",command);
+ return "personalSettings";
}
private int getAvatarId(UserSettings userSettings) {
@@ -178,11 +195,4 @@ public class PersonalSettingsController extends SimpleFormController {
return avatarId;
}
- public void setSettingsService(SettingsService settingsService) {
- this.settingsService = settingsService;
- }
-
- public void setSecurityService(SecurityService securityService) {
- this.securityService = securityService;
- }
}
diff --git a/libresonic-main/src/main/webapp/WEB-INF/libresonic-servlet.xml b/libresonic-main/src/main/webapp/WEB-INF/libresonic-servlet.xml
index a649d1f3..835583ba 100644
--- a/libresonic-main/src/main/webapp/WEB-INF/libresonic-servlet.xml
+++ b/libresonic-main/src/main/webapp/WEB-INF/libresonic-servlet.xml
@@ -191,13 +191,6 @@
-
-
-
-
-
-
-
@@ -396,7 +389,6 @@
shareSettingsController
transcodingSettingsController
internetRadioSettingsController
- personalSettingsController
avatarUploadController
passwordSettingsController
premiumSettingsController