Mandatory End Date

Which IIQ version are you inquiring about?

8.3

I’m trying to make the following comment: Mandatory comment/sunset and sunrise dates for access requests - Compass

I was able to mimic this by setting sunsetrequired="{{ requestedItem.item.getAttributes()['sunsetRequired'] }}" as static true.

but when I try to make it using sunsetrequired="{{ requestedItem.item.getAttributes()['sunsetRequired'] }}" but this returns null;

I made an attribute for for the entitlement catalog:

and I set it as true for one attribute but when i try to do it with set it as dynamic as sunsetrequired="{{ requestedItem.item.getAttributes()['sunsetRequired'] }}"

it comming as null in the code.

I tried to add this attribute in the fullTextIndex:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE FullTextIndex PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<FullTextIndex created="1720775782485" id="c0a8818390a619358190a63ab0550123" lastRefresh="1736416798106" modified="1736416798106" name="BundleManagedAttribute">
  <Attributes>
    <Map>
      <entry key="classes" value="BundleManagedAttribute"/>
      <entry key="fields">
        <value>
          <List>
            <FullTextField indexed="true" name="objectClass" stored="true"/>
            <FullTextField name="id" stored="true"/>
            <FullTextField analyzed="true" indexed="true" name="name"/>
            <FullTextField analyzed="true" indexed="true" name="displayableName"/>
            <FullTextField analyzed="true" indexed="true" name="description"/>
            <FullTextField analyzed="true" indexed="true" name="sunsetRequired"/>
            <FullTextField indexed="true" name="assignedScope.path"/>
            <FullTextField indexed="true" name="type"/>
            <FullTextField indexed="true" name="owner.id"/>
            <FullTextField indexed="true" name="owner.name"/>
            <FullTextField name="owner.displayName" stored="true"/>
            <FullTextField analyzed="true" indexed="true" name="classifications.classification.id"/>
            <FullTextField analyzed="true" indexed="true" name="classifications.classification.name"/>
            <FullTextField analyzed="true" indexed="true" name="classifications.classification.displayName"/>
            <FullTextField indexed="true" name="iiqElevatedAccess"/>
            <FullTextField name="defaultDescription" stored="true"/>
            <FullTextField ignored="true" name="disabled"/>
            <FullTextField name="riskScoreWeight" stored="true"/>
            <FullTextField analyzed="true" indexed="true" name="profile.sourceApplication.name"/>
            <FullTextField analyzed="true" indexed="true" name="profile.sourceApplication.id"/>
            <FullTextField analyzed="true" indexed="true" name="profile.value"/>
            <FullTextField analyzed="true" indexed="true" name="profile.displayValue"/>
            <FullTextField analyzed="true" indexed="true" name="profile.attribute"/>
            <FullTextField analyzed="true" indexed="true" name="profile.type"/>
            <FullTextField indexed="true" name="application.id"/>
            <FullTextField analyzed="true" indexed="true" name="application.name"/>
            <FullTextField indexed="true" name="application.icon"/>
            <FullTextField analyzed="true" indexed="true" name="application.description"/>
            <FullTextField indexed="true" name="application.assignedScope.path"/>
            <FullTextField indexed="true" name="application.owner.id"/>
            <FullTextField indexed="true" name="attribute"/>
            <FullTextField indexed="true" name="value"/>
            <FullTextField indexed="true" name="requestable"/>
          </List>
        </value>
      </entry>
      <entry key="includeTargets" value="true"/>
      <entry key="indexer" value="BundleManagedAttributeIndexer"/>
    </Map>
  </Attributes>
</FullTextIndex>

But still is not working.
Appricaite if someone can help?

@AhmedWaleed this one u can use with approch mentioned in attached document , it is more ever making changes in below file
~\webapps\identityiq\ui\accessRequest*reviewAccess.xhtml*

~\webapps\identityiq\ui\accessRequest*userAccessRequest.xhtml*

~\webapps\identityiq\ui\accessRequest*userAccessRequestSelf.xhtml*

I do not think you need to add any required attribute in Entitlement catalog.
Also you can do validatation in start step of workiflow there you can see if user enter sunrise and sunset or not that you can get from plan and throw error to user.

Yes, but I dont want it to be for every entitlement i want it for a specific entitlement.

thats why im using the attribute as in the comments of the link.

please check the comments if possible.

Hi Kumar,
can you tell me where I should add required=“true” to the file ?

@rsobar you have entitlement catalog there u can add one extended attribute that u can set require=true. Now when u check or validate on workflow step u can get entitlenent name, from ent name u can get extended attribute and then u can check if that is set require true and sunrise , sunset not set then u can terminate the wokrflow with message.