IOTS-296: Fixing issue with device type icon

This commit fixes an issue which is unable to load device type icons in the policy listing page.
revert-70aa11f8
Madawa Soysa 8 years ago
parent 0dfde40b7c
commit 7aada58472

@ -34,6 +34,7 @@
</a> </a>
</li> </li>
<li> <li>
<!--suppress HtmlUnknownTarget -->
<a href="{{@app.context}}/policies"> <a href="{{@app.context}}/policies">
Policies Policies
</a> </a>
@ -41,18 +42,24 @@
{{/zone}} {{/zone}}
{{#zone "navbarActions"}} {{#zone "navbarActions"}}
{{#if managePermitted}} {{#if permissions.ADD_ADMIN_POLICY}}
{{#equal noPolicy false}}
<li> <li>
<!--suppress HtmlUnknownTarget -->
<a href="{{@app.context}}/policy/add" class="cu-btn"> <a href="{{@app.context}}/policy/add" class="cu-btn">
<span class="icon fw-stack"> <span class="icon fw-stack">
<i class="fw fw-add fw-stack-1x"></i> <i class="fw fw-add fw-stack-1x"></i>
<i class="fw fw-ring fw-stack-2x"></i> <i class="fw fw-ring fw-stack-2x"></i>
</span> </span>
Add Policy Add New Policy
</a> </a>
</li> </li>
{{/equal}}
{{/if}}
{{#if permissions.CHANGE_POLICY_PRIORITY}}
{{#equal noPolicy false}} {{#equal noPolicy false}}
<li> <li>
<!--suppress HtmlUnknownTarget -->
<a href="{{@app.context}}/policy/priority" class="cu-btn"> <a href="{{@app.context}}/policy/priority" class="cu-btn">
<span class="icon fw-stack"> <span class="icon fw-stack">
<i class="fw fw-throttling-policy fw-stack-1x"></i> <i class="fw fw-throttling-policy fw-stack-1x"></i>
@ -75,44 +82,37 @@
{{/zone}} {{/zone}}
{{#zone "content"}} {{#zone "content"}}
{{#equal isUpdated true}}
<input type="hidden" id="is-updated" value="UPDATED">
{{/equal}}
{{#equal noPolicy true}} {{#equal noPolicy true}}
<div id="ast-container" class="ast-container list-view"> <div id="ast-container" class="ast-container list-view">
<div class="ctrl-info-panel col-centered text-center wr-login"> <div class="ctrl-info-panel col-centered text-center wr-login">
<h2>You don't have any policy at the moment.</h2> <h3 class="text-muted">
<br/> <i class="fw fw-policy fw-3x"></i>
{{#if managePermitted}} </h3>
<p class="text-center"> <h3 class="text-muted">You do not have any device policy at the moment</h3>
<a href="{{@app.context}}/policy/add" class="wr-btn"> {{#if permissions.ADD_ADMIN_POLICY}}
<h3>
<!--suppress HtmlUnknownTarget -->
<a href="{{@app.context}}/policy/add" class="btn-operations btn-default">
<span class="fw-stack"> <span class="fw-stack">
<i class="fw fw-ring fw-stack-2x"></i> <i class="fw fw-ring fw-stack-2x"></i>
<i class="fw fw-add fw-stack-1x"></i> <i class="fw fw-add fw-stack-1x"></i>
</span> </span>
Add New Policy Add New Policy
</a> </a>
</p> </h3>
{{/if}} {{/if}}
</div> </div>
</div> </div>
{{/equal}} {{/equal}}
{{#equal noPolicy false}} {{#equal noPolicy false}}
{{#equal isUpdated true}}
<input type="hidden" id="is-updated" name="country" value="UPDATED">
{{/equal}}
<div id="loading-content" class="col-centered"> <div id="loading-content" class="col-centered">
<i class="fw fw-settings fw-spin fw-2x"></i> <i class="fw fw-settings fw-spin fw-2x"></i>
Loading policies . . . Loading policies . . .
<br> <br>
</div> </div>
<div id="policy-listing-status" class="raw hidden">
<ul style="list-style-type: none;">
<li class="message message-info">
<h4>
<i class="icon fw fw-info"></i>
<a id="policy-listing-status-msg">{{policyListingStatusMsg}}</a>
</h4>
</li>
</ul>
</div>
<table class="table table-striped table-hover list-table display responsive nowrap data-table grid-view hidden" <table class="table table-striped table-hover list-table display responsive nowrap data-table grid-view hidden"
id="policy-grid"> id="policy-grid">
<thead> <thead>
@ -141,10 +141,9 @@
<tr class="bulk-action-row"> <tr class="bulk-action-row">
<th colspan="9"> <th colspan="9">
<ul class="tiles"> <ul class="tiles">
{{#if managePermitted}} {{#if removePermitted}}
<li class="square"> <li class="square">
<a href="#" data-click-event="remove-form" <a href="#" data-click-event="remove-form" class="btn square-element policy-remove-link"
class="btn square-element policy-remove-link"
data-toggle="modal" data-target="#modalDemo"> data-toggle="modal" data-target="#modalDemo">
<span class="icon fw-stack"> <span class="icon fw-stack">
<i class="fw fw-ring fw-stack-2x"></i> <i class="fw fw-ring fw-stack-2x"></i>
@ -155,8 +154,7 @@
</li> </li>
{{/if}} {{/if}}
<li class="square"> <li class="square">
<a href="#" data-click-event="remove-form" <a href="#" data-click-event="remove-form" class="btn square-element policy-publish-link"
class="btn square-element policy-publish-link"
data-toggle="modal" data-target="#modalDemo"> data-toggle="modal" data-target="#modalDemo">
<span class="icon fw-stack"> <span class="icon fw-stack">
<i class="fw fw-ring fw-stack-2x"></i> <i class="fw fw-ring fw-stack-2x"></i>
@ -166,8 +164,7 @@
</a> </a>
</li> </li>
<li class="square"> <li class="square">
<a href="#" data-click-event="remove-form" <a href="#" data-click-event="remove-form" class="btn square-element policy-unpublish-link"
class="btn square-element policy-unpublish-link"
data-toggle="modal" data-target="#modalDemo"> data-toggle="modal" data-target="#modalDemo">
<span class="icon fw-stack"> <span class="icon fw-stack">
<i class="fw fw-ring fw-stack-2x"></i> <i class="fw fw-ring fw-stack-2x"></i>
@ -185,46 +182,64 @@
{{#each policyListToView}} {{#each policyListToView}}
<tr data-type="selectable" data-id="{{id}}" data-status="{{status}}"> <tr data-type="selectable" data-id="{{id}}" data-status="{{status}}">
<td class="remove-padding icon-only content-fill viewEnabledIcon" <td class="remove-padding icon-only content-fill viewEnabledIcon"
data-url="{{@app.context}}/policy/view?id={{id}}&type={{platform}}" data-url="{{@app.context}}/policy/view?id={{id}}" data-id="{{id}}">
data-id="{{id}}"> <div class="thumbnail icon" style="padding-top: 30px; padding-bottom: 30px;">
<div class="thumbnail icon"> <i class="fw fw-{{deviceTypeIcon}}" style="font-size: 59px"></i>
<img src="{{icon}}"/>
</div> </div>
</td> </td>
<td class="fade-edge" data-search="{{name}}" data-display="{{name}}"> <td class="fade-edge"
data-search="{{name}}"
data-display="{{name}}">
<h4>{{name}}</h4> <h4>{{name}}</h4>
<div>({{platform}})</div> <div>({{platform}})</div>
{{#equal status "Active/Updated"}} {{#equal status "Active/Updated"}}
<i class="fw fw-warning icon-success"></i> Active/Updated</span> <span><i class="fw fw-warning icon-success"></i> Active/Updated</span>
{{/equal}} {{/equal}}
{{#equal status "Active"}} {{#equal status "Active"}}
<i class="fw fw-ok icon-success"></i> Active</span> <span><i class="fw fw-ok icon-success"></i> Active</span>
{{/equal}} {{/equal}}
{{#equal status "Inactive/Updated"}} {{#equal status "Inactive/Updated"}}
<i class="fw fw-warning icon-warning"></i> Inactive/Updated</span> <span><i class="fw fw-warning icon-warning"></i> Inactive/Updated</span>
{{/equal}} {{/equal}}
{{#equal status "Inactive"}} {{#equal status "Inactive"}}
<i class="fw fw-error icon-danger"></i> Inactive</span> <span><i class="fw fw-error icon-danger"></i> Inactive</span>
{{/equal}} {{/equal}}
</td> </td>
<td class="fade-edge remove-padding-top" data-search="{{platform}}" <td class="fade-edge remove-padding-top"
data-display="{{platform}}"></td> data-search="{{platform}}"
<td class="fade-edge remove-padding-top" data-search="{{ownershipType}}" data-display="{{platform}}">
</td>
<td class="fade-edge remove-padding-top"
data-search="{{ownershipType}}"
data-display="{{ownershipType}}" data-display="{{ownershipType}}"
data-grid-label="Ownership">{{ownershipType}}</td> data-grid-label="Ownership">
<td id="policy-roles" class="fade-edge remove-padding-top" data-search="{{roles}}" {{ownershipType}}
</td>
<td id="policy-roles" class="fade-edge remove-padding-top"
data-search="{{roles}}"
data-display="{{roles}}" data-display="{{roles}}"
data-grid-label="Role(s)">{{roles}}</td> data-grid-label="Role(s)">
<td id="policy-users" class="fade-edge remove-padding-top" data-search="{{users}}" {{roles}}
data-display="{{users}}" data-grid-label="User(s)">{{users}}</td> </td>
<td class="fade-edge remove-padding-top" data-search="{{compliance}}" <td id="policy-users" class="fade-edge remove-padding-top"
data-display="{{compliance}}" data-grid-label="Compliance">{{compliance}}</td> data-search="{{users}}"
<td id="policy-status" class="fade-edge remove-padding-top" data-search="{{status}}" data-display="{{users}}"
data-grid-label="User(s)">
{{users}}
</td>
<td class="fade-edge remove-padding-top"
data-search="{{compliance}}"
data-display="{{compliance}}"
data-grid-label="Compliance">
{{compliance}}
</td>
<td id="policy-status" class="fade-edge remove-padding-top"
data-search="{{status}}"
data-display="{{status}}"> data-display="{{status}}">
</td> </td>
<td class="text-right content-fill text-left-on-grid-view no-wrap"> <td class="text-right content-fill text-left-on-grid-view no-wrap">
<a href="{{@app.context}}/policy/edit?id={{id}}&type={{platform}}" <!--suppress HtmlUnknownTarget -->
<a href="{{@app.context}}/policy/edit?id={{id}}"
data-id="{{id}}" data-id="{{id}}"
data-click-event="remove-form" data-click-event="remove-form"
class="btn padding-reduce-on-grid-view policy-update-link"> class="btn padding-reduce-on-grid-view policy-update-link">
@ -234,7 +249,6 @@
</span> </span>
<span class="hidden-xs hidden-on-grid-view">Re-Configure</span> <span class="hidden-xs hidden-on-grid-view">Re-Configure</span>
</a> </a>
</td> </td>
</tr> </tr>
{{/each}} {{/each}}

@ -10,8 +10,8 @@
* *
* Unless required by applicable law or agreed to in writing, * Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an * software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* KIND, either express or implied. See the License for the * either express or implied. See the License for the
* specific language governing permissions and limitations * specific language governing permissions and limitations
* under the License. * under the License.
*/ */
@ -37,27 +37,23 @@ function onRequest(context) {
var policyCount = policyListToView.length; var policyCount = policyListToView.length;
if (policyCount == 0) { if (policyCount == 0) {
page["policyListingStatusMsg"] = "No policy is available to be displayed."; page["policyListingStatusMsg"] = "No policy is available to be displayed.";
page["saveNewPrioritiesButtonEnabled"] = false;
page["noPolicy"] = true; page["noPolicy"] = true;
} else if (policyCount == 1) {
page["saveNewPrioritiesButtonEnabled"] = false;
page["noPolicy"] = false;
page["isUpdated"] = response["updated"];
} else { } else {
page["saveNewPrioritiesButtonEnabled"] = true;
page["noPolicy"] = false; page["noPolicy"] = false;
page["isUpdated"] = response["updated"]; page["isUpdated"] = response["updated"];
} }
} else { } else {
// here, response["status"] == "error" // here, response["status"] == "error"
page["policyListToView"] = []; page["policyListingStatusMsg"] = "An unexpected error occurred. Please try again later.";
page["policyListingStatusMsg"] = "An unexpected error occurred @ backend. Please try again later.";
page["saveNewPrioritiesButtonEnabled"] = false;
page["noPolicy"] = true; page["noPolicy"] = true;
} }
if (userModule.isAuthorized("/permission/admin/device-mgt/policies/manage")) { if (userModule.isAuthorized("/permission/admin/device-mgt/policies/remove")) {
page.managePermitted = true; page["removePermitted"] = true;
}
if (userModule.isAuthorized("/permission/admin/device-mgt/policies/update")) {
page["editPermitted"] = true;
} }
page.permissions = userModule.getUIPermissions();
return page; return page;
} }

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * Copyright (c) 2015-2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
* *
* WSO2 Inc. licenses this file to you under the Apache License, * WSO2 Inc. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except * Version 2.0 (the "License"); you may not use this file except
@ -10,21 +10,21 @@
* *
* Unless required by applicable law or agreed to in writing, * Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an * software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* KIND, either express or implied. See the License for the * either express or implied. See the License for the
* specific language governing permissions and limitations * specific language governing permissions and limitations
* under the License. * under the License.
*/ */
/* sorting function */ /* sorting function */
var sortUpdateBtn = "#sortUpdateBtn"; var sortUpdateBtn = "#sortUpdateBtn";
var sortedIDs; // var sortedIDs;
var dataTableSelection = '.DTTT_selected'; // var dataTableSelection = ".DTTT_selected";
var settings = { var settings = {
"sorting": false "sorting": false
}; };
$('#policy-grid').datatables_extended(settings); $('#policy-grid').datatables_extended(settings);
$(".icon .text").res_text(0.2); // $(".icon .text").res_text(0.2);
var saveNewPrioritiesButton = "#save-new-priorities-button"; var saveNewPrioritiesButton = "#save-new-priorities-button";
var saveNewPrioritiesButtonEnabled = Boolean($(saveNewPrioritiesButton).data("enabled")); var saveNewPrioritiesButtonEnabled = Boolean($(saveNewPrioritiesButton).data("enabled"));
@ -41,25 +41,6 @@ function InitiateViewOption() {
$(location).attr('href', $(this).data("url")); $(location).attr('href', $(this).data("url"));
} }
var addSortableIndexNumbers = function () {
$(".wr-sortable .list-group-item").not(".ui-sortable-placeholder").each(function (i) {
$(".wr-sort-index", this).html(i + 1);
});
};
var sortElements = function () {
addSortableIndexNumbers();
var sortableElem = ".wr-sortable";
$(sortableElem).sortable({
beforeStop: function () {
sortedIDs = $(this).sortable("toArray");
addSortableIndexNumbers();
$(sortUpdateBtn).prop("disabled", false);
}
});
$(sortableElem).disableSelection();
};
/** /**
* Modal related stuff are as follows. * Modal related stuff are as follows.
*/ */
@ -129,31 +110,29 @@ function getSelectedPolicies() {
} }
$(document).ready(function () { $(document).ready(function () {
sortElements();
$("#loading-content").remove();
var policyRoles = $("#policy-roles").text(); /**
var policyUsers = $("#policy-users").text(); * ********************************************
* Click functions related to Policy Listing
* ********************************************
*/
if (!policyRoles) { // [1] logic for running apply-changes-for-devices use-case
$("#policy-roles").hide();
}
if (!policyUsers) {
$("#policy-users").hide();
}
if ($("#policy-listing-status-msg").text()) { var applyChangesButtonId = "#appbar-btn-apply-changes";
$("#policy-listing-status").removeClass("hidden");
}
// Click functions related to Policy Listing var isUpdated = $("#is-updated").val();
var isUpdated = $('#is-updated').val();
if (!isUpdated) { if (!isUpdated) {
$('#appbar-btn-apply-changes').addClass('hidden'); // if no updated policies found, hide button from app bar
$(applyChangesButtonId).addClass("hidden");
} else {
// if updated policies found, show button from app bar
$(applyChangesButtonId).removeClass("hidden");
} }
$("#appbar-btn-apply-changes").click(function () { // click-event function for applyChangesButton
var applyPolicyChangesAPI = "/devicemgt_admin/policies/apply-changes"; $(applyChangesButtonId).click(function () {
var serviceURL = "/api/device-mgt/v1.0/policies/apply-changes";
modalDialog.header('Do you really want to apply changes to all policies?'); modalDialog.header('Do you really want to apply changes to all policies?');
modalDialog.footer('<div class="buttons"><a href="#" id="change-policy-yes-link" class="btn-operations">Yes' + modalDialog.footer('<div class="buttons"><a href="#" id="change-policy-yes-link" class="btn-operations">Yes' +
'</a><a href="#" id="change-policy-cancel-link" class="btn-operations btn-default">No</a></div>'); '</a><a href="#" id="change-policy-cancel-link" class="btn-operations btn-default">No</a></div>');
@ -161,10 +140,11 @@ $(document).ready(function () {
$("a#change-policy-yes-link").click(function () { $("a#change-policy-yes-link").click(function () {
invokerUtil.put( invokerUtil.put(
applyPolicyChangesAPI, serviceURL,
null, null,
// on success // on success
function () { function (data, textStatus, jqXHR) {
if (jqXHR.status == 200) {
modalDialog.header('Done. Changes applied successfully.'); modalDialog.header('Done. Changes applied successfully.');
modalDialog.footer('<div class="buttons"><a href="#" id="change-policy-success-link" ' + modalDialog.footer('<div class="buttons"><a href="#" id="change-policy-success-link" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
@ -172,9 +152,11 @@ $(document).ready(function () {
modalDialog.hide(); modalDialog.hide();
location.reload(); location.reload();
}); });
}
}, },
// on error // on error
function () { function (jqXHR) {
console.log(stringify(jqXHR.data));
modalDialog.header('An unexpected error occurred. Please try again later.'); modalDialog.header('An unexpected error occurred. Please try again later.');
modalDialog.footer('<div class="buttons"><a href="#" id="change-policy-error-link" ' + modalDialog.footer('<div class="buttons"><a href="#" id="change-policy-error-link" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
@ -191,61 +173,26 @@ $(document).ready(function () {
}); });
}); });
$(sortUpdateBtn).click(function () { // [2] logic for un-publishing a selected set of Active, Active/Updated policies
$(sortUpdateBtn).prop("disabled", true);
var newPolicyPriorityList = [];
var policy;
var i;
for (i = 0; i < sortedIDs.length; i++) {
policy = {};
policy.id = parseInt(sortedIDs[i]);
policy.priority = i + 1;
newPolicyPriorityList.push(policy);
}
var updatePolicyAPI = "/devicemgt_admin/policies/priorities";
invokerUtil.put(
updatePolicyAPI,
newPolicyPriorityList,
function () {
modalDialog.header('Done. New Policy priorities were successfully updated.');
modalDialog.footer('<a href="#" id="save-policy-priorities-success-link" class="btn-operations">Ok' +
'</a>');
modalDialog.show();
$("a#save-policy-priorities-success-link").click(function () {
modalDialog.hide();
});
},
function () {
modalDialog.header('An unexpected error occurred. Please try again later.');
modalDialog.content(html("Message From Server : " + data["statusText"]));
modalDialog.footer('<div class="buttons"><a href="#" id="save-policy-priorities-error-link" ' +
'class="btn-operations">Ok</a></div>');
modalDialog.showAsError();
$("a#save-policy-priorities-error-link").click(function () {
modalDialog.hide();
});
}
);
});
$(".policy-unpublish-link").click(function () { $(".policy-unpublish-link").click(function () {
var policyList = getSelectedPolicies(); var policyList = getSelectedPolicies();
var statusList = getSelectedPolicyStates(); var statusList = getSelectedPolicyStates();
if (($.inArray('Inactive/Updated', statusList) > -1) || ($.inArray('Inactive', statusList) > -1)) { if (($.inArray("Inactive/Updated", statusList) > -1) || ($.inArray("Inactive", statusList) > -1)) {
modalDialog.header('Operation cannot be performed !'); // if policies found in Inactive or Inactive/Updated states with in the selection,
modalDialog.content('You cannot select already inactive policies. Please deselect inactive policies and ' + // pop-up an error saying
'try again.'); // "You cannot select already inactive policies. Please deselect inactive policies and try again."
modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" ' + modalDialog.header('Action cannot be performed !');
'class="btn-operations">Ok</a></div>'); modalDialog.content('You cannot select already inactive policies to be unpublished. Please deselect ' +
'inactive policies and try again.');
modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" class="btn-operations">Ok</a>' +
'</div>');
modalDialog.showAsAWarning(); modalDialog.showAsAWarning();
} else { } else {
var serviceURL = "/devicemgt_admin/policies/inactivate"; var serviceURL = "/api/device-mgt/v1.0/policies/deactivate-policy";
if (policyList == 0) { if (policyList.length == 0) {
modalDialog.header('Operation cannot be performed !'); modalDialog.header('Action cannot be performed !');
modalDialog.content('Please select a policy or a list of policies to unpublish.'); modalDialog.content('Please select a policy or a list of policies to un-publish.');
modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" ' + modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
modalDialog.showAsAWarning(); modalDialog.showAsAWarning();
@ -257,12 +204,14 @@ $(document).ready(function () {
modalDialog.show(); modalDialog.show();
} }
// on-click function for policy un-publishing "yes" button
$("a#unpublish-policy-yes-link").click(function () { $("a#unpublish-policy-yes-link").click(function () {
invokerUtil.put( invokerUtil.post(
serviceURL, serviceURL,
policyList, policyList,
// on success // on success
function () { function (data, textStatus, jqXHR) {
if (jqXHR.status == 200 && data) {
modalDialog.header('Done. Selected policy was successfully unpublished.'); modalDialog.header('Done. Selected policy was successfully unpublished.');
modalDialog.footer('<div class="buttons"><a href="#" id="unpublish-policy-success-link" ' + modalDialog.footer('<div class="buttons"><a href="#" id="unpublish-policy-success-link" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
@ -270,9 +219,11 @@ $(document).ready(function () {
modalDialog.hide(); modalDialog.hide();
location.reload(); location.reload();
}); });
}
}, },
// on error // on error
function () { function (jqXHR) {
console.log(stringify(jqXHR.data));
modalDialog.header('An unexpected error occurred. Please try again later.'); modalDialog.header('An unexpected error occurred. Please try again later.');
modalDialog.footer('<div class="buttons"><a href="#" id="unpublish-policy-error-link" ' + modalDialog.footer('<div class="buttons"><a href="#" id="unpublish-policy-error-link" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
@ -284,30 +235,35 @@ $(document).ready(function () {
); );
}); });
// on-click function for policy un-publishing "cancel" button
$("a#unpublish-policy-cancel-link").click(function () { $("a#unpublish-policy-cancel-link").click(function () {
modalDialog.hide(); modalDialog.hide();
}); });
} }
}); });
// [3] logic for publishing a selected set of Inactive, Inactive/Updated policies
$(".policy-publish-link").click(function () { $(".policy-publish-link").click(function () {
var policyList = getSelectedPolicies(); var policyList = getSelectedPolicies();
var statusList = getSelectedPolicyStates(); var statusList = getSelectedPolicyStates();
if (($.inArray('Active/Updated', statusList) > -1) || ($.inArray('Active', statusList) > -1)) { if (($.inArray("Active/Updated", statusList) > -1) || ($.inArray("Active", statusList) > -1)) {
modalDialog.header('Operation cannot be performed !'); // if policies found in Active or Active/Updated states with in the selection,
// pop-up an error saying
// "You cannot select already active policies. Please deselect active policies and try again."
modalDialog.header('Action cannot be performed !');
modalDialog.content('You cannot select already active policies. Please deselect active policies and try ' + modalDialog.content('You cannot select already active policies. Please deselect active policies and try ' +
'again.'); 'again.');
modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" class="btn-operations">' + modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" class="btn-operations">' +
'Ok</a></div>'); 'Ok</a></div>');
modalDialog.showAsAWarning(); modalDialog.showAsAWarning();
} else { } else {
var serviceURL = "/devicemgt_admin/policies/activate"; var serviceURL = "/api/device-mgt/v1.0/policies/activate-policy";
if (policyList == 0) { if (policyList.length == 0) {
modalDialog.header('Operation cannot be performed !'); modalDialog.header('Action cannot be performed !');
modalDialog.content('Please select a policy or a list of policies to publish.'); modalDialog.content('Please select a policy or a list of policies to publish.');
modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" class="btn-operations">' + modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" ' +
'Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
modalDialog.showAsAWarning(); modalDialog.showAsAWarning();
} else { } else {
modalDialog.header('Do you really want to publish the selected policy(s)?'); modalDialog.header('Do you really want to publish the selected policy(s)?');
@ -316,13 +272,14 @@ $(document).ready(function () {
'class="btn-operations btn-default">No</a></div>'); 'class="btn-operations btn-default">No</a></div>');
modalDialog.show(); modalDialog.show();
} }
// on-click function for policy removing "yes" button
$("a#publish-policy-yes-link").click(function () { $("a#publish-policy-yes-link").click(function () {
invokerUtil.put( invokerUtil.post(
serviceURL, serviceURL,
policyList, policyList,
// on success // on success
function () { function (data, textStatus, jqXHR) {
if (jqXHR.status == 200 && data) {
modalDialog.header('Done. Selected policy was successfully published.'); modalDialog.header('Done. Selected policy was successfully published.');
modalDialog.footer('<div class="buttons"><a href="#" id="publish-policy-success-link" ' + modalDialog.footer('<div class="buttons"><a href="#" id="publish-policy-success-link" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
@ -330,9 +287,11 @@ $(document).ready(function () {
modalDialog.hide(); modalDialog.hide();
location.reload(); location.reload();
}); });
}
}, },
// on error // on error
function () { function (jqXHR) {
console.log(stringify(jqXHR.data));
modalDialog.header('An unexpected error occurred. Please try again later.'); modalDialog.header('An unexpected error occurred. Please try again later.');
modalDialog.footer('<div class="buttons"><a href="#" id="publish-policy-error-link" ' + modalDialog.footer('<div class="buttons"><a href="#" id="publish-policy-error-link" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
@ -344,21 +303,36 @@ $(document).ready(function () {
); );
}); });
// on-click function for policy removing "cancel" button
$("a#publish-policy-cancel-link").click(function () { $("a#publish-policy-cancel-link").click(function () {
modalDialog.hide(); modalDialog.hide();
}); });
} }
}); });
// [4] logic for removing a selected set of policies
$(".policy-remove-link").click(function () { $(".policy-remove-link").click(function () {
var policyList = getSelectedPolicies(); var policyList = getSelectedPolicies();
var deletePolicyAPI = "/devicemgt_admin/policies/bulk-remove"; var statusList = getSelectedPolicyStates();
if (policyList == 0) { if (($.inArray("Active/Updated", statusList) > -1) || ($.inArray("Active", statusList) > -1)) {
modalDialog.header('Operation cannot be performed !'); // if policies found in Active or Active/Updated states with in the selection,
modalDialog.content('Please select a policy or a list of policies to remove.'); // pop-up an error saying
// "You cannot remove already active policies. Please deselect active policies and try again."
modalDialog.header('Action cannot be performed !');
modalDialog.content('You cannot select already active policies. Please deselect active policies and try ' +
'again.');
modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" class="btn-operations">' + modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" class="btn-operations">' +
'Ok</a></div>'); 'Ok</a></div>');
modalDialog.showAsAWarning(); modalDialog.showAsAWarning();
} else {
var serviceURL = "/api/device-mgt/v1.0/policies/remove-policy";
if (policyList.length == 0) {
modalDialog.header('Action cannot be performed !');
modalDialog.content('Please select a policy or a list of policies to remove.');
modalDialog.footer('<div class="buttons"><a href="javascript:modalDialog.hide()" ' +
'class="btn-operations">Ok</a></div>');
modalDialog.showAsAWarning();
} else { } else {
modalDialog.header('Do you really want to remove the selected policy(s)?'); modalDialog.header('Do you really want to remove the selected policy(s)?');
modalDialog.footer('<div class="buttons"><a href="#" id="remove-policy-yes-link" class=' + modalDialog.footer('<div class="buttons"><a href="#" id="remove-policy-yes-link" class=' +
@ -367,43 +341,26 @@ $(document).ready(function () {
modalDialog.show(); modalDialog.show();
} }
// on-click function for policy removing "yes" button
$("a#remove-policy-yes-link").click(function () { $("a#remove-policy-yes-link").click(function () {
invokerUtil.post( invokerUtil.post(
deletePolicyAPI, serviceURL,
policyList, policyList,
// on success // on success
function (data) { function (data, textStatus, jqXHR) {
data = JSON.parse(data); if (jqXHR.status == 200 && data) {
if (data.errorMessage) {
modalDialog.header('Cannot Remove Policies.');
modalDialog.footer('<div class="buttons"><a href="#" id="remove-policy-error-devices" ' +
'class="btn-operations">Ok</a></div>');
modalDialog.showAsError();
$("a#remove-policy-error-devices").click(function () {
modalDialog.hide();
});
} else {
modalDialog.header('Done. Selected policy was successfully removed.'); modalDialog.header('Done. Selected policy was successfully removed.');
modalDialog.footer('<div class="buttons"><a href="#" id="remove-policy-success-link" ' + modalDialog.footer('<div class="buttons"><a href="#" id="remove-policy-success-link" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
$("a#remove-policy-success-link").click(function () { $("a#remove-policy-success-link").click(function () {
var thisTable = $(".DTTT_selected").closest('.dataTables_wrapper').find('.dataTable').dataTable();
thisTable.api().rows('.DTTT_selected').remove().draw(false);
modalDialog.hide(); modalDialog.hide();
location.reload();
}); });
} }
}, },
// on error // on error
function (data) { function (jqXHR) {
if (JSON.parse(data.responseText).errorMessage) { console.log(stringify(jqXHR.data));
modalDialog.header('Cannot Remove Policies.');
modalDialog.footer('<div class="buttons"><a href="#" id="remove-policy-error-devices" ' +
'class="btn-operations">Ok</a></div>');
modalDialog.showAsError();
$("a#remove-policy-error-devices").click(function () {
modalDialog.hide();
});
} else {
modalDialog.header('An unexpected error occurred. Please try again later.'); modalDialog.header('An unexpected error occurred. Please try again later.');
modalDialog.footer('<div class="buttons"><a href="#" id="remove-policy-error-link" ' + modalDialog.footer('<div class="buttons"><a href="#" id="remove-policy-error-link" ' +
'class="btn-operations">Ok</a></div>'); 'class="btn-operations">Ok</a></div>');
@ -412,15 +369,19 @@ $(document).ready(function () {
modalDialog.hide(); modalDialog.hide();
}); });
} }
}
); );
}); });
// on-click function for policy removing "cancel" button
$("a#remove-policy-cancel-link").click(function () { $("a#remove-policy-cancel-link").click(function () {
modalDialog.hide(); modalDialog.hide();
}); });
}
}); });
$("#loading-content").remove(); $("#loading-content").remove();
if ($("#policy-listing-status-msg").text()) {
$("#policy-listing-status").removeClass("hidden");
}
$("#policy-grid").removeClass("hidden"); $("#policy-grid").removeClass("hidden");
$(".icon .text").res_text(0.2);
}); });
Loading…
Cancel
Save