Slef cancelling ticket - 1

nameisnani
Mega Sage

Hi Team 

 

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

nameisnani_0-1708396979205.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 

 

I have updated Server side script lik this 

 

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

 

But result is not up to mark  , Instead of name , Sys id is coming , can anyone please help me . to resolve this 

nameisnani_1-1708397073671.png

 

Thanks 

1 ACCEPTED SOLUTION

Nick Parsons
Mega Sage

You want to get the display value of the requested for field, so:

 

 

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

 

 

Alternatively, if `requested_for` on the REQ can be empty or null, use getDisplayValueExt() to provide a default fallback:

 

 

gr.comments.setJournalEntry("Closed by " + gr.request.requested_for.getDisplayValueExt(40, "Requested for") + " with comment: "+ input.cancelComments);

 

 

 

View solution in original post

1 REPLY 1

Nick Parsons
Mega Sage

You want to get the display value of the requested for field, so:

 

 

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

 

 

Alternatively, if `requested_for` on the REQ can be empty or null, use getDisplayValueExt() to provide a default fallback:

 

 

gr.comments.setJournalEntry("Closed by " + gr.request.requested_for.getDisplayValueExt(40, "Requested for") + " with comment: "+ input.cancelComments);