1 package com.dotmarketing.portlets.campaigns.action; 2 3 import java.util.List ; 4 5 import javax.portlet.PortletConfig; 6 import javax.portlet.RenderRequest; 7 import javax.portlet.RenderResponse; 8 import javax.portlet.WindowState; 9 import javax.servlet.jsp.PageContext ; 10 11 import org.apache.struts.action.ActionForm; 12 import org.apache.struts.action.ActionForward; 13 import org.apache.struts.action.ActionMapping; 14 15 import com.dotmarketing.portal.struts.DotPortletAction; 16 import com.dotmarketing.portlets.campaigns.factories.CampaignFactory; 17 import com.dotmarketing.portlets.mailinglists.factories.MailingListFactory; 18 import com.dotmarketing.util.Config; 19 import com.dotmarketing.util.UtilMethods; 20 import com.dotmarketing.util.WebKeys; 21 import com.liferay.portal.PortalException; 22 import com.liferay.portal.SystemException; 23 import com.liferay.portal.ejb.RoleLocalManagerUtil; 24 import com.liferay.portal.ejb.UserLocalManagerUtil; 25 import com.liferay.portal.model.Role; 26 import com.liferay.portal.model.User; 27 import com.liferay.portal.util.Constants; 28 29 36 public class ViewCampaignsAction extends DotPortletAction { 37 38 41 public ActionForward render( 42 ActionMapping mapping, ActionForm form, PortletConfig config, 43 RenderRequest req, RenderResponse res) 44 throws Exception { 45 46 try { 47 User user = _getUser(req); 49 50 _viewCampaigns(req, user); 51 52 if (req.getWindowState().equals(WindowState.NORMAL)) { 53 return mapping.findForward("portlet.ext.campaigns.view"); 54 } 55 else { 56 return mapping.findForward("portlet.ext.campaigns.view_campaigns"); 57 } 58 } 59 catch (Exception e) { 60 req.setAttribute(PageContext.EXCEPTION, e); 61 return mapping.findForward(Constants.COMMON_ERROR); 62 } 63 } 64 65 @SuppressWarnings ("unchecked") 66 private void _viewCampaigns(RenderRequest req, User user) throws PortalException, SystemException { 67 boolean isCampaignManagerAdmin = false; 68 String campaignManagerAdminRoleId = ""; 69 try { 70 Role campaignManagerAdminRole = RoleLocalManagerUtil.getRoleByName(user.getCompanyId(),Config.getStringProperty("CAMPAIGN_MANAGER_ADMIN")); 71 campaignManagerAdminRoleId = campaignManagerAdminRole.getRoleId(); 72 } 73 catch (Exception e) {} 74 75 boolean isCampaignManagerViewer = false; 76 String campaignManagerViewerRoleId = ""; 77 try { 78 Role campaignManagerViewerRole = RoleLocalManagerUtil.getRoleByName(user.getCompanyId(),Config.getStringProperty("CAMPAIGN_MANAGER_VIEWER")); 79 campaignManagerViewerRoleId = campaignManagerViewerRole.getRoleId(); 80 } 81 catch (Exception e) {} 82 83 try { 84 Role[] userRoles = (Role[])UserLocalManagerUtil.getRoles(user.getUserId()).toArray(new Role[0]); 85 for (int i = 0; i < userRoles.length; i++) { 86 Role userRole = (Role) userRoles[i]; 87 if (userRole.getRoleId().equals(campaignManagerAdminRoleId)) { 88 isCampaignManagerAdmin = true; 89 } 90 if (userRole.getRoleId().equals(campaignManagerViewerRoleId)) { 91 isCampaignManagerViewer = true; 92 } 93 } 94 } 95 catch (Exception e) { 96 97 } 98 List list = null; 100 String orderby = req.getParameter("orderby"); 101 String condition = req.getParameter("query"); 102 String direction = req.getParameter("direction"); 103 if(UtilMethods.isSet(direction)) 104 orderby = orderby+" "+direction; 105 106 if (isCampaignManagerAdmin) { 107 list = CampaignFactory.getCampaigns(condition,orderby); 109 } 110 else if (isCampaignManagerViewer) { 111 list = CampaignFactory.getCampaignsForViewer(orderby); 112 } 113 else { 114 list = CampaignFactory.getCampaignsByUser(user,condition,orderby); 116 } 117 118 req.setAttribute(WebKeys.CAMPAIGN_LIST, list); 119 } 120 } | Popular Tags |