{REAUTHORIZE: user_field_name [NODISPLAY] 'message to display'}
onchange
and preupdate
directive sections of the business rules. However, it is important to note that when used within an onchange
directive, the issue being processed is updated immediately after successful reauthorization. This is to avoid confusion with the user, who might process the electronic signature and believe they have completed their updateuser_field_name
user_field_name within the rules that are part of the reauthorization code. The value is set automatically by the action and unpredictable behavior will result if you assign it any value. You can use the rules to set any other field values, such as the timestamp of the event. Of course, you can assign a value user_field_name
by rules that are not triggered with the REAUTHORIZE
REAUTHORIZE commandpreupdate
directive section of the rules:
<== preupdate ==>
if (STATUS.{changed to: 'Approved'} && APPROVED_BY.{is null}) {
{REAUTHORIZE: APPROVED_BY 'By clicking the Submit button you are approving the update of this issue. This is an electronic signature which is recorded in the database. <span style=color:#CC0000>Any appropriate text may be placed here as a warning.</span>'};
}
# if we get here, we have assented to the reauthorization, so set the trigger fields:
if (STATUS.{changed to: 'Approved'} && APPROVED_BY.{is not null}) {
APPROVAL_DATE = SYSDAY;
}
# clear approval if reopened
if (STATUS.{changed from: 'Approved'} && STATUS != 'Closed') {
APPROVAL_DATE = "";
APPROVED_BY = {null};
}
if (STATUS.{changed from: 'Closed'} && STATUS != 'Approved') {
APPROVAL_DATE = "";
APPROVED_BY = {null};
}
Assign the APPROVAL_DATE to SYSDAY if the field is of type day as opposed to date. This will set the APPROVAL_DATE to the current date and time when the APPROVED_BY field is set, and set it to a null value if the APPROVED_BY field is set to null.
The key condition that triggers the reauthorization requires a little explanation. In the above example, the condition is:
if (STATUS.{changed to: 'Approved'} && APPROVED_BY.{is null})
The reauthorization is special, in that the user is not able to exit from the action, until they either successfully enter their password, or cancel the complete action. The first part of the trigger expression (STATUS.{changed to: 'Approved'}) is the change upon which you want to trigger the reuthorization. Once the user enters their password, ExtraView validates this, and then executes the expression again. This is where the APPROVED_BY.{is null} part of the expression comes into play. A successful reauthorization will have set the APPROVED_BY field to a value, usually the value of the current user. Therefore, the reauthorization is not reentered, as the evaluation of APPROVED_BY.{is null} now returns a false value
onchange
directive, there is an alteration to be made so that the timestamp of the issue is not updated until the actual time that the issue is updated. onchange
directives do not update any information within the current issue. This example show how to make this happen:
<== onchange ==>
if (STATUS.{changed to: 'Approved'} && APPROVED_BY.{is null}) {
{REAUTHORIZE: APPROVED_BY 'By clicking the Submit button you are approving the update of this issue. This is an electronic signature which is recorded in the database. <span style=color:#CC0000>Any appropriate text may be placed here as a warning.</span>'};
<== preupdate ==>
if (STATUS.{changed to: 'Approved'} && APPROVED_BY.{is not null}) {
APPROVAL_DATE = SYSDAY;
}
Electronic signature display
The REAUTHORIZE action is only supported in the preupdate directive. As stated above, users have the ability to alter field values within their issues after an onchange directive is processed, and the electronic signature would not reflect the values within the issue at the point in time the user provided their signature.
Note: If the site utilizes SAML as a SSO mechanism to authenticate user's sign on credentials, the user is redirected to the SAML sign on screen for the reauthentication. Due to limitations in third-party SAML providers' software, this autthentication takes place in a separate browser window or tab. Once the user enters a valid User ID and password they are redirected back to the ExtraView screen to complete the update caused by the electronic signature REAUTHORIZE action.