1 5 package com.dotmarketing.portlets.events.action; 6 7 import java.util.ArrayList ; 8 import java.util.GregorianCalendar ; 9 import java.util.List ; 10 import java.util.StringTokenizer ; 11 12 import javax.portlet.PortletConfig; 13 import javax.portlet.PortletRequest; 14 import javax.portlet.PortletResponse; 15 import javax.portlet.PortletSession; 16 import javax.portlet.RenderRequest; 17 import javax.portlet.RenderResponse; 18 import javax.portlet.WindowState; 19 20 import org.apache.struts.action.ActionForm; 21 import org.apache.struts.action.ActionForward; 22 import org.apache.struts.action.ActionMapping; 23 24 import com.dotmarketing.beans.Inode; 25 import com.dotmarketing.factories.InodeFactory; 26 import com.dotmarketing.portal.struts.DotPortletAction; 27 import com.dotmarketing.portlets.categories.model.Category; 28 import com.dotmarketing.portlets.events.factories.EventFactory; 29 import com.liferay.portal.model.User; 30 31 35 public class ViewEventsAction extends DotPortletAction { 36 public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, 37 RenderResponse res) throws Exception { 38 if (req.getWindowState().equals(WindowState.NORMAL)) { 39 _setFilters(mapping, form, config, req, res); 40 return mapping.findForward("portlet.ext.events.view"); 41 } else { 42 _setFilters(mapping, form, config, req, res); 43 _viewEvents(mapping, form, config, req, res); 44 return mapping.findForward("portlet.ext.events.view_events"); 45 } 46 } 47 48 private void _setFilters(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, 49 PortletResponse res) throws Exception { 50 51 PortletSession session = req.getPortletSession(); 52 53 55 long facilityInode = -1; 56 57 if (req.getParameter("resetFilters") == null || !req.getParameter("resetFilters").equals("true")) { 58 try { 59 facilityInode = Integer.parseInt((String ) session.getAttribute("facilityInode")); 60 } catch (Exception e) { 61 } 62 try { 63 facilityInode = Long.parseLong((String ) req.getParameter("facilityInode")); 64 } catch (Exception e) { 65 } 66 } 67 session.setAttribute("facilityInode", new Long (facilityInode)); 68 req.setAttribute("facilityInode", new Long (facilityInode)); 69 70 req.setAttribute("selectedCategories", req.getParameter("selectedCategories")); 71 72 } 73 74 private void _viewEvents(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, 75 PortletResponse res) throws Exception { 76 77 PortletSession session = req.getPortletSession(); 78 PortletRequest request = req; 79 80 GregorianCalendar cal = new java.util.GregorianCalendar (); 81 GregorianCalendar today = new java.util.GregorianCalendar (); 82 GregorianCalendar lastDayOfMonth = new java.util.GregorianCalendar (); 83 GregorianCalendar firstDayOfMonth = new java.util.GregorianCalendar (); 84 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 85 cal.set(GregorianCalendar.MINUTE, 0); 86 cal.set(GregorianCalendar.SECOND, 0); 87 cal.set(GregorianCalendar.DAY_OF_MONTH, 1); 88 89 try { 90 cal.set(GregorianCalendar.MONTH, Integer.parseInt(request.getParameter("month"))); 91 } catch (Exception e) { 92 } 93 94 try { 95 cal.set(GregorianCalendar.YEAR, Integer.parseInt(request.getParameter("year"))); 96 } catch (Exception e) { 97 } 98 99 firstDayOfMonth.setTime(cal.getTime()); 100 firstDayOfMonth.set(GregorianCalendar.DAY_OF_MONTH, 1); 101 102 lastDayOfMonth.setTime(cal.getTime()); 103 lastDayOfMonth.add(GregorianCalendar.MONTH, 1); 104 lastDayOfMonth.set(GregorianCalendar.DAY_OF_MONTH, 1); 105 lastDayOfMonth.add(GregorianCalendar.SECOND, -1); 106 107 java.util.List events = null; 108 109 String selectedCategories = (String ) req.getAttribute("selectedCategories"); 110 if (selectedCategories == null) 111 selectedCategories = ""; 112 List <Inode> parents = new ArrayList <Inode>(); 113 StringTokenizer st = new StringTokenizer (selectedCategories, ","); 114 while (st.hasMoreTokens()) { 115 try { 116 Category cat = new Category(); 117 cat.setInode(st.nextToken()); 118 parents.add(cat); 119 } catch (Exception e) { 120 } 121 } 122 123 long facilityInode = ((Long ) req.getAttribute("facilityInode")).longValue(); 124 if (facilityInode > 0) { 125 Inode x = new Inode(); 126 x.setInode(facilityInode); 127 parents.add(x); 128 } 129 User user = _getUser(req); 130 131 boolean admin = EventFactory.isAnEventAdministrator(user); 132 133 if (admin) 134 events = EventFactory.getEventsByDateRangeYParent(firstDayOfMonth.getTime(), lastDayOfMonth.getTime(), parents); 135 else 136 events = EventFactory.getEventsByDateRangeYParent(firstDayOfMonth.getTime(), lastDayOfMonth.getTime(), parents, 137 user); 138 139 req.setAttribute("events", events); 140 req.setAttribute("calendar", cal); 141 req.setAttribute("isAdmin", new Boolean (admin)); 142 req.setAttribute("userId", user.getUserId()); 143 144 } 145 146 } 147 | Popular Tags |