1 package com.dotmarketing.portlets.jobs.action; 2 3 import java.util.Calendar ; 4 import java.util.GregorianCalendar ; 5 import javax.portlet.ActionRequest; 6 import javax.portlet.ActionResponse; 7 import javax.portlet.PortletConfig; 8 import javax.servlet.http.HttpServletRequest ; 9 import org.apache.commons.beanutils.BeanUtils; 10 import org.apache.struts.action.ActionForm; 11 import org.apache.struts.action.ActionMapping; 12 import com.dotmarketing.factories.InodeFactory; 13 import com.dotmarketing.portal.struts.DotPortletAction; 14 import com.dotmarketing.portlets.jobs.factories.ResumeFactory; 15 import com.dotmarketing.portlets.jobs.model.Resume; 16 import com.dotmarketing.util.Constants; 17 import com.dotmarketing.util.Logger; 18 import com.dotmarketing.util.Validator; 19 import com.dotmarketing.util.WebKeys; 20 import com.liferay.portlet.ActionRequestImpl; 21 import com.liferay.util.servlet.SessionMessages; 22 23 public class EditResumeAction extends DotPortletAction { 24 public void processAction(ActionMapping mapping, ActionForm form, PortletConfig config, ActionRequest req, 25 ActionResponse res) throws Exception { 26 String cmd = req.getParameter(com.liferay.portal.util.Constants.CMD); 27 28 ActionRequestImpl reqImpl = (ActionRequestImpl) req; 30 HttpServletRequest httpReq = reqImpl.getHttpServletRequest(); 31 32 String referer = req.getParameter("referer"); 33 34 _editResume(form, req, res); 36 37 if (com.liferay.portal.util.Constants.ADD.equals(cmd)) { 39 Logger.debug(this, "Resume: Saving Resume"); 40 41 if (!Validator.validate(req, form, mapping)) { 43 Logger.debug(this, "Resume: Validation Resume Failed"); 44 setForward(req, mapping.getInput()); 45 46 return; 47 } else { 48 try { 49 _saveResume(form, req, res); 50 } catch (Exception e) { 51 _handleException(e, req); 52 } 53 54 _sendToReferral(req, res, referer); 55 56 return; 57 } 58 } 59 else if (com.liferay.portal.util.Constants.DELETE.equals(cmd)) { 61 Logger.debug(this, "Resume: Deleting Resume"); 62 63 try { 64 _deleteResume(form, req, res); 65 } catch (Exception e) { 66 _handleException(e, req); 67 } 68 69 _sendToReferral(req, res, referer); 70 71 return; 72 } 73 74 else if (Constants.ACTIVATE.equals(cmd)) { 76 Logger.debug(this, "Resume: Activating Resume"); 77 78 try { 79 _activateResume(form, req, res); 80 } catch (Exception e) { 81 _handleException(e, req); 82 } 83 84 _sendToReferral(req, res, referer); 85 86 return; 87 } 88 89 else if ("deletefile".equals(cmd)) { 91 Logger.debug(this, "Resume: Deleting File from Resume"); 92 93 try { 94 _deleteResumeFile(form, req, res); 95 } catch (Exception e) { 96 _handleException(e, req); 97 } 98 99 _sendToReferral(req, res, referer); 100 101 return; 102 } 103 104 BeanUtils.copyProperties(form, req.getAttribute(WebKeys.RESUME_EDIT)); 105 setForward(req, "portlet.ext.jobs.edit_resume"); 106 } 107 108 109 private void _saveResume(ActionForm form, ActionRequest req, ActionResponse res) 111 throws Exception { 112 113 BeanUtils.copyProperties(req.getAttribute(WebKeys.RESUME_EDIT), form); 114 Resume resume = (Resume) req.getAttribute(WebKeys.RESUME_EDIT); 115 116 if(resume.getExpirationdate() == null) { 117 if(resume.isActive()) { 118 Calendar calendar = new GregorianCalendar (); 119 calendar.setTime(resume.getCreationdate()); 120 calendar.add(Calendar.MONTH,6); 121 resume.setExpirationdate(calendar.getTime()); 122 } 123 } 124 125 resume = ResumeFactory.save(resume); 126 req.setAttribute(WebKeys.RESUME_EDIT, resume); 127 128 SessionMessages.add(req, "message.resume.save"); 129 } 130 131 private void _deleteResume(ActionForm form, ActionRequest req, ActionResponse res) 133 throws Exception { 134 Resume resume = (Resume) req.getAttribute(WebKeys.RESUME_EDIT); 135 InodeFactory.deleteInode(resume); 136 SessionMessages.add(req, "message", "message.resume.delete"); 137 } 138 139 private void _deleteResumeFile(ActionForm form, ActionRequest req, ActionResponse res) 141 throws Exception { 142 Resume resume = (Resume) req.getAttribute(WebKeys.RESUME_EDIT); 143 } 147 148 private void _activateResume(ActionForm form, ActionRequest req, ActionResponse res) 150 throws Exception { 151 Resume r = (Resume)req.getAttribute(WebKeys.RESUME_EDIT); 153 154 String activeStr = req.getParameter("active"); 155 boolean active = Boolean.parseBoolean(activeStr); 156 r.setActive(active); 157 if(r.isActive()) { 158 Calendar cal = new GregorianCalendar (); 159 cal.setTime(r.getCreationdate()); 160 cal.add(Calendar.MONTH,6); 161 r.setExpirationdate(cal.getTime()); 162 } 163 InodeFactory.saveInode(r); 164 } 165 166 private void _editResume(ActionForm form, ActionRequest req, ActionResponse res) 168 throws Exception { 169 Resume resume = ResumeFactory.getResume(req.getParameter("inode")); 170 req.setAttribute(WebKeys.RESUME_EDIT, resume); 171 } 172 } 173 | Popular Tags |