KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > campaigns > action > ViewCampaignsAction


1 package com.dotmarketing.portlets.campaigns.action;
2
3 import java.util.List JavaDoc;
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 JavaDoc;
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 /**
30  * <a HREF="ViewQuestionsAction.java.htm"><b><i>View Source</i></b></a>
31  *
32  * @author Maria Ahues
33  * @version $Revision: 1.3 $
34  *
35  */

36 public class ViewCampaignsAction extends DotPortletAction {
37
38     /*
39      * @see com.liferay.portal.struts.PortletAction#render(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.portlet.PortletConfig, javax.portlet.RenderRequest, javax.portlet.RenderResponse)
40      */

41     public ActionForward render(
42             ActionMapping mapping, ActionForm form, PortletConfig config,
43             RenderRequest req, RenderResponse res)
44         throws Exception JavaDoc {
45
46         try {
47             //gets the user
48
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 JavaDoc e) {
60             req.setAttribute(PageContext.EXCEPTION, e);
61             return mapping.findForward(Constants.COMMON_ERROR);
62         }
63     }
64
65     @SuppressWarnings JavaDoc("unchecked")
66     private void _viewCampaigns(RenderRequest req, User user) throws PortalException, SystemException {
67         boolean isCampaignManagerAdmin = false;
68         String JavaDoc campaignManagerAdminRoleId = "";
69         try {
70             Role campaignManagerAdminRole = RoleLocalManagerUtil.getRoleByName(user.getCompanyId(),Config.getStringProperty("CAMPAIGN_MANAGER_ADMIN"));
71             campaignManagerAdminRoleId = campaignManagerAdminRole.getRoleId();
72         }
73         catch (Exception JavaDoc e) {}
74
75         boolean isCampaignManagerViewer = false;
76         String JavaDoc campaignManagerViewerRoleId = "";
77         try {
78             Role campaignManagerViewerRole = RoleLocalManagerUtil.getRoleByName(user.getCompanyId(),Config.getStringProperty("CAMPAIGN_MANAGER_VIEWER"));
79             campaignManagerViewerRoleId = campaignManagerViewerRole.getRoleId();
80         }
81         catch (Exception JavaDoc 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 JavaDoc e) {
96             
97         }
98         //get their lists
99
List JavaDoc list = null;
100         String JavaDoc orderby = req.getParameter("orderby");
101         String JavaDoc condition = req.getParameter("query");
102         String JavaDoc direction = req.getParameter("direction");
103         if(UtilMethods.isSet(direction))
104             orderby = orderby+" "+direction;
105         
106         if (isCampaignManagerAdmin) {
107             // get all lists
108
list = CampaignFactory.getCampaigns(condition,orderby);
109         }
110         else if (isCampaignManagerViewer) {
111             list = CampaignFactory.getCampaignsForViewer(orderby);
112         }
113         else {
114             //get the user lists
115
list = CampaignFactory.getCampaignsByUser(user,condition,orderby);
116         }
117                 
118         req.setAttribute(WebKeys.CAMPAIGN_LIST, list);
119     }
120 }
Popular Tags