- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-22-2017 02:11 AM
Hi,
How to add the comments field in the OOB Approval widget and make it mandatory when the approvers rejects it.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-23-2017 03:58 AM
Hi Selva,
Use the below and it wil work ( we have to change both client and server to update user comments in approval table)
Highlighted are the changes
Client controller:
function ($scope, spUtil, snRecordWatcher,spModal) {
if ($scope.options.portal == true || $scope.options.portal == 'true') {
$scope.contentColClass = "col-xs-12";
$scope.options.portal = true;
} else {
$scope.options.portal = false;
$scope.contentColClass = "col-sm-9";
}
$scope.data.op = "";
snRecordWatcher.initList("sysapproval_approver", "state=requested^approver=" + window.NOW.user_id);
function get() {
spUtil.update($scope);
}
$scope.$on('record.updated', function(name, data) {
get();
})
$scope.approve = function(id) {
$scope.data.op = "approved";
$scope.data.target = id;
get();
}
$scope.reject = function(id) {
c.onPrompt(id);
}
c.onPrompt = function(id) {
spModal.open({
title: 'Give me a comment',
message: 'Your comment please?',
input: true,
value: c.comment
}).then(function(comment) {
c.comment = comment;
if(comment)
{
$scope.data.comment = comment;
$scope.data.op = "rejected";
$scope.data.target = id;
get();
}
})
}
}
Server side:
Replace
if (input && input.op) {
var app = new GlideRecord("sysapproval_approver");
if (app.get(input.target)) {
app.state = input.op;
app.update();
}
With
if (input && input.op) {
if(input.op == 'approved')
{
var app = new GlideRecord("sysapproval_approver");
if (app.get(input.target)) {
app.state = input.op;
app.update();
}
}
else if(input.op == 'rejected' && input.comment)
{
var app = new GlideRecord("sysapproval_approver");
if (app.get(input.target)) {
app.comments = input.comment;
app.state = input.op;
app.update();
}
}
Thanks and regards
Swamy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-22-2017 02:23 AM
Hi Selva,
Below link will be helpful.
Portal diaries: Service Portal — Making Rejection Comments Mandatory on Approval Record
Thanks and regards
Swamy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-22-2017 03:38 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-22-2017 06:14 AM
You may use below script to show a modal window to user to input comments. if comments enters then only request will be rejected otherwise no action will be done. Make sure that you passed spModal into client controller function like function($scope,spUtil,spModal)
c.action = function(state) {
c.data.op = state;
if(state == "rejected"){
c.openModal();
}
c.data.state = state;
c.server.update();
}
c.openModal = function() {
c.modalInstance = $uibModal.open({
title: 'Give me a comment',
message: 'Your comment please?',
input: true,
value: c.comment
}).then(function(comment) {
c.comment = comment;
c.data.comment = comment;
})
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-22-2017 06:55 AM
Hi Swamy,
Which widget we have to make this changes OOB approvals or approval info?