#### Manager Tasks Pending Portlet

The Manager Tasks Pending portlet (Worklist.portlet) communicates with the Office Equipment Order Management system to display office equipment orders issued by a manager's direct employees, and to enable the manager to approve or reject pending orders. The Content URI property in the Property Editor window specifies the following file as the page flow file referenced by the Manager Tasks Pending portlet: /worklist/Controller.jpf.

The following figure shows the controller file, Controller.jpf, for the Manager Tasks Pending page flow in the Flow View canvas of the Page Flow Designer.

Controller File for the Manager Tasks Pending Page Flow

The following table describes each component of the controller file for the Manager Tasks Pending page flow.

Components of the Controller File for the Manager Tasks Pending Page Flow

Component | Function
--- | ---
begin Icon | Defines a Worklist TaskSelector to retrieve a list of tasks assigned to the current user. It then passes control to the worklist.jsp file. The begin() method uses an instance of the ManagerWorker task worker control, worker, to communicate with the manager's Worklist user interface. A Worklist user interface allows individuals to interact with a running business process to handle tasks assigned to them. A task worker control provides an interface to a Worklist user interface, allowing your business process to operate on a current task. The worker task control is used to retrieve the current tasks assigned. For example:
    private worklist.ManagerWorker worker;
    /**
      * @jpf:action
      * @jpf:forward name="success" path="worklist.jsp"
    */
    protected Forward begin()
    {
       Subject sub= Security.getCurrentSubject();
       // by default display the owned tasks
       TaskSelector selector = new TaskSelector();
    .
    .
    .
       TaskInfo[] infos = worker.getTaskInfos(selector);
    .
    .
    .
    }
worklist.jsp | Provides a user interface to the Worklist, displaying information about all pending tasks assigned to the current user, including task name, task state, and associated employee name. It uses the netui-data:repeater, netui-data:repeaterHeader, netui-data:repeaterItem, and netui:label JSP page flow tags to render the contents. The worklist.jsp files provide links to raise an action using the netui-anchor JSP page flow tag. For example:
    <netui:anchor action="taskDetail">Respond to the Task
    <netui:parameter name="taskId"
       value="{container.item.taskId}"/>
    </netui:anchor>
To learn more about the JSP page flow tags listed here, see Designing User Interfaces in JSPs in the WebLogic Workshop Help.
taskDetail Action | Gets details about a selected task using worker, an instance of the ManagerWorker task worker control. For example:
    TaskInfo[] infos = worker.getTaskInfo(taskId);
It then passes control to the response.jsp file. This action is triggered, when the user clicks Respond to Task.
response.jsp | Displays the Task Response text box, prompting the manager to respond to the pending task.
setReplyXML Action | Retrieves the manager's response using a form bean that defines the responseXML property that corresponds to the data field in the input form. It then passes control to the worklist.jsp file (or to Error.jsp in the event of an error). The setReply action uses an instance of worker, an instance of the ManagerWorker task worker control to set the task response. For example:
    worker.setTaskResponseString(response, taskInfo.getTaskId());
    worker.startTask(taskInfo.getTaskId());
    worker.completeTask(taskInfo.getTaskId());
error.jsp | Displays an error message in the event of an error.
logout Action | Passes control to the expired.jsp file. This action is triggered, when the user logs off the system, by the Log Out page flow controller file, described in Log Out Portlet.
expired.jsp | Displays a Data Expired message when the user logs off the system to indicate data within the current session has expired.
logIn Action | Passes control to the worklist.jsp file. This action is triggered, when the user selects Log In Again from the Log Out portlet.