Hello Vikash,
Is the Notes feature on the Catalog request form not appropriate in this case (this seems to be the easiest way to accomplish this)?
An alternative that comes to mind, if approvers/groups are static, would be to create a hidden and required field for a comment for each tier of approval and add some JavaScript to the form script (for onLoad function) that checks for logged-in user (or group membership) and if it matches the approver/group it would enable/disable and show the field/s needed.
Here's a quick example for a form script (will only show added comments fields for approvers in this case, in Catalog form):
{
forApproverComments : function() {
var groups = _.user.groups;
if (groups.indexOf("Approval Group 1") >= 0) {
ca_fdShowFields(ca_fd.formId, ['field_1']);
ca_fdHideFields(ca_fd.formId, ['field_2', 'field_3', 'field_4', 'field_5']);
ca_fdEnableFields(ca_fd.formId, ['field_1']);
ca_fdDisableFields(ca_fd.formId, ['field_2', 'field_3', 'field_4', 'field_5']);
} else if (groups.indexOf("Approval Group 2") >= 0 {
ca_fdShowFields(ca_fd.formId, ['field_1', 'field_2']);
ca_fdHideFields(ca_fd.formId, ['field_3', 'field_4', 'field_5']);
ca_fdEnableFields(ca_fd.formId, ['field_2']);
ca_fdDisableFields(ca_fd.formId, ['field_1', 'field_3', 'field_4', 'field_5']);
} else if (groups.indexOf("Approval Group 3") >= 0 {
ca_fdShowFields(ca_fd.formId, ['field_1', 'field_2', 'field_3']);
ca_fdHideFields(ca_fd.formId, ['field_4', 'field_5']);
ca_fdEnableFields(ca_fd.formId, ['field_3']);
ca_fdDisableFields(ca_fd.formId, ['field_1', 'field_2', 'field_4', 'field_5']);
} else if (groups.indexOf("Approval Group 4") >= 0 {
ca_fdShowFields(ca_fd.formId, ['field_1', 'field_2', 'field_3', 'field_4']);
ca_fdHideFields(ca_fd.formId, ['field_5']);
ca_fdEnableFields(ca_fd.formId, ['field_4']);
ca_fdDisableFields(ca_fd.formId, ['field_1', 'field_2', 'field_3', 'field_5']);
} else if (groups.indexOf("Approval Group 5") >= 0 {
ca_fdShowFields(ca_fd.formId, ['field_1', 'field_2', 'field_3', 'field_4', 'field_5']);
ca_fdEnableFields(ca_fd.formId, ['field_5']);
ca_fdDisableFields(ca_fd.formId, ['field_1', 'field_2', 'field_3', 'field_4']);
} else {
ca_fdHideFields(ca_fd.formId, ['field_1', 'field_2', 'field_3', 'field_4', 'field_5']);
ca_fdDisableFields(ca_fd.formId, ['field_1', 'field_2', 'field_3', 'field_4', 'field_5']);
}
},
onLoad : function() {
ca_fd.js.forApproverComments();
},
}
Some more complicated options in PAM of course...
Steve