Name
global.WFApprovalStages
Description
Multiple approval activities can use this to share stage logic associated with approvals.
Script
var WFApprovalStages = Class.create();
WFApprovalStages.prototype = {
initialize: function() {
},
getApprovalState: function(current, stageValue, activity) {
// Only do this for tables that have an approval field
if (!current.isValidField('approval'))
return "error - not approval table";
if (activity.result == 'skipped')
return "skipped";
if (activity.result == 'rejected')
return "rejected";
// The first choice is the approval information
if ((current.approval == "rejected") || (stageValue == "Request Cancelled"))
return "approval_rejected";
if ((stageValue == "closed_incomplete") && (current.approval == 'requested'))
return "rejected";
if (current.approval == 'not requested')
return activity.state == 'waiting' ? 'waiting' :"requested";
if (current.approval == 'requested')
// WARNING - HOVER and titles removed.
return activity.state == 'waiting' ? 'waiting' : 'complete';
if (current.approval == 'approved')
return activity.state == 'waiting' ? 'active' : 'approved';
return 'error - no approval state found';
},
type: 'WFApprovalStages'
}
Sys ID
a85e47301b100100adca1e094f0713dc