E-Signature enables users to sign their applications from Government Service Portal with a typed or drawn e-signature that implies an acknowledgement to the application. This functionality can be optionally configured by an
admin upon upgrade.
Procedure
-
Navigate to .
-
Select the Request License record producer.
-
Under the Variables tab, select New.
-
Under Type, select Custom.
-
In the Questions tab, enter Esignature for Record Producers in the Question field, and
esignature_for_record_producers in the Name field.
-
In the Type Specifications tab, enter Esignature for License Permit in Portal in the Widget field.
-
Select Submit.
-
Under the Variables tab, select New.
-
Under Type, select Multi Line Text.
-
Select the checkbox for Hidden.
-
In the Questions tab, enter Esignature Variable in the Question field, and
esignature_variable in the Name field.
- Optional:
If an eligibility checklist is configured for License and Permit Playbook, navigate to to create a Catalog UI Policy for the record producer catalog item.
Switch to the Public Sector Digital Services Core application if prompted.
- Optional:
Add a show/hide logic to the script of the record producer for the
esignature_for_record_producers widget.
-
Append the following code block in the server script of the Request license record producer in the What it will contain tab.
Switch to the Public Sector Digital Services Core application if prompted.
if (gs.nil (producer.esignature_variable) || producer. esignature_variable == "") {
gs. addErrorMessage(gs. getMessage ('Please do the E-signature and click on Accept. '));
current.setAbortAction(true);
var caseTable = sn_gsm. GovernmentServicesConstants. LICENSE_PERMIT_CASE;
var attachment = new GlideSysAttachment();
var caseRecord = new GlideRecord (caseTable);
caseRecord.get (current.sys_id) ;
var fileName = 'applicantESign.png';
var contentType = "image/png';
attachment.writeBase64(caseRecord, fileName, contentType, producer.esignature_variable);
var sigRec = new GlideRecord( 'signature image');
sigRec.signed_on = new GlideDateTime ().getDisplayValue();
sigRec.user = gs.getUserID();
sigRec.table = caseTable;
sigRec.document = current.sys_id;
sigRec.is_drawing = true;
sigRec.active = true;
sigRec.acknowledgment_text = "This constitutes your electronic signature and has the same legal impact as signing a printed version of this document.";
var signSysId = sigRec.insert();
var signRecord = new GlideRecord('signature image');
signRecord.get (signSysId);
attachment.writeBase64(signRecord, fileName, contentType, producer.esignature_variable);
-
Select Update