Creating a review page

Hi,
I have created a small form for which I need to create a review page so that after filling the form when user clicks on review button it takes the user to other form where the field values are visible to the user for verification and will be read only.

This is the workflow

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Workflow PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Workflow explicitTransitions="true" name="Create ERPM Group Workflow">
  <Variable editable="true" input="true" name="launcher"/>
  <Variable initializer="true" name="transient"/>
  <Variable initializer="true" name="trace"/>
  <Step icon="Start" name="Start" posX="28" posY="10">
    <Transition to="Display Form"/>
  </Step>
  <Step icon="Approval" name="Display Form" posX="98" posY="10">
    <Approval mode="serial" name="Display Form" owner="ref:launcher">
      <Arg name="workItemForm" value="Create ERPM Group Form"/>
    </Approval>
    <Description>
       Display the Service Account form .
    </Description>
    <Transition to="Review Form"/>
  </Step>
  <Step icon="Stop" name="Stop" posX="342" posY="10"/>
  <Step icon="Approval" name="Review Form" posX="224" posY="10">
    <Approval mode="serial" name="Review Form" owner="ref:launcher">
      <Arg name="workItemForm" value="Create ERPM Group Review Form"/>
    </Approval>
    <Description>Display the Service Account form.</Description>
    <Transition to="Stop"/>
  </Step>
</Workflow>

Form

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Form PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Form name="Create ERPM Group Review Form" type="Workflow">
  <Attributes>
    <Map>
      <entry key="pageTitle" value="Create ERPM Group Review Form"/>
      <entry key="title" value="Create new ERPM Review Group"/>
    </Map>
  </Attributes>
  <Description>Form to Review Create new ERPM group Form</Description>
  <Section name="Section 1">
    <Field displayName="ERPM Group Name" name="Field_1" required="true"/>
    <Field displayName="Primary Owner SSO" name="Field_2" required="true" type="string">
      <AllowedValuesDefinition>
        <Script>
          <Source>
            import sailpoint.object.*;
            List identityList = new ArrayList();
            QueryOptions qp = new QueryOptions();
            qp.addFilter(Filter.eq("lastname","NPIdentity"));
            Iterator it = context.search(Identity.class,qp);
            while ( it.hasNext() ) { 
            Identity identity = (Identity)it.next();
            //if(null != identity){ 
            if(null != identity &amp;&amp; identity.getManager() != null) { //added condition to select identities having managers
            identityList.add(identity.getAttribute("workerid"));
            }
            }
            return identityList;
          </Source>
        </Script>
      </AllowedValuesDefinition>
    </Field>
    <Field displayName="Secondary owner SSO" filterString="workgroup == true &amp;&amp; name.startsWithIgnoreCase(&quot;PIM&quot;)" name="Field_3" required="true" type="string">
      <AllowedValuesDefinition>
        <Script>
          <Source>
            import sailpoint.object.*;
            List identityList = new ArrayList();
            QueryOptions qp = new QueryOptions();
            qp.addFilter(Filter.eq("lastname","NPIdentity"));
            Iterator it = context.search(Identity.class,qp);
            while ( it.hasNext() ) { 
            Identity identity = (Identity)it.next();
            //if(null != identity){ 
            if(null != identity &amp;&amp; identity.getManager() != null) { //added condition to select identities having managers
            identityList.add(identity.getAttribute("workerid"));
            }
            }
            return identityList;
          </Source>
        </Script>
      </AllowedValuesDefinition>
    </Field>
  </Section>
  <Button action="back" label="cancel"/>
  <Button action="next" label="Review"/>
</Form>

Review Form

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Form PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Form name="Create ERPM Group Review Form" type="Workflow">
  <Attributes>
    <Map>
      <entry key="pageTitle" value="Create ERPM Group Review Form"/>
      <entry key="title" value="Create new ERPM Review Group"/>
    </Map>
  </Attributes>
  <Description>Form to Review Create new ERPM group Form</Description>
  <Section name="Section 1">
    <Field displayName="ERPM Group Name" dynamic="true" name="Field_1" postBack="true" required="true" type="string">
      <Attributes>
        <Map>
          <entry key="readOnly" value="true"/>
        </Map>
      </Attributes>
      <Script>
        <Source>return Field_1;</Source>
      </Script>
    </Field>
    <Field displayName="Primary Owner SSO" dynamic="true" name="Field_2" postBack="true" required="true" type="string">
      <Attributes>
        <Map>
          <entry key="readOnly" value="true"/>
        </Map>
      </Attributes>
      <Script>
        <Source>return Field_2;</Source>
      </Script>
    </Field>
    <Field displayName="Secondary owner SSO" dynamic="true" name="Field_3" postBack="true" required="true" type="string">
      <Attributes>
        <Map>
          <entry key="readOnly" value="true"/>
        </Map>
      </Attributes>
      <Script>
        <Source>return Field_3;</Source>
      </Script>
    </Field>
  </Section>
  <Button action="cancel" label="Cancel"/>
  <Button action="next" label="Submit"/>
</Form>

After filling the form when I click on review I am getting to see the form but the fields are blank. What am I doing wrong here?

Hi @pctripathi,

You need to include the variable in the workflow and add the return attribute in the form step. Please check the workflow for reference.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Workflow PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Workflow explicitTransitions="true" name="Create ERPM Group Workflow">
  <Variable editable="true" input="true" name="launcher"/>
  <Variable initializer="true" name="transient"/>
  <Variable initializer="true" name="trace"/>
  <Variable editable="true"="true" name="Field_1"/>
  <Variable editable="true"="true" name="Field_2"/>
  <Variable editable="true"="true" name="Field_3"/>
  <Step icon="Start" name="Start" posX="28" posY="10">
    <Transition to="Display Form"/>
  </Step>
  <Step icon="Approval" name="Display Form" posX="98" posY="10">
    <Approval mode="serial" name="Display Form" owner="ref:launcher" return="Field_1,Field_2,Field_3">
      <Arg name="workItemForm" value="Create ERPM Group Form"/>
    </Approval>
    <Description>
       Display the Service Account form .
    </Description>
    <Transition to="Review Form"/>
  </Step>
  <Step icon="Stop" name="Stop" posX="342" posY="10"/>
  <Step icon="Approval" name="Review Form" posX="224" posY="10">
    <Approval mode="serial" name="Review Form" owner="ref:launcher">
      <Arg name="workItemForm" value="Create ERPM Group Review Form"/>
    </Approval>
    <Description>Display the Service Account form.</Description>
    <Transition to="Stop"/>
  </Step>
</Workflow>

1 Like

Hi @Arun-Kumar
Edited as your suggestion but not working

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Workflow PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Workflow explicitTransitions="true" name="Create ERPM Group Workflow">
  <Variable editable="true" input="true" name="launcher"/>
  <Variable initializer="true" name="transient"/>
  <Variable initializer="true" name="trace"/>
  <Variable editable="true" name="Field_1"/>
  <Variable editable="true" name="Field_2"/>
  <Variable editable="true" name="Field_3"/>
  <Step icon="Start" name="Start" posX="28" posY="10">
    <Transition to="Display Form"/>
  </Step>
  <Step icon="Approval" name="Display Form" posX="98" posY="10">
    <Approval mode="serial" name="Display Form" owner="ref:launcher" return="Field_1,Field_2,Field_3">
      <Arg name="workItemForm" value="Create ERPM Group Form"/>
    </Approval>
    <Description>
       Display the Service Account form .
    </Description>
    <Transition to="Review Form"/>
  </Step>
  <Step icon="Stop" name="Stop" posX="342" posY="10"/>
  <Step icon="Approval" name="Review Form" posX="224" posY="10">
    <Approval mode="serial" name="Review Form" owner="ref:launcher">
      <Arg name="workItemForm" value="Create ERPM Group Review Form"/>
    </Approval>
    <Description>Display the Service Account form.</Description>
    <Transition to="Stop"/>
  </Step>
</Workflow>

1 Like

Try with this workflow. Please rename the review form name to Create ERPM Group Review Form1. Both Form name should not be same.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Workflow PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Workflow created="" explicitTransitions="true" id="" modified="" name="Create ERPM Group Workflow">
  <Variable editable="true" input="true" name="launcher"/>
  <Variable initializer="true" name="transient"/>
  <Variable initializer="true" name="trace"/>
  <Variable editable="true" name="Field_1"/>
  <Variable editable="true" name="Field_2"/>
  <Variable editable="true" name="Field_3"/>
  <Step icon="Start" name="Start" posX="28" posY="10">
    <Transition to="Display Form"/>
  </Step>
  <Step icon="Approval" name="Display Form" posX="98" posY="10">
    <Approval mode="serial" name="Display Form" owner="ref:launcher" return="Field_1,Field_2,Field_3">
      <Arg name="workItemForm" value="Create ERPM Group Review Form"/>
    </Approval>
    <Description>
       Display the Service Account form .
    </Description>
    <Transition to="Review Form"/>
  </Step>
  <Step icon="Stop" name="Stop" posX="342" posY="10"/>
  <Step icon="Approval" name="Review Form" posX="224" posY="10">
    <Approval mode="serial" name="Review Form" owner="ref:launcher" send="Field_1,Field_2,Field_3">
      <Arg name="workItemForm" value="Create ERPM Group Review Form1"/>
    </Approval>
    <Description>Display the Service Account form.</Description>
    <Transition to="Stop"/>
  </Step>
</Workflow>
2 Likes

Thanks @Arun-Kumar
Its solved

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.