mirror of https://github.com/bvn13/VoidForum.git
61 lines
2.0 KiB
Java
61 lines
2.0 KiB
Java
package ru.bvn13.voidforum.controllers.admin;
|
|
|
|
import ru.bvn13.voidforum.forms.SettingsForm;
|
|
import ru.bvn13.voidforum.services.AppSetting;
|
|
import ru.bvn13.voidforum.support.web.MessageHelper;
|
|
import ru.bvn13.voidforum.utils.DTOUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.validation.Errors;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
|
|
import javax.validation.Valid;
|
|
|
|
/**
|
|
* bvn13 <mail4bvn@gmail.com>
|
|
*/
|
|
@Controller
|
|
@RequestMapping("admin")
|
|
public class AdminController {
|
|
|
|
private AppSetting appSetting;
|
|
|
|
@Autowired
|
|
public AdminController( AppSetting appSetting){
|
|
this.appSetting = appSetting;
|
|
}
|
|
|
|
@RequestMapping("")
|
|
public String index(){
|
|
return "admin/home/index";
|
|
}
|
|
|
|
@RequestMapping(value = "settings")
|
|
public String settings(Model model){
|
|
SettingsForm settingsForm = DTOUtil.map(appSetting, SettingsForm.class);
|
|
|
|
model.addAttribute("settings", settingsForm);
|
|
return "admin/home/settings";
|
|
}
|
|
|
|
@RequestMapping(value = "settings", method = RequestMethod.POST)
|
|
public String updateSettings(@Valid SettingsForm settingsForm, Errors errors, Model model, RedirectAttributes ra){
|
|
if (errors.hasErrors()){
|
|
return "admin/settings";
|
|
} else {
|
|
appSetting.setSiteName(settingsForm.getSiteName());
|
|
appSetting.setSiteSlogan(settingsForm.getSiteSlogan());
|
|
appSetting.setPageSize(settingsForm.getPageSize());
|
|
appSetting.setStoragePath(settingsForm.getStoragePath());
|
|
appSetting.setMainUri(settingsForm.getMainUri());
|
|
|
|
MessageHelper.addSuccessAttribute(ra, "Update settings successfully.");
|
|
|
|
return "redirect:settings";
|
|
}
|
|
}
|
|
}
|