03-07-2011 04:51 AM
03-09-2011 06:45 AM
03-09-2011 06:49 AM
05-04-2011 06:51 AM
01-25-2012 04:53 AM
<a:panel id="pooled-panel-0" bgcolor="white"
expandedTitleBorder="dotted" titleBgcolor="white"
styleClass="mainSubTitle" rendered="#{MersalOutboundWorkflowBean.newOutboundsRendered}">
<a:richList initialSortColumn="ApplicationNumber" id="pooled-panel-0-rich-list" value="#{MersalOutboundWorkflowBean.newOutbounds}"
pageSize="5" var="w" styleClass="recordSet"
headerStyleClass="recordSetHeader" rowStyleClass="recordSetRow"
initialSortDescending="true" viewMode="details" refreshOnBind="true"
style="width:100%;" rendered="#{MersalOutboundWorkflowBean.newOutboundsRendered}">
<a:column style="padding:2px;text-align:center">
<a:actionLink action="#{MersalOutboundWorkflowBean.addFlavor}"
image="/mersal/images/star/1.png" value="Not Monitored"
actionListener="#{MersalOutboundWorkflowBean.preFlavor}"
showLink="false" rendered="#{!w.Marked || w.Marked == null}">
<f:param name="ApplicationNumber" value="#{w.ApplicationNumber}"/>
<f:param name="id" value="#{w.id}"/>
</a:actionLink>
<a:actionLink action="#{MersalOutboundWorkflowBean.addFlavor}"
image="/mersal/images/star/2.png" value="Monitored"
actionListener="#{MersalOutboundWorkflowBean.preFlavor}"
showLink="false" rendered="#{w.Marked}">
<f:param name="ApplicationNumber" value="#{w.ApplicationNumber}"/>
<f:param name="id" value="#{w.id}"/>
</a:actionLink>
</a:column>
<a:column style="padding:2px;text-align:center">
<a:graphicImageExprEnable url="#{w.applicationPriorityIcon}" rendered="#{w.applicationPriorityIcon != null}"/>
<h:outputText value=" " escape="false"/>
<a:graphicImageExprEnable url="#{w.applicationTypeIcon}" rendered="#{w.applicationTypeIcon != null}"/>
</a:column>
<a:column id="pooled-panel-0-col2" style="padding:2px;text-align:center">
<f:facet name="header">
<a:sortLink id="pooled-panel-0-col2-sort" label="#{dsMsg.application_no}"
value="ApplicationNumber" styleClass="header" rendered="#{w.ApplicationNumber != null}"/>
</f:facet>
<a:actionLink id="pooled-panel-0-col2-txt-1" value="#{w.ApplicationNumber}"
actionListener="#{WorkflowBean.setupTaskDialog}"
action="dialog:manageTask" rendered="#{w.ApplicationNumber != null}">
<f:param name="id" value="#{w.id}" />
<f:param name="type" value="#{w.type}" />
</a:actionLink>
<h:outputText id="pooled-panel-0-col2-txt-2" rendered="#{w.ApplicationNumber == null}" value="-"/>
</a:column>
<a:column id="pooled-panel-0-col3" style="padding:2px;text-align:center">
<f:facet name="header">
<a:sortLink id="pooled-panel-0-col3-sort" label="#{dsMsg.creation_date}"
value="CreationDate" styleClass="header" />
</f:facet>
<a:actionLink id="pooled-panel-0-col3-txt-1" value="#{w.CreationDate}"
actionListener="#{WorkflowBean.setupTaskDialog}"
action="dialog:manageTask">
<f:param name="id" value="#{w.id}" />
<f:param name="type" value="#{w.type}" />
</a:actionLink>
<h:outputText id="pooled-panel-0-col3-txt-3" rendered="#{w.CreationDate == null}" value="-"/>
</a:column>
<a:column id="pooled-panel-0-col4" style="padding:2px;text-align:center">
<f:facet name="header">
<a:sortLink id="pooled-panel-0-col4-sort" label="#{dsMsg.subject}" value="Subject"
styleClass="header" />
</f:facet>
<a:actionLink id="pooled-panel-0-col4-txt-1" value="#{w.Subject}"
actionListener="#{WorkflowBean.setupTaskDialog}"
action="dialog:manageTask">
<f:param name="id" value="#{w.id}" />
<f:param name="type" value="#{w.type}" />
</a:actionLink>
<h:outputText id="pooled-panel-0-col4-txt-3" rendered="#{w.Subject == null || w.Subject == ''}" value="-"/>
</a:column>
<a:column id="pooled-panel-0-col5" style="padding:2px;text-align:center">
<f:facet name="header">
<a:sortLink id="pooled-panel-0-col5-sort" label="#{dsMsg.owner}" value="AppOwner"
styleClass="header" />
</f:facet>
<a:actionLink id="pooled-panel-0-col5-txt-1" value="#{w.AppOwner}"
actionListener="#{WorkflowBean.setupTaskDialog}"
action="dialog:manageTask">
<f:param name="id" value="#{w.id}" />
<f:param name="type" value="#{w.type}" />
</a:actionLink>
<h:outputText id="pooled-panel-0-col5-txt-3" rendered="#{w.AppOwner == null || w.AppOwner == ''}" value="-"/>
</a:column>
<a:column id="pooled-panel-0-col7" actions="true" style="padding:3px;text-align:center;text-valign:center">
<f:facet name="header">
<h:outputText id="pooled-panel-0-col7-action-template-1" value="#{msg.actions}" />
</f:facet>
<h:outputText value=" " escape="false"/>
<a:actionLink id="pooled-panel-0-col7-act1" value="#{msg.manage_task}" image="/images/icons/workflow_task.gif" showLink="false"
actionListener="#{WorkflowBean.setupTaskDialog}" action="dialog:manageTask">
<f:param name="id" value="#{w.id}" />
<f:param name="type" value="#{w.type}" />
</a:actionLink>
<h:outputText value=" " escape="false"/>
<a:actionLink id="pooled-panel-0-col7-act2" value="#{msg.delete_task}" image="/images/icons/close_panel.gif" showLink="false"
actionListener="#{MersalOutboundWorkflowBean.cancelTask}">
<f:param name="id" value="#{w.id}" />
</a:actionLink>
<h:outputText value=" " escape="false"/>
<r:actions id="pooled-panel-0-col7-act3" value="dashlet_completed_actions" context="#{w}" showLink="false" styleClass="inlineAction" />
</a:column>
<a:dataPager displayInput="Navigate" styleClass="pager" />
</a:richList>
</a:panel>
public void setupTaskDialog(String id, String type)
{
ParameterCheck.mandatoryString("Task ID", id);
ParameterCheck.mandatoryString("Task Type", type);
// setup the dispatch context with the task we're opening a dialog for
TransientNode node = new TransientNode(QName.createQName(type), id, null);
this.navigationBean.setupDispatchContext(node);
// pass on parameters for the dialog
Map<String, String> params = new HashMap<String, String>(2, 1.0f);
params.put("id", id);
params.put("type", type);
Application.getDialogManager().setupParameters(params);
}
<a:actionLink
id="create_new_outbound" value="#{msg.new_sader}"
showLink="false"
rendered="#{PermissionUtilDecorator.authorizedToCreateOutbounds && !NavigationBean.mersalAdmin}"
actionListener="#{MersalMenuWorkflowBean.initiateMersalWorkflow}"
action="dialog:manageTask">
<f:param name="workflowName" value="activiti$CS-Outbound-WFPD"/>
<f:param name="isReply" value="false"/>
</a:actionLink>
/**
* @AUTHOR MOHAMMED AMR
* @DESCRIPTION THIS METHOD AIMED TO START AN OUTBOUND WORKFLOW AND SKIP THE FIRST STEP (START STEP) FORWARD
* TOWARD THE CREATE OUTBOUND TASK
* @PARAM EVENT IS AN ACTION EVENT CONTAINS THE OUTBOUND WOKFLOW DEFINITION
* */
public void initiateMersalWorkflow(ActionEvent event) {
LOG.debug("INITIATE MERSAL WORKFLOW …");
// ACQUIRE THE ACTION LINNK
UIActionLink action = (UIActionLink) event.getSource();
// ACQUIRE THE PARAMS
Map<String, String> params = action.getParameterMap();
// PREPARE THE WORKFLOW NAME
String definition = params.get(BeanUtil.WORKFLOW_DEFINITION_PARAMETER);
// ACQUIRE THE WORKFLOW DEFINITION
WorkflowDefinition workflowDefinition = this.getWorkflowService().getDefinitionByName(definition);
// START WORKFLOW BY USING WORKFLOW DEFINITION AND EMPTY PARAMETERES
WorkflowPath workflowPath = this.getWorkflowService().startWorkflow(workflowDefinition.getId(), prepareWorkflowParamters());
// END THE START PATH TASK TO ALLOW THE WORKFLOW ENGINE TO PASS FORWARD
// TOWARD THE SECOND PATH, WE ASSUME THAT THIS WORKFLOW INSTANCE HAVE A PATH AT INDEX 0
WorkflowTask workflowTask = this.getWorkflowService().endTask(this.getWorkflowService().
getTasksForWorkflowPath(workflowPath.getId()).get(0).getId(), MersalMenuWorkflowBean.NEXT_TRANSITION);
// ACQUIRE THE TASK FOR THE CURRENT PATH, WE ASSUME THAT THE WORKLOFW INSTANCE HAVE A PATH AT INDEX 0
workflowTask = this.getWorkflowService().getTaskById(this.getWorkflowService().getTasksForWorkflowPath(workflowPath.getId()).get(0).getId());
// I WILL USE CREATE TASK TO RENDER TASK PROPERTIES ON THE DIALOG
// MAP NODE WILL BE USED IN THE DIALOG
TransientMapNode transientMapNode = createTask(workflowTask);
// CREATE A NODE OF TRANSIENT NODE
TransientMapNode node = new TransientMapNode(QName.createQName(transientMapNode.getType().toString()),workflowTask.getId(), null);
// PUT THE NODE INTO THE DISPATCHER CAUSE THE DIALOG WILL ACT UPON NODE
// EXIST ON THE CONTEXT DISPATCHER
this.navigationBean.setupDispatchContext(node);
// PREPARE THE PARAMTERES THAT WILL BE USED BY THE RENDERED PAGE
Map<String, String> dialogParameters = new HashMap<String, String>(2, 1.0f);
// ADD ID PARAMETER
dialogParameters.put("id", workflowTask.getId());
// ADD TYPE PARAMTER
dialogParameters.put("type", transientMapNode.getType().toString());
// SETUP DIALOG PARAMTERES
Application.getDialogManager().setupParameters(dialogParameters);
}
04-29-2013 04:05 PM
06-06-2012 12:51 PM
08-15-2012 07:58 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.