How to query a record sys_id in client script portal widget.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2022 08:14 AM
Hello All,
I'm attempting to use the same HTML href URL in the client script for the Confirm button. However, I am unable to obtain the record sys id.
HTML link for RITM0022516 is
<a ng-href="?id=approval&table=sysapproval_approver&sys_id={{::approval.sys_id}}" id="approval_task_{{::approval.sys_id}}"title="{{data.ViewApprovalPageMsg}}">{{::approval.task.number}}</a></span><br>
client script URL for Confrim button:
c.openPopUp = function() {
var url = "?id=approval&table=sysapproval_approver&sys_id="+$scope.data.approval.sys_id;
var popup = window.open (url, "popup", "width=900, height=600");
}
Thanks,
Reddy
- Labels:
-
flow designer
-
Service Portal
-
Workflow

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-21-2022 09:43 AM
Can you paste the script in client controller?
Please mark this response as correct or helpful if it assisted you with your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-21-2022 11:47 AM
function ($scope,spUtil,snRecordWatcher,spModal,$uibModal,spUIActionsExecuter,$location,$rootScope,$cookies) {
var c = this;
var ticketConversationWidgetID = 'widget-ticket-conversation'; //id for conversation widget displayed in modal
c.data.action = '';
c.data.comment = '';
c.data.collectComments = false;
c.data.message = "";
c.color = "";
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 = "";
spUtil.recordWatch($scope, "sysapproval_approver", "state=requested^approverIN" + $scope.data.myApprovals.toString(), function(response) {});
function get() {
spUtil.update($scope);
c.comment = '';
}
$scope.reject = function(id) {
c.onPromptR(id);
}
c.onPromptR = function(id) {
spModal.open({
title: 'Please Provide a Rejection Comment',
message: 'Comments are required when rejecting.',
input: true,
value: c.comment,
buttons: [
{label:'✘ ${Cancel}', cancel: true},
{label:'✔ ${Reject}', primary: true}
]
}).then(function(comment) {
c.comment = comment;
$scope.data.comment = comment;
$scope.data.op = "rejected";
$scope.data.target = id;
get();
})
}
$scope.approve = function(id) {
c.onPrompt(id);
}
c.onPrompt = function(id) {
spModal.open({
title: 'Please Provide An Approval Comment',
message: 'Comments are optional when approving.',
input: true,
value: " ",
buttons: [
{label:'✘ ${Cancel}', cancel: true},
{label:'✔ ${Approve}', primary: true}
]
}).then(function(comment) {
c.comment = comment;
$scope.data.comment = comment;
$scope.data.op = "approved";
$scope.data.target = id;
get();
})
}
c.clickButton = function(action) {
var obj= {
action: action,
something: "anything else"
};
$rootScope.$broadcast('customEvent', obj);
}
c.openPopUp = function() {
var url = "?id=approval&table=sysapproval_approver&sys_id="+c.data.approval.sys_id;
var popup = window.open (url, "popup", "width=900, height=600");
}
// pagination
$scope.previousPage = function() {
if ($scope.data.pagination.currentPage > 1)
$scope.data.pagination.currentPage = $scope.data.pagination.currentPage - 1;
else
$scope.data.pagination.currentPage = 0;
get();
}
$scope.nextPage = function() {
$scope.data.pagination.currentPage = $scope.data.pagination.currentPage+1;
get();
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-21-2022 11:58 AM
From your script, looks like you are suppose to use
$scope.data.sys_id
Please mark this response as correct or helpful if it assisted you with your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-21-2022 01:01 PM
Could you post the HTML around the Confirm button?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-21-2022 01:13 PM
<div>
<!-- <span><a href ng-click="c.openPopUp()" uib-tooltip="Comments" tooltip-placement="bottom"> <i ng-style="c.setColor();" class="fa fa-comments fa-fw"></i> </a></span> -->
<button ng-click="c.openPopUp()" class="btn btn-primary">confrim</button>
</div>
</div>
<div class="panel-body">
<span ng-if="approval.task.cab_date" class="m-r-sm"><img src="Changerequestapproval.png" class="img im-responsive item-image"/></span>
<span ng-if="approval.variables.length" class="m-r-sm"><img src="Requestapproval.png" class="img im-responsive item-image"/></span>
<div class="col-lg-12">
<span class="header-state">
<a ng-href="?id=approval&table=sysapproval_approver&sys_id={{::approval.sys_id}}" id="approval_task_{{::approval.sys_id}}" title="{{data.ViewApprovalPageMsg}}">{{::approval.task.number}}</a></span><br>
<!-- <ng-if="approval.short_description"><label>${Requested Item:}</label><descript>{{::approval.task.cat_item}}</descript><br></ng-if> -->
<ng-if="approval.task.short_description"><label>${Description:}</label><descript>{{::approval.task.short_description}}</descript></ng-if>
<!-- Change Request -->