1 16 package com.blandware.atleap.webapp.action.testimonials; 17 18 import com.blandware.atleap.webapp.action.core.BaseAction; 19 import com.blandware.atleap.webapp.form.TestimonialForm; 20 import com.blandware.atleap.webapp.util.core.LocaleUtil; 21 import com.blandware.atleap.webapp.util.core.WebappConstants; 22 import com.blandware.atleap.webapp.util.core.WebappUtil; 23 import com.blandware.atleap.webapp.util.testimonials.TestimonialModuleWebConstants; 24 import org.apache.commons.validator.GenericValidator; 25 import org.apache.struts.action.ActionForm; 26 import org.apache.struts.action.ActionForward; 27 import org.apache.struts.action.ActionMapping; 28 import org.apache.struts.action.ActionMessage; 29 import org.apache.struts.action.ActionMessages; 30 31 import javax.servlet.http.HttpServletRequest ; 32 import javax.servlet.http.HttpServletResponse ; 33 import java.util.List ; 34 35 36 58 public final class CallCreateTestimonialBodyAction extends BaseAction { 59 68 public ActionForward execute(ActionMapping mapping, ActionForm form, 69 HttpServletRequest request, HttpServletResponse response) throws Exception { 70 71 request.getSession().removeAttribute(TestimonialModuleWebConstants.TESTIMONIAL_SUBMITTED_ACTION_KEY); 72 73 if ( isCancelled(request) ) { 74 return mapping.findForward("listTestimonials"); 75 } 76 TestimonialForm testimonialForm = (TestimonialForm) form; 77 78 String localesMode = testimonialForm.getLocalesMode(); 81 if ( !"current".equalsIgnoreCase(localesMode) && !"all".equalsIgnoreCase(localesMode) && testimonialForm.getBodyCheckedBoxes().size() == 0 ) { 82 request.setAttribute("beginPage", mapping.findForward("listTestimonials").getPath()); 83 return mapping.findForward("unsatisfiablePage"); 84 } 85 86 if ( !WebappUtil.hasCorrectValues(testimonialForm.getTitleMap()) ) { 87 89 testimonialForm.setAllCheckedFlagForBodyCheckboxes(request, localesMode); 91 92 request.getSession().removeAttribute(TestimonialModuleWebConstants.TESTIMONIAL_SUBMITTED_ACTION_KEY); 93 ActionMessages errors = new ActionMessages(); 94 errors.add("title", new ActionMessage("core.commons.errors.required", getMessage(request, "testimonials.form.title"))); 95 saveErrors(request, errors, false); 96 saveToken(request); 97 return mapping.getInputForward(); 98 } 99 100 String redirectUrl = request.getParameter("redirectUrl"); 101 if ( GenericValidator.isBlankOrNull(redirectUrl) ) { 102 redirectUrl = (String ) request.getAttribute(WebappConstants.REDIRECT_URL_KEY); 103 } 104 if ( !GenericValidator.isBlankOrNull(redirectUrl) ) { 105 request.getSession().setAttribute(WebappConstants.REDIRECT_URL_KEY, redirectUrl); 106 } else { 107 request.getSession().removeAttribute(WebappConstants.REDIRECT_URL_KEY); 108 } 109 110 if ( !"current".equals(localesMode) && !"all".equals(localesMode) ) { 111 localesMode = "selected"; 112 } 113 testimonialForm.setLocalesMode(localesMode); 114 115 List contentLocales = LocaleUtil.getInstance(servlet.getServletContext()).getAvailableLocales(); 116 117 request.getSession().setAttribute(WebappConstants.CONTENT_LOCALES_COLLECTION_KEY, contentLocales); 118 119 saveToken(request); 121 return mapping.findForward("createTestimonialBody"); 122 } 123 } 124 | Popular Tags |