1 package com.dotmarketing.portlets.communications.action; 2 3 import java.util.ArrayList ; 4 import java.util.List ; 5 6 import javax.portlet.PortletConfig; 7 import javax.portlet.RenderRequest; 8 import javax.portlet.RenderResponse; 9 import javax.portlet.WindowState; 10 import javax.servlet.jsp.PageContext ; 11 12 import org.apache.struts.action.ActionForm; 13 import org.apache.struts.action.ActionForward; 14 import org.apache.struts.action.ActionMapping; 15 16 import com.dotmarketing.portal.struts.DotPortletAction; 17 import com.dotmarketing.portlets.communications.factories.CommunicationsFactory; 18 import com.dotmarketing.portlets.communications.model.Communication; 19 import com.dotmarketing.util.Config; 20 import com.dotmarketing.util.UtilMethods; 21 import com.dotmarketing.util.WebKeys; 22 import com.liferay.portal.PortalException; 23 import com.liferay.portal.SystemException; 24 import com.liferay.portal.model.User; 25 import com.liferay.portal.util.Constants; 26 27 32 public class ViewCommunicationsAction extends DotPortletAction { 33 34 37 public ActionForward render( 38 ActionMapping mapping, ActionForm form, PortletConfig config, 39 RenderRequest req, RenderResponse res) 40 throws Exception { 41 42 try { 43 User user = _getUser(req); 45 46 _viewCommunications(req, user); 47 48 if (req.getWindowState().equals(WindowState.NORMAL)) { 49 return mapping.findForward("portlet.ext.communications.view"); 50 } 51 else { 52 return mapping.findForward("portlet.ext.communications.view_communications"); 53 } 54 } 55 catch (Exception e) { 56 req.setAttribute(PageContext.EXCEPTION, e); 57 return mapping.findForward(Constants.COMMON_ERROR); 58 } 59 } 60 61 @SuppressWarnings ("unchecked") 62 private void _viewCommunications(RenderRequest req, User user) throws PortalException, SystemException { 63 64 List <Communication> list = null; 66 String orderby = req.getParameter("orderby"); 67 String query1 =req.getParameter("query1"); 68 String query2 =req.getParameter("query2"); 69 String query3 =req.getParameter("query3"); 70 71 if(UtilMethods.isSet(query1)){ 72 query1 = " title like '%"+query1+"%'"; 73 } else { 74 query1 =""; 75 } 76 77 if(UtilMethods.isSet(query2)){ 78 query2 = " from_name like '%"+query2+"%'"; 79 80 if(UtilMethods.isSet(query1)) 81 query2 = " and "+query2; 82 } else { 83 query2 =""; 84 } 85 86 if(UtilMethods.isSet(query3)){ 87 query3 = " communication_type like '%"+query3+"%'"; 88 89 if(UtilMethods.isSet(query1) || UtilMethods.isSet(query2)) 90 query3 = " and "+query3; 91 } else { 92 query3 =""; 93 } 94 95 String condition = query1 + query2 + query3; 96 String direction = req.getParameter("direction"); 97 if(UtilMethods.isSet(direction)) 98 orderby = orderby+" "+direction; 99 100 list = CommunicationsFactory.getCommunications(condition,orderby); 101 102 List <Communication> permitted = new ArrayList (); 103 for(Communication com : list){ 104 try { 105 _checkUserPermissions(com, user, Config.getIntProperty("PERMISSION_READ")); 106 permitted.add(com); 107 }catch(Exception e){ 108 e.printStackTrace(); 109 } 110 } 111 112 req.setAttribute(WebKeys.COMMUNICATIONS_LIST, permitted); 113 } 114 115 } 116 | Popular Tags |