parent
88ab70117e
commit
cab1ee9b6e
@ -0,0 +1,35 @@ |
||||
package org.libresonic.player.controller; |
||||
|
||||
import org.apache.commons.lang.ObjectUtils; |
||||
import org.libresonic.player.service.SettingsService; |
||||
|
||||
import javax.servlet.http.HttpServletRequest; |
||||
|
||||
/** |
||||
* This class has been created to refactor code previously present |
||||
* in the MultiController. |
||||
*/ |
||||
public class ControllerUtils { |
||||
|
||||
public static void updatePortAndContextPath(HttpServletRequest request, SettingsService settingsService) { |
||||
|
||||
int port = Integer.parseInt(System.getProperty("libresonic.port", String.valueOf(request.getLocalPort()))); |
||||
int httpsPort = Integer.parseInt(System.getProperty("libresonic.httpsPort", "0")); |
||||
|
||||
String contextPath = request.getContextPath().replace("/", ""); |
||||
|
||||
if (settingsService.getPort() != port) { |
||||
settingsService.setPort(port); |
||||
settingsService.save(); |
||||
} |
||||
if (settingsService.getHttpsPort() != httpsPort) { |
||||
settingsService.setHttpsPort(httpsPort); |
||||
settingsService.save(); |
||||
} |
||||
if (!ObjectUtils.equals(settingsService.getUrlRedirectContextPath(), contextPath)) { |
||||
settingsService.setUrlRedirectContextPath(contextPath); |
||||
settingsService.save(); |
||||
} |
||||
} |
||||
|
||||
} |
@ -0,0 +1,50 @@ |
||||
package org.libresonic.player.controller; |
||||
|
||||
import org.libresonic.player.Logger; |
||||
import org.libresonic.player.domain.User; |
||||
import org.libresonic.player.domain.UserSettings; |
||||
import org.libresonic.player.service.SecurityService; |
||||
import org.libresonic.player.service.SettingsService; |
||||
import org.libresonic.player.util.StringUtil; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; |
||||
import org.springframework.stereotype.Controller; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RequestMethod; |
||||
import org.springframework.web.servlet.ModelAndView; |
||||
import org.springframework.web.servlet.view.RedirectView; |
||||
|
||||
import javax.servlet.http.HttpServletRequest; |
||||
import javax.servlet.http.HttpServletResponse; |
||||
import java.util.HashMap; |
||||
import java.util.Map; |
||||
|
||||
@Controller |
||||
@RequestMapping("/index") |
||||
public class IndexController { |
||||
|
||||
|
||||
private static final Logger LOG = Logger.getLogger(IndexController.class); |
||||
|
||||
@Autowired |
||||
private SecurityService securityService; |
||||
@Autowired |
||||
private SettingsService settingsService; |
||||
|
||||
@RequestMapping(method = { RequestMethod.GET}) |
||||
public ModelAndView index(HttpServletRequest request) { |
||||
ControllerUtils.updatePortAndContextPath(request,settingsService); |
||||
UserSettings userSettings = settingsService.getUserSettings(securityService.getCurrentUsername(request)); |
||||
|
||||
Map<String, Object> map = new HashMap<String, Object>(); |
||||
map.put("showRight", userSettings.isShowNowPlayingEnabled() || userSettings.isShowChatEnabled()); |
||||
map.put("autoHidePlayQueue", userSettings.isAutoHidePlayQueue()); |
||||
map.put("listReloadDelay", userSettings.getListReloadDelay()); |
||||
map.put("keyboardShortcutsEnabled", userSettings.isKeyboardShortcutsEnabled()); |
||||
map.put("showSideBar", userSettings.isShowSideBar()); |
||||
map.put("brand", settingsService.getBrand()); |
||||
return new ModelAndView("index", "model", map); |
||||
} |
||||
|
||||
|
||||
} |
Loading…
Reference in new issue