slef cancelling tickets

nameisnani
Mega Sage

Hi Team 

 

the reason for says “closed by requested for” instead of the persons name. Can this be adjusted?

nameisnani_1-1708331451382.png

 

<div class="panel b" ng-if="data.showWidget">
<div class="panel-heading bg-primary">Actions</div>
<div class="panel-body">
<button type="button" class="btn btn-danger btn-block" ng-click="c.openModalCancel()" ng-if="data.showCancel">Cancel</button>
</div>
</div>


<script type="text/ng-template" id="modalTemplateCancel">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">Provide a reason for the cancel</h4>
</div>
<div class="panel-body wrapper-xl">
<form name="modalTemplateResolve" ng-submit="c.uiAction('cancel')">
<div class="form-group">
<textarea required sp-autosize="true" ng-required="true" ng-model="data.cancelComments" id="cancelComments" placeholder="Comments required" class="form-control ng-pristine ng-valid ng-scope ng-empty ng-touched" aria-invalid="false" style="overflow: hidden; word-wrap: break-word; resize: horizontal;"></textarea>
</div>
<input class="btn btn-primary" type="submit" />
</form>
</div>
</div>
</script>

 

Server 

(function() {

// Get table & sys_id
data.table = input.table || $sp.getParameter("table");
data.sys_id = input.sys_id || $sp.getParameter("sys_id");

// Valid GlideRecord
gr = new GlideRecord(data.table);
if (!gr.isValid())
return;

// Valid sys_id
if (!gr.get(data.sys_id))
return;

//Button Visibility
if(data.table == 'incident' && gr.active == true && gr.incident_state != 6 && (gr.caller_id == gs.getUserID() || gs.hasRole("admin"))){
data.showWidget = true;

data.showCancel = true;
}
else if(data.table == 'sc_req_item' && gr.active == true && (gr.request.requested_for == gs.getUserID() || gs.hasRole("admin"))){
data.showWidget = true;
data.showCancel = true;

}
else {
data.showWidget = false;
data.showCancel = false;
}

//input
if (input && input.action) {
var action = input.action;

//Incident table
if (data.table == 'incident') {


if (action == 'cancel') {
gr.setValue('incident_state', 8);
gr.setValue('state', 8);
gr.setValue('resolved_by', gs.getUserID());
gr.setValue('close_code','Customer Cancelled');
gr.setValue('close_notes','Cancelled by caller with comment: '+ input.cancelComments);
//gr.work_notes = 'Cancelled by caller with comment: ' + input.resolveComments;
gr.update();
}

}

//Requested Item table
if (data.table == 'sc_req_item' && input.cancelComments !='') {
if (action == 'cancel') {
var workflow = new Workflow();
workflow.cancel(gr);
gr.setValue('approval','withdrawn');
gr.setValue('stage','Request Cancelled');
gr.setValue('state','4');
gr.setValue('active','false');
gr.comments.setJournalEntry("Closed by Requested For with comment: "+ input.cancelComments);
gr.update();
}
if (action == 'status' && input.statusComments !='') {

gr.comments.setJournalEntry("Status request by user: "+ input.statusComments);
gr.update();
}
}

}
})();

Clinet 

function($uibModal, $scope, spUtil) {
var c = this;

$scope.$on('record.updated', function(name, data) {
c.data.cancelComments = '';
spUtil.update($scope);
})

c.uiAction = function(action) {
c.data.action = action;
c.server.update().then(function() {
c.data.action = undefined;
})
c.modalInstance.close();
}

c.openModalCancel = function() {
c.modalInstance = $uibModal.open({
templateUrl: 'modalTemplateCancel',
scope: $scope
});
}


c.closeModal = function() {
c.modalInstance.close();
}
}

 

Example :

Closed by NameisNani with comment : 

 

Where should i update in the script . can anyone pleae help me 

9 REPLIES 9

@shloke04 @Anirudh Pathak 

 

Let me try once 

@nameisnani  - Did the solution provided worked ? If it worked, please mark the answer as correct and close this thread.

Hope this helps. Please mark the answer as correct/helpful based on impact.

Regards,
Shloke

hi @shloke04 @Anirudh Pathak 

 

Requestor for name is not showing , showig sys ID 

nameisnani_0-1708393409301.png

 

Hi @nameisnani,

Try this - 

gr.comments.setJournalEntry("Closed by " + gr.getDisplayValue('requested_for') + " " + "with comment: "+ input.cancelComments);

Hi @nameisnani ,

 

That's the right behavior To understand this better, Requested for by default is an Reference attribute which takes data from User table and hence it will show Sys id by default.

 

To get display value here please use the syntax below using getDisplayValue():

 

gr.comments.setJournalEntry("Closed by " + gr.request.requested_for.getDisplayValue() + "with comment: "+ input.cancelComments);

This should worked. Let me know how this goes.

Hope this helps. Please mark the answer as correct/helpful based on impact.

Regards,
Shloke