package com.vst.webapp.action;
import com.vst.model.Gost;
import com.vst.service.GostManager;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Created by IntelliJ IDEA.
* User: And Lilia
* Date: 06.04.2009
* Time: 15:52:07
* To change this template use File | Settings | File Templates.
*/
public class InsertGostController extends BaseFormController {
GostManager gostManager;
public void setGostManager(GostManager gostManager) {
this.gostManager = gostManager;
}
public InsertGostController() {
setCommandName("gost");
setCommandClass(Gost.class);
}
protected Object formBackingObject(HttpServletRequest request) throws Exception {
if (!isFormSubmission(request)) {
Gost gost = new Gost();
if (request.getParameter("gostId") != null) {
int id = Integer.parseInt(request.getParameter("gostId"));
gost = gostManager.getGostById((Integer) id);
}
if (request.getParameter("edited") != null) {
request.setAttribute("addition", "?edited=1");
gost.setEdited(true);
}
return gost;
}
return super.formBackingObject(request);
}
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response,
Object command,
BindException errors) {
ModelAndView mav = new ModelAndView(getSuccessView());
if (request.getParameter("cansel") != null) {
return new ModelAndView("redirect:/lookGost.html");
}
Gost gost = (Gost) command;
if (gost.getGostId() != null) {
gostManager.updateGost(gost);
if (gost.isEdited()) {
return new ModelAndView("redirect:updating.html?id=" + gost.getGostId() + "&fieldId=" + request.getParameter("fieldId"));
}
return new ModelAndView("redirect:/lookGost.html");
} else {
gostManager.insertGost(gost);
if (gost.isEdited()) {
return new ModelAndView("redirect:updating.html?id=" + gost.getGostId() + "&fieldId=" + request.getParameter("fieldId"));
}
mav.addObject("result", Integer.valueOf(1));
}
mav.addObject("gost", new Gost());
return mav;
}
}