User action in ESC?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2025 03:47 PM - edited 07-21-2025 04:00 PM
Hi,
We’d like to create a user action (like a button) available in “My Requests” to uses in the ESC - what are our options?
Requirements:
- When a Case of HR Service X is in state “review in progress”, show a ui action that says “request reconsideration”
- Clicking that ui action/button changes the state to “reconsideration requested”
Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2025 11:02 PM
Hi,
1. Navigate to Standard Ticket -> Standard Ticket Configuration
2. Open HR case ticket configuration
3. Open the action widget and clone it
4. Add below code to the action widget
HTML
<div class="action-header-item" ng-if="data.showAcceptanceOptions">
<button class="btn btn-primary" data-toggle="modal" data-target="#resolutionModal">
${Accept/reject resolution}
</button>
</div>
<div class="action-header-item">
<div class="dropdown" id="child-case-tabs">
<button type="button" ng-if="data.isActionAvailable" class="btn btn-default action-btn" data-toggle="dropdown" aria-haspopup="true">
${Actions}
<span class="caret"></span>
</button>
<ul class="dropdown-menu align-left" id="actionList" role="menubar">
<li class="ask-question" role="presentation">
<a ng-if="data.showRequestReconsideration" ng-click="showRequestReconsideration()" tabindex="0" role="menuitem">${Request Reconsideration}</a>
</li>
<li role="presentation">
<a ng-if="data.isCaseCancellable" ng-click="$event.stopPropagation();cancelCase()" tabindex="0" role="menuitem">${Cancel Request}</a>
</li>
<li class="ask-question" role="presentation">
<a ng-if="data.showTab" ng-click="showChat()" tabindex="0" role="menuitem">${Ask a Question}</a>
</li>
<div ng-if="data.showActionsSeperator" class = "actionSeparatorPadding"></div>
<div ng-if="data.showActionsSeperator" class = "actionsSeperator"></div>
<div ng-if="data.showActionsSeperator" class = "actionSeparatorPadding"></div>
<li ng-if= "data.isLECase" ng-repeat="employeeRequest in data.employeeRequests track by $index " role="presentation">
<a href=""class ="employee-request-link" tabindex="-1" ng-click="c.openOverlay(employeeRequest.catalogItemId,employeeRequest.employeeRequestId,employeeRequest.table,employeeRequest.title)" role="menuitem">{{employeeRequest.title}}</a>
</li>
</ul>
</div>
<div ng-show="showChatWindow" class="chat-container">
<div class="arrow"></div>
<div id="chatWindow" class="chat-widget-wrapper">
<sp-widget widget="data.chatWidget"></sp-widget>
</div>
</div>
</div>
<div class="modal fade" id="resolutionModal" tabindex="-1" role="dialog" aria-label="${Reject Resolution Modal}" aria-hidden="false">
<div class="modal-dialog" role="document">
<div class="modal-content rectangle-copy-15">
<div class="modal-header">
<button data-dismiss="GlideModal" class="btn btn-icon close icon-cross" data-dismiss="modal">
<span class="sr-only">${Close}</span>
</button>
<h1 class="modal-title">${Do you accept or reject the resolution?}</h1>
</div>
<div class="modal-body">
<label class="controls-radio">
${Yes, I accept the resolution. Close this request.}
<input class="" type="radio" name="resolutionAction" value="accept" ng-model="resolutionAction">
<span class="checkmark"></span>
</label>
<label class="controls-radio">
${No, I do not accept the resolution. I still need help.}
<input class="" type="radio" name="resolutionAction" value="reject" ng-model="resolutionAction">
<span class="checkmark"></span>
</label>
<textarea maxlength="4000" ng-show="resolutionAction=='reject'" placeholder="${Please tell us what help you need?}" id="rejectResolutionNote" class="form-control" rows="4" ng-model="rejectResolutionNote"></textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">${Cancel}</button>
<button type="button" class="btn btn-primary" ng-disabled="resolutionAction == 'reject' && !rejectResolutionNote" ng-click="resolveCase()">${ {{resolutionAction == "accept" ? "Accept": "Reject"}} resolution}</button>
</div>
</div>
</div>
</div>
Server script
Add below logic to the server script