1 package com.dotmarketing.portlets.workflows.action; 2 3 import java.util.ArrayList ; 4 import java.util.Date ; 5 import java.util.GregorianCalendar ; 6 import java.util.List ; 7 8 import javax.portlet.PortletConfig; 9 import javax.portlet.RenderRequest; 10 import javax.portlet.RenderResponse; 11 import javax.portlet.WindowState; 12 import javax.servlet.http.HttpServletRequest ; 13 import javax.servlet.http.HttpSession ; 14 import javax.servlet.jsp.PageContext ; 15 16 import org.apache.struts.action.ActionForm; 17 import org.apache.struts.action.ActionForward; 18 import org.apache.struts.action.ActionMapping; 19 20 import com.dotmarketing.portal.struts.DotPortletAction; 21 import com.dotmarketing.portlets.workflows.factories.WorkflowsFactory; 22 import com.dotmarketing.portlets.workflows.model.WorkflowTask; 23 import com.dotmarketing.util.Config; 24 import com.dotmarketing.util.Logger; 25 import com.dotmarketing.util.UtilMethods; 26 import com.dotmarketing.util.WebKeys; 27 import com.dotmarketing.util.WebKeys.WorkflowStatuses; 28 import com.liferay.portal.model.User; 29 import com.liferay.portlet.RenderRequestImpl; 30 31 37 public class ViewWorkflowTasksAction extends DotPortletAction { 38 39 44 public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, 45 RenderResponse res) throws Exception { 46 47 Logger.debug(this, "Running ViewWorkflowTasksAction!!!!=" + req.getWindowState()); 48 49 try { 50 User user = _getUser(req); 52 _viewUserWorkflowTasks(req, user); 53 54 if (req.getWindowState().equals(WindowState.NORMAL)) { 55 Logger.debug(this, "Running minimized ViewWorkflowTasksAction!!!!"); 56 return mapping.findForward("portlet.ext.workflows.view"); 57 } else { 58 Logger.debug(this, "Running maximized ViewWorkflowTasksAction!!!!"); 59 _viewFilteredWorkflowTasks(req, user); 60 return mapping.findForward("portlet.ext.workflows.view_workflow_tasks"); 61 } 62 } catch (Exception e) { 63 req.setAttribute(PageContext.EXCEPTION, e); 64 return mapping.findForward(com.liferay.portal.util.Constants.COMMON_ERROR); 65 } 66 } 67 68 private void _viewUserWorkflowTasks(RenderRequest req, User user) { 69 List <WorkflowTask> tasks = WorkflowsFactory.getWorkflowTasksAssignedToUser(user.getUserId(), 70 WorkflowStatuses.OPEN); 71 req.setAttribute(WebKeys.WORKFLOW_USER_TASKS_LIST, tasks); 72 } 73 74 private void _viewFilteredWorkflowTasks(RenderRequest req, User user) { 75 HttpServletRequest request = ((RenderRequestImpl) req).getHttpServletRequest(); 76 HttpSession session = request.getSession(); 77 78 int page = 1; 79 String title = ""; 80 String description = ""; 81 String createdBy = ""; 82 String assignedTo = ""; 83 GregorianCalendar cal = new GregorianCalendar (); 84 cal.setTime(new Date ()); 85 cal.add(GregorianCalendar.MONTH, -1); 86 Date createdFrom = cal.getTime(); 87 Date createdTo = new Date (); 88 Date modifiedFrom = cal.getTime(); 89 Date modifiedTo = new Date (); 90 String orderBy = "mod_date desc"; 91 92 if (request.getParameter("resetFilters") == null) { 93 page = UtilMethods.isSet(request.getParameter("page")) ? Integer.parseInt(request.getParameter("page")) 94 : session.getAttribute("workflow_task_page")!=null ? (Integer ) session 95 .getAttribute("workflow_task_page") : 1; 96 97 title = request.getParameter("title") != null ? request.getParameter("title") : UtilMethods 98 .isSet((String ) session.getAttribute("workflow_task_title")) ? (String ) session 99 .getAttribute("workflow_task_title") : ""; 100 101 description = request.getParameter("description") != null ? request.getParameter("description") 102 : UtilMethods.isSet((String ) session.getAttribute("workflow_task_description")) ? (String ) session 103 .getAttribute("workflow_task_description") : ""; 104 105 createdBy = request.getParameter("createdBy") != null ? request.getParameter("createdBy") 106 : UtilMethods.isSet((String ) session.getAttribute("workflow_task_createdBy")) ? (String ) session 107 .getAttribute("workflow_task_createdBy") : ""; 108 109 assignedTo = request.getParameter("assignedTo") != null ? request.getParameter("assignedTo") 110 : UtilMethods.isSet((String ) session.getAttribute("workflow_task_assignedTo")) ? (String ) session 111 .getAttribute("workflow_task_assignedTo") : ""; 112 113 createdFrom = UtilMethods.isSet(request.getParameter("createdFrom")) ? UtilMethods.jdbcToDate(request 114 .getParameter("createdFrom")) : UtilMethods.isSet((Date ) session 115 .getAttribute("workflow_task_createdFrom")) ? (Date ) session 116 .getAttribute("workflow_task_createdFrom") : cal.getTime(); 117 118 createdTo = UtilMethods.isSet(request.getParameter("createdTo")) ? UtilMethods.jdbcToDate(request 119 .getParameter("createdTo")) : UtilMethods.isSet((Date ) session 120 .getAttribute("workflow_task_createdTo")) ? (Date ) session.getAttribute("workflow_task_createdTo") 121 : new Date (); 122 123 modifiedFrom = UtilMethods.isSet(request.getParameter("modifiedFrom")) ? UtilMethods.jdbcToDate(request 124 .getParameter("modifiedFrom")) : UtilMethods.isSet((Date ) session 125 .getAttribute("workflow_task_modifiedFrom")) ? (Date ) session 126 .getAttribute("workflow_task_modifiedFrom") : cal.getTime(); 127 128 modifiedTo = UtilMethods.isSet(request.getParameter("modifiedTo")) ? UtilMethods.jdbcToDate(request 129 .getParameter("modifiedTo")) : UtilMethods.isSet((Date ) session 130 .getAttribute("workflow_task_modifiedTo")) ? (Date ) session 131 .getAttribute("workflow_task_modifiedTo") : new Date (); 132 133 orderBy = request.getParameter("order_by") != null ? request.getParameter("order_by") : UtilMethods 134 .isSet((String ) session.getAttribute("workflow_task_orderBy")) ? (String ) session 135 .getAttribute("workflow_task_orderBy") : "mod_date"; 136 } 137 138 request.setAttribute("page", page); 139 session.setAttribute("workflow_task_page", page); 140 141 request.setAttribute("title", title); 142 session.setAttribute("workflow_task_title", title); 143 144 request.setAttribute("description", description); 145 session.setAttribute("workflow_task_description", description); 146 147 request.setAttribute("createdBy", createdBy); 148 session.setAttribute("workflow_task_createdBy", createdBy); 149 150 request.setAttribute("assignedTo", assignedTo); 151 session.setAttribute("workflow_task_assignedTo", assignedTo); 152 153 request.setAttribute("createdFrom", createdFrom); 154 session.setAttribute("workflow_task_createdFrom", createdFrom); 155 156 request.setAttribute("createdTo", createdTo); 157 session.setAttribute("workflow_task_createdTo", createdTo); 158 159 request.setAttribute("modifiedFrom", modifiedFrom); 160 session.setAttribute("workflow_task_modifiedFrom", modifiedFrom); 161 162 request.setAttribute("modifiedTo", modifiedTo); 163 session.setAttribute("workflow_task_modifiedTo", modifiedTo); 164 165 request.setAttribute("orderBy", orderBy); 166 session.setAttribute("workflow_task_orderBy", orderBy); 167 168 int perPage = Config.getIntProperty("PER_PAGE"); 169 int offset = perPage * (page - 1); 170 List <WorkflowTask> tasks = new ArrayList <WorkflowTask>(); 171 tasks = WorkflowsFactory.filterWorkflowTasks(user, title, description, createdBy, assignedTo, createdFrom, 172 createdTo, modifiedFrom, modifiedTo, offset, perPage, orderBy); 173 int count = WorkflowsFactory.filterWorkflowTasksCount(user, title, description, createdBy, assignedTo, 174 createdFrom, createdTo, modifiedFrom, modifiedTo); 175 req.setAttribute(WebKeys.WORKFLOW_FILTER_TASKS_LIST, tasks); 176 req.setAttribute(WebKeys.WORKFLOW_FILTER_TASKS_COUNT, count); 177 } 178 } | Popular Tags |