Examples of WorkflowItem


Examples of org.dspace.workflow.WorkflowItem

     * @param workflowItemId the identifier of the workflow item
     * @throws org.dspace.authorize.AuthorizeException thrown if the user doesn't have sufficient rights to perform the task at hand
     * @throws java.sql.SQLException is thrown when something is wrong with the database
     */
    public static void authorizeWorkflowItem(Context context, String workflowItemId) throws AuthorizeException, SQLException {
        WorkflowItem workflowItem = WorkflowItem.find(context, Integer.parseInt(workflowItemId.substring(1)));
        if((workflowItem.getState() == WorkflowManager.WFSTATE_STEP1 ||
                workflowItem.getState() == WorkflowManager.WFSTATE_STEP2 ||
                workflowItem.getState() == WorkflowManager.WFSTATE_STEP3) && workflowItem.getOwner().getID() != context.getCurrentUser().getID()){
            throw new AuthorizeException("You are not allowed to perform this task.");
        }else
        if((workflowItem.getState() == WorkflowManager.WFSTATE_STEP1POOL ||
                workflowItem.getState() == WorkflowManager.WFSTATE_STEP2POOL ||
                workflowItem.getState() == WorkflowManager.WFSTATE_STEP3POOL)){
            // Verify if the current user has the current workflowItem among his pooled tasks
            boolean hasPooledTask = false;
            List<WorkflowItem> pooledTasks = WorkflowManager.getPooledTasks(context, context.getCurrentUser());
            for (WorkflowItem pooledItem : pooledTasks) {
                if(pooledItem.getID() == workflowItem.getID()){
                    hasPooledTask = true;
                }
            }
            if(!hasPooledTask){
                throw new AuthorizeException("You are not allowed to perform this task.");
View Full Code Here

Examples of org.dspace.workflow.WorkflowItem

   * @param id The unique ID of the current workflow
     * @param request The current request object
   */
  public static String processRejectTask(Context context, String id,Request request) throws SQLException, UIException, ServletException, AuthorizeException, IOException
  {
    WorkflowItem workflowItem = findWorkflow(context, id);

    String reason = request.getParameter("reason");

    if (reason != null && reason.length() > 1)
    {
View Full Code Here

Examples of org.dspace.workflow.WorkflowItem

      String[] workflowIDs = request.getParameterValues("workflowID");
      if (workflowIDs != null)
      {
        for (String workflowID : workflowIDs)
        {
          WorkflowItem workflowItem = WorkflowItem.find(context, Integer.valueOf(workflowID));
          //workflowItem.get
         
          int state = workflowItem.getState();
          // only claim tasks that are in the pool.
          if ( state == WorkflowManager.WFSTATE_STEP1 ||
             state == WorkflowManager.WFSTATE_STEP2 ||
             state == WorkflowManager.WFSTATE_STEP3 )
          {
                    log.info(LogManager.getHeader(context, "unclaim_workflow", "workflow_id=" + workflowItem.getID()));
            WorkflowManager.unclaim(context, workflowItem, context.getCurrentUser());
          }
        }
        context.commit();
      }
View Full Code Here

Examples of org.dspace.workflow.WorkflowItem

            AuthorizeException
    {
        String buttonPressed = UIUtil.getSubmitButton(request, "submit_cancel");

        // Get workflow item
        WorkflowItem workflowItem;

        try
        {
            int wfID = Integer.parseInt(request.getParameter("workflow_id"));
            workflowItem = WorkflowItem.find(context, wfID);
View Full Code Here

Examples of org.dspace.workflow.WorkflowItem

            AuthorizeException
    {
        String buttonPressed = UIUtil.getSubmitButton(request, "submit_cancel");

        // Get workflow item
        WorkflowItem workflowItem;

        try
        {
            int wfID = Integer.parseInt(request.getParameter("workflow_id"));
            workflowItem = WorkflowItem.find(context, wfID);
        }
        catch (NumberFormatException nfe)
        {
            workflowItem = null;
        }

        if (workflowItem == null)
        {
            log.warn(LogManager.getHeader(context, "integrity_error", UIUtil
                    .getRequestLogInfo(request)));
            JSPManager.showIntegrityError(request, response);

            return;
        }

        if (buttonPressed.equals("submit_approve"))
        {
            Item item = workflowItem.getItem();

            // Advance the item along the workflow
            WorkflowManager.advance(context, workflowItem, context
                    .getCurrentUser());

            // FIXME: This should be a return value from advance()
            // See if that gave the item a Handle. If it did,
            // the item made it into the archive, so we
            // should display a suitable page.
            String handle = HandleManager.findHandle(context, item);

            if (handle != null)
            {
                String displayHandle = HandleManager.getCanonicalForm(handle);

                request.setAttribute("handle", displayHandle);
                JSPManager.showJSP(request, response,
                        "/mydspace/in-archive.jsp");
            }
            else
            {
                JSPManager.showJSP(request, response,
                        "/mydspace/task-complete.jsp");
            }

            context.complete();
        }
        else if (buttonPressed.equals("submit_reject"))
        {
            // Submission rejected. Ask the user for a reason
            log.info(LogManager.getHeader(context, "get_reject_reason",
                    "workflow_id=" + workflowItem.getID() + ",item_id="
                            + workflowItem.getItem().getID()));

            request.setAttribute("workflow.item", workflowItem);
            JSPManager
                    .showJSP(request, response, "/mydspace/reject-reason.jsp");
        }
        else if (buttonPressed.equals("submit_edit"))
        {
            // FIXME: Check auth
            log.info(LogManager.getHeader(context, "edit_workflow_item",
                    "workflow_id=" + workflowItem.getID() + ",item_id="
                            + workflowItem.getItem().getID()));

            // Forward control to the submission interface
            // with the relevant item
            response.sendRedirect(response.encodeRedirectURL(request
                    .getContextPath()
                    + "/submit?workflow=" + workflowItem.getID()));
        }
        else if (buttonPressed.equals("submit_pool"))
        {
            // Return task to pool
            WorkflowManager.unclaim(context, workflowItem, context
View Full Code Here

Examples of org.dspace.workflow.WorkflowItem

            AuthorizeException
    {
        String buttonPressed = UIUtil.getSubmitButton(request, "submit_cancel");

        // Get workflow item
        WorkflowItem workflowItem;

        try
        {
            int wfID = Integer.parseInt(request.getParameter("workflow_id"));
            workflowItem = WorkflowItem.find(context, wfID);
View Full Code Here

Examples of org.dspace.workflow.WorkflowItem

        String button = UIUtil.getSubmitButton(request, "submit");

        if (button.equals("submit_abort"))
        {
            // bring up the confirm page
            WorkflowItem wi = WorkflowItem.find(c, UIUtil.getIntParameter(
                    request, "workflow_id"));

            request.setAttribute("workflow", wi);
            JSPManager.showJSP(request, response,
                    "/dspace-admin/workflow-abort-confirm.jsp");
        }
        else if (button.equals("submit_abort_confirm"))
        {
            // do the actual abort
            WorkflowItem wi = WorkflowItem.find(c, UIUtil.getIntParameter(
                    request, "workflow_id"));

            WorkflowManager.abort(c, wi, c.getCurrentUser());

            // now show what's left
View Full Code Here

Examples of org.dspace.workflow.WorkflowItem

        {
            workspaceItem = null;
        }

        // Get workflow item specified, if any
        WorkflowItem workflowItem;

        try
        {
            int wfID = Integer.parseInt(request.getParameter("workflow_id"));
            workflowItem = WorkflowItem.find(context, wfID);
        }
        catch (NumberFormatException nfe)
        {
            workflowItem = null;
        }

        // Respond to button press
        boolean ok = false;

        if (buttonPressed.equals("submit_new"))
        {
            // New submission: Redirect to submit
            response.sendRedirect(response.encodeRedirectURL(request
                    .getContextPath()
                    + "/submit"));
            ok = true;
        }
        else if (buttonPressed.equals("submit_own"))
        {
            // Review own submissions
            showPreviousSubmissions(context, request, response);
            ok = true;
        }
        else if (buttonPressed.equals("submit_resume"))
        {
            // User clicked on a "Resume" button for a workspace item.
            String wsID = request.getParameter("workspace_id");
            response.sendRedirect(response.encodeRedirectURL(request
                    .getContextPath()
                    + "/submit?resume=" + wsID));
            ok = true;
        }
        else if (buttonPressed.equals("submit_delete"))
        {
            // User clicked on a "Remove" button for a workspace item
            if (workspaceItem != null)
            {
                log.info(LogManager.getHeader(context, "confirm_removal",
                        "workspace_item_id=" + workspaceItem.getID()));

                request.setAttribute("workspace.item", workspaceItem);
                JSPManager.showJSP(request, response,
                        "/mydspace/remove-item.jsp");
            }
            else
            {
                log.warn(LogManager.getHeader(context, "integrity_error",
                        UIUtil.getRequestLogInfo(request)));
                JSPManager.showIntegrityError(request, response);
            }

            ok = true;
        }
        else if (buttonPressed.equals("submit_claim"))
        {
            // User clicked "take task" button on workflow task
            if (workflowItem != null)
            {
                log.info(LogManager.getHeader(context, "view_workflow",
                        "workflow_id=" + workflowItem.getID()));

                request.setAttribute("workflow.item", workflowItem);
                JSPManager.showJSP(request, response,
                        "/mydspace/preview-task.jsp");
                ok = true;
            }
        }
        else if (buttonPressed.equals("submit_perform"))
        {
            // User clicked "Do This Task" button on workflow task
            if (workflowItem != null)
            {
                log.info(LogManager.getHeader(context, "view_workflow",
                        "workflow_id=" + workflowItem.getID()));

                request.setAttribute("workflow.item", workflowItem);
                JSPManager.showJSP(request, response,
                        "/mydspace/perform-task.jsp");
                ok = true;
            }
        }
        else if (buttonPressed.equals("submit_return"))
        {
            // User clicked "Return to pool" button on workflow task
            if (workflowItem != null)
            {
                log.info(LogManager.getHeader(context, "unclaim_workflow",
                        "workflow_id=" + workflowItem.getID()));

                WorkflowManager.unclaim(context, workflowItem, context
                        .getCurrentUser());

                showMainPage(context, request, response);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.