Not applicable

Hi @ChuanYanF ,

try this 

Script Include:

var DelegationUtil = Class.create();
DelegationUtil.prototype = {
    initialize: function () {},

    isUserOrDelegate: function (originalUserId) {
        var currentUserId = gs.getUserID();

        if (!originalUserId || currentUserId == originalUserId)
            return true;

        var gr = new GlideRecord('sys_user_delegate');
        gr.addActiveQuery();
        gr.addQuery('delegate', currentUserId);
        gr.addQuery('user', originalUserId);
        gr.addQuery('starts', '<=', gs.nowDateTime());
        gr.addQuery('ends', '>=', gs.nowDateTime());
        gr.query();

        return gr.hasNext();
    }
};

 

UI Action Condition

(gs.hasRole('sn_risk_advanced.Boost - BU HOD') || 
 new global.DelegationUtil().isUserOrDelegate(current.u_submitted_by)) &&
 current.state == 1 && 
 !current.isNewRecord() && 
 current.canRead() && 
 current.u_submitted == true