mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
itMerge branch 'master' of https://github.com/wso2/carbon-device-mgt-plugins
This commit is contained in:
commit
625dd1a887
@ -19,15 +19,15 @@
|
||||
{{unit "cdmf.unit.lib.qrcode"}}
|
||||
{{unit "mdm.unit.device.qr-modal"}}
|
||||
{{#zone "content"}}
|
||||
{{#if permissions.LIST_DEVICES}}
|
||||
<div class="row ">
|
||||
<div class="col-md-3 wr-stats-board">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">Devices</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-mobile"></i></div>
|
||||
<div class="tile-stats">
|
||||
<span id="device-count" data-device-count="true">Loading...</span>
|
||||
{{#if permissions.LIST_DEVICES}}
|
||||
<div class="row ">
|
||||
<div class="col-md-3 wr-stats-board">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">Devices</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-mobile"></i></div>
|
||||
<div class="tile-stats">
|
||||
<span id="device-count" data-device-count="true">Loading...</span>
|
||||
<span class="tile-stats-free">
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<a id="device-count-view-btn" href="{{@app.context}}/devices">
|
||||
@ -37,27 +37,29 @@
|
||||
</span>
|
||||
View
|
||||
</a>
|
||||
<a href="javascript:toggleEnrollment()">
|
||||
{{#if permissions.ENROLL_DEVICE)}}
|
||||
<a href="javascript:toggleEnrollment()">
|
||||
<span class="fw-stack">
|
||||
<i class="fw fw-ring fw-stack-2x"></i>
|
||||
<i class="fw fw-add fw-stack-1x"></i>
|
||||
</span>
|
||||
Add
|
||||
</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{# if permissions.LIST_POLICIES}}
|
||||
<div class="col-md-3 wr-stats-board">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">Policies</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-policy"></i></div>
|
||||
<div class="tile-stats">
|
||||
<span id="policy-count" data-policy-count="true">Loading...</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{# if permissions.LIST_POLICIES}}
|
||||
<div class="col-md-3 wr-stats-board">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">Policies</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-policy"></i></div>
|
||||
<div class="tile-stats">
|
||||
<span id="policy-count" data-policy-count="true">Loading...</span>
|
||||
<span class="tile-stats-free">
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<a id="policy-count-view-btn" href="{{@app.context}}/policies/">
|
||||
@ -78,19 +80,19 @@
|
||||
</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{# if permissions.LIST_USERS}}
|
||||
<div class="col-md-3 wr-stats-board">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">Users</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-user"></i></div>
|
||||
<div class="tile-stats">
|
||||
<span id="user-count" data-user-count="true">Loading...</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{# if permissions.LIST_USERS}}
|
||||
<div class="col-md-3 wr-stats-board">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">Users</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-user"></i></div>
|
||||
<div class="tile-stats">
|
||||
<span id="user-count" data-user-count="true">Loading...</span>
|
||||
<span class="tile-stats-free">
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<a id="user-count-view-btn" href="{{@app.context}}/users/">
|
||||
@ -111,19 +113,19 @@
|
||||
</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{# if permissions.LIST_ROLES}}
|
||||
<div class="col-md-3 wr-stats-board">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">Roles</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-bookmark"></i></div>
|
||||
<div class="tile-stats">
|
||||
<span id="role-count" data-role-count="true">Loading...</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{# if permissions.LIST_ROLES}}
|
||||
<div class="col-md-3 wr-stats-board">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">Roles</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-bookmark"></i></div>
|
||||
<div class="tile-stats">
|
||||
<span id="role-count" data-role-count="true">Loading...</span>
|
||||
<span class="tile-stats-free">
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<a id="device-count-view-btn" href="{{@app.context}}/roles">
|
||||
@ -144,12 +146,12 @@
|
||||
</a>
|
||||
{{/if}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/zone}}
|
||||
{{#zone "bottomJs"}}
|
||||
{{js "js/dashboard.js"}}
|
||||
|
||||
@ -29,6 +29,9 @@ function onRequest(context) {
|
||||
permissions.ADD_POLICY = userModule.isAuthorized("/permission/admin/device-mgt/policies/manage");
|
||||
permissions.ADD_ROLE = userModule.isAuthorized("/permission/admin/device-mgt/roles/manage");
|
||||
permissions.ADD_USER = userModule.isAuthorized("/permission/admin/device-mgt/users/manage");
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/enroll/ios") | userModule.isAuthorized("/permission/admin/devices/enroll/android") | userModule.isAuthorized("/permission/admin/device-mgt/devices/enroll/windows") ){
|
||||
permissions.ENROLL_DEVICE = true;
|
||||
}
|
||||
viewModel.permissions = permissions;
|
||||
//TODO: Move enrollment URL into app-conf.json
|
||||
viewModel.enrollmentURL = mdmProps.generalConfig.host + mdmProps.enrollmentDir;
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
}}
|
||||
|
||||
{{#zone "content"}}
|
||||
<div id = "operations-mod" data-permissions="{{permissions}}">
|
||||
{{unit "mdm.unit.device.operation-mod"}}
|
||||
|
||||
@ -17,55 +17,53 @@
|
||||
*/
|
||||
|
||||
function onRequest(context) {
|
||||
var log = new Log("mdm.unit.device.operation-bar");
|
||||
// var log = new Log("mdm.unit.device.operation-bar");
|
||||
var userModule = require("/app/modules/business-controllers/user.js")["userModule"];
|
||||
var deviceType = context.uriParams.deviceType;
|
||||
var viewModel = {};
|
||||
var permissions = [];
|
||||
|
||||
// permission checks
|
||||
if (deviceType == "android") {
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/ring")) {
|
||||
permissions.push("DEVICE_RING");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/lock-devices")) {
|
||||
permissions.push("DEVICE_LOCK");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/unlock-devices")) {
|
||||
permissions.push("DEVICE_UNLOCK");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/location")) {
|
||||
permissions.push("DEVICE_LOCATION");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/clear-password")) {
|
||||
permissions.push("CLEAR_PASSWORD");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/reboot")) {
|
||||
permissions.push("DEVICE_REBOOT");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/upgrade-firmware")) {
|
||||
permissions.push("UPGRADE_FIRMWARE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/mute")) {
|
||||
permissions.push("DEVICE_MUTE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/send-notification")) {
|
||||
permissions.push("NOTIFICATION");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/change-lock-code")) {
|
||||
permissions.push("CHANGE_LOCK_CODE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/enterprise-wipe")) {
|
||||
permissions.push("ENTERPRISE_WIPE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/wipe")) {
|
||||
permissions.push("WIPE_DATA");
|
||||
}
|
||||
} else if (deviceType == "ios") {
|
||||
|
||||
} else if (deviceType == "windows") {
|
||||
var permissions = {};
|
||||
|
||||
// adding android operations related permission checks
|
||||
permissions["android"] = [];
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/ring")) {
|
||||
permissions["android"].push("DEVICE_RING");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/lock-devices")) {
|
||||
permissions["android"].push("DEVICE_LOCK");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/unlock-devices")) {
|
||||
permissions["android"].push("DEVICE_UNLOCK");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/location")) {
|
||||
permissions["android"].push("DEVICE_LOCATION");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/clear-password")) {
|
||||
permissions["android"].push("CLEAR_PASSWORD");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/reboot")) {
|
||||
permissions["android"].push("DEVICE_REBOOT");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/upgrade-firmware")) {
|
||||
permissions["android"].push("UPGRADE_FIRMWARE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/mute")) {
|
||||
permissions["android"].push("DEVICE_MUTE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/send-notification")) {
|
||||
permissions["android"].push("NOTIFICATION");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/change-lock-code")) {
|
||||
permissions["android"].push("CHANGE_LOCK_CODE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/enterprise-wipe")) {
|
||||
permissions["android"].push("ENTERPRISE_WIPE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/wipe")) {
|
||||
permissions["android"].push("WIPE_DATA");
|
||||
}
|
||||
|
||||
// adding ios operations related permission checks
|
||||
|
||||
// adding windows operations related permission checks
|
||||
|
||||
viewModel["permissions"] = stringify(permissions);
|
||||
|
||||
|
||||
@ -108,21 +108,21 @@ function loadOperationBar(deviceType) {
|
||||
//var serviceURL = "/mdm-admin/features/" + platformType;
|
||||
var serviceURL = "/api/device-mgt/v1.0/devices/" + platformType + "/*/features";
|
||||
var successCallback = function (data) {
|
||||
var permittedOpps = [];
|
||||
var permittedOperations = [];
|
||||
var i;
|
||||
var permissionList = $("#operations-mod").data("permissions");
|
||||
var totalFeatures = JSON.parse(data);
|
||||
for (i = 0; i < permissionList.length; i++) {
|
||||
for (i = 0; i < permissionList[deviceType].length; i++) {
|
||||
var j;
|
||||
for (j = 0; j < totalFeatures.length; j++) {
|
||||
if (permissionList[i] == totalFeatures[j]["code"]) {
|
||||
permittedOpps.push(totalFeatures[j]);
|
||||
if (permissionList[deviceType][i] == totalFeatures[j]["code"]) {
|
||||
permittedOperations.push(totalFeatures[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var viewModel = {};
|
||||
permittedOpps = permittedOpps.filter(function (current) {
|
||||
permittedOperations = permittedOperations.filter(function (current) {
|
||||
var iconName;
|
||||
switch (deviceType) {
|
||||
case platformTypeConstants.ANDROID:
|
||||
@ -143,7 +143,7 @@ function loadOperationBar(deviceType) {
|
||||
}
|
||||
});
|
||||
|
||||
viewModel.features = permittedOpps;
|
||||
viewModel.features = permittedOperations;
|
||||
var content = template(viewModel);
|
||||
$(".wr-operations").html(content);
|
||||
};
|
||||
|
||||
@ -108,14 +108,11 @@
|
||||
<h4>
|
||||
{{#equal code "WIPE_DATA"}}
|
||||
{{#equal type "android"}}
|
||||
Enter PIN code (Optional - This is required only if the device type
|
||||
is BYOD).
|
||||
Enter PIN code (Optional - This is required only if the device type is BYOD).
|
||||
<br><br>
|
||||
|
||||
<div>
|
||||
<input type="password"
|
||||
class="form-control modal-input operationDataKeys"
|
||||
id="pin" data-key="pin"></textarea>
|
||||
<input type="password" class="form-control modal-input operationDataKeys" id="pin"
|
||||
data-key="pin">
|
||||
</div>
|
||||
<br>
|
||||
{{/equal}}
|
||||
@ -123,25 +120,114 @@
|
||||
{{#equal code "NOTIFICATION"}}
|
||||
Type your message below.
|
||||
<br><br>
|
||||
|
||||
<div id="notification-error-msg" class="alert alert-danger hidden"
|
||||
role="alert">
|
||||
<div id="notification-error-msg" class="alert alert-danger hidden" role="alert">
|
||||
<i class="icon fw fw-error"></i><span></span>
|
||||
</div>
|
||||
<div>
|
||||
<textarea class="form-control modal-input operationDataKeys"
|
||||
id="message" data-key="message"></textarea>
|
||||
<div class="form-group">
|
||||
<input class="form-control modal-input operationDataKeys"
|
||||
id="messageTitle" data-key="messageTitle" placeholder="Title here..." />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea class="form-control modal-input operationDataKeys"
|
||||
id="messageText" data-key="messageText" placeholder="Message here..."></textarea>
|
||||
</div>
|
||||
<br>
|
||||
{{/equal}}
|
||||
{{#equal code "CHANGE_LOCK_CODE"}}
|
||||
Type new lock-code below.
|
||||
<br><br>
|
||||
<input type="password"
|
||||
class="form-control modal-input operationDataKeys" id="lockcode"
|
||||
<input type="password" class="form-control modal-input operationDataKeys" id="lockcode"
|
||||
data-key="lockCode" placeholder="Enter Lockcode"/>
|
||||
<br>
|
||||
{{/equal}}
|
||||
{{#equal code "DEVICE_LOCK"}}
|
||||
{{#equal type "android"}}
|
||||
Type your message to be shown in the lock screen (Optional).
|
||||
<br><br>
|
||||
<div>
|
||||
<textarea class="form-control modal-input operationDataKeys" id="lock-message"
|
||||
data-key="lock-message"></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<label class="wr-input-control checkbox">
|
||||
<input id="hard-lock" type="checkbox" class="form-control operationDataKeys"
|
||||
data-key="hard-lock"/>
|
||||
<span class="helper" title="Once it enables, device will be blocked permanently.">
|
||||
Enable Permanent Lock
|
||||
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||
</span>
|
||||
</label>
|
||||
{{/equal}}
|
||||
{{/equal}}
|
||||
{{#equal code "UPGRADE_FIRMWARE"}}
|
||||
{{#equal type "android"}}
|
||||
Enter firmware upgrade scheduling information.
|
||||
<br><br>
|
||||
<label class="wr-input-control checkbox">
|
||||
<input id="instant-upgrade" type="checkbox" class="form-control operationDataKeys"
|
||||
data-key="instant-upgrade"/>
|
||||
<span class="helper"
|
||||
title="Once enabled, device firmware upgrade process will start instantly.">
|
||||
Instant Upgrade
|
||||
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||
</span>
|
||||
</label>
|
||||
<br><br>
|
||||
<div class='input-group date' id='dateTimePicker'>
|
||||
Enter the date and time to schedule firmware upgrade.
|
||||
<br><br>
|
||||
<div id="firmware-error-msg" class="alert alert-danger hidden" role="alert">
|
||||
<i class="icon fw fw-error"></i><span></span>
|
||||
</div>
|
||||
<input type='text' class="form-control modal-input operationDataKeys"
|
||||
style="z-index : 900;" name="daterange" id="schedule" data-key="schedule"/>
|
||||
</div>
|
||||
<br><br>
|
||||
<div class='wr-input-control' id='firmwareServerInfo'>
|
||||
Enter firmware upgrade server URL (ie. http://abc.com or http://abc.com/ota)
|
||||
(Optional).
|
||||
<br><br>
|
||||
<input type='text' class="form-control modal-input operationDataKeys" id="server"
|
||||
data-key="server"/>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$('.modalpopup-bg').css('z-index', '1000');
|
||||
$('.modalpopup-container').css('z-index', '1200');
|
||||
|
||||
$('input[name="daterange"]').daterangepicker({
|
||||
singleDatePicker: true,
|
||||
timePicker: true,
|
||||
showDropdowns: true,
|
||||
timePickerIncrement: 1,
|
||||
locale: {
|
||||
format: 'MM-DD-YYYY hh:mm a'
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#instant-upgrade').change(function () {
|
||||
if ($(this).is(":checked")) {
|
||||
$('#dateTimePicker').addClass("hidden");
|
||||
$("#schedule").val('');
|
||||
|
||||
} else {
|
||||
$('#dateTimePicker').removeClass("hidden");
|
||||
$('input[name="daterange"]').daterangepicker({
|
||||
singleDatePicker: true,
|
||||
timePicker: true,
|
||||
showDropdowns: true,
|
||||
timePickerIncrement: 1,
|
||||
locale: {
|
||||
format: 'MM-DD-YYYY hh:mm a'
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<br>
|
||||
{{/equal}}
|
||||
{{/equal}}
|
||||
<br><br>
|
||||
Do you want to perform this operation on selected device(s) ?
|
||||
<br>
|
||||
</h4>
|
||||
|
||||
@ -2,373 +2,358 @@
|
||||
{{unit "cdmf.unit.lib.qrcode"}}
|
||||
{{unit "mdm.unit.device.qr-modal"}}
|
||||
|
||||
{{#zone "contentTitle"}}
|
||||
{{#if isAuthorized}}
|
||||
<div class="row wr-device-board">
|
||||
<div class="col-lg-12 wr-secondary-bar">
|
||||
<label class="device-id device-select" data-deviceid="{{device.deviceIdentifier}}"
|
||||
data-type="{{device.type}}">
|
||||
Device {{device.name}}
|
||||
{{#if device.viewModel.model}}
|
||||
<span class="lbl-device">
|
||||
( {{device.viewModel.vendor}} {{device.viewModel.model}} )
|
||||
</span>
|
||||
{{/if}}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/zone}}
|
||||
|
||||
{{#zone "content"}}
|
||||
{{#if isAuthorized}}
|
||||
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
||||
<div class="media">
|
||||
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2">
|
||||
<div class="thumbnail icon"><i class="square-element text fw fw-mobile"></i></div>
|
||||
</div>
|
||||
<div class="media-body asset-desc add-padding-left-5x">
|
||||
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Device Overview</div>
|
||||
{{#defineZone "device-detail-properties"}}
|
||||
<table class="table table-responsive table-striped" id="members">
|
||||
<tbody>
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px; width: 1%;">Device</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.vendor}} {{device.properties.model}}</td>
|
||||
</tr>
|
||||
{{#if device.viewModel.model}}
|
||||
<tr role="row" class="odd">
|
||||
<td class="sorting_1" style="padding:10px 15px;">Model</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.model}}</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px;">IMEI</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.imei}}</td>
|
||||
</tr>
|
||||
{{#if device.viewModel.udid}}
|
||||
<h1 class="page-sub-title device-id device-select" data-deviceid="{{device.deviceIdentifier}}" data-type="{{device.type}}">
|
||||
Device {{device.name}}
|
||||
{{#if device.viewModel.model}}
|
||||
<span class="lbl-device">
|
||||
( {{device.viewModel.vendor}} {{device.viewModel.model}} )
|
||||
</span>
|
||||
{{/if}}
|
||||
</h1>
|
||||
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
||||
<div class="media">
|
||||
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2">
|
||||
<div class="thumbnail icon"><i class="square-element text fw fw-mobile"></i></div>
|
||||
</div>
|
||||
<div class="media-body asset-desc add-padding-left-5x">
|
||||
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Device Overview</div>
|
||||
{{#defineZone "device-detail-properties"}}
|
||||
<table class="table table-responsive table-striped" id="members">
|
||||
<tbody>
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px;">UDID</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.udid}}</td>
|
||||
<td class="sorting_1" style="padding:10px 15px; width: 1%;">Device</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.vendor}} {{device.properties.model}}</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.os_build_date}}
|
||||
{{#if device.viewModel.model}}
|
||||
<tr role="row" class="odd">
|
||||
<td class="sorting_1" style="padding:10px 15px;">Model</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.model}}</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px;">Firmware Build Date</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.os_build_date}}</td>
|
||||
<td class="sorting_1" style="padding:10px 15px;">IMEI</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.imei}}</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.phoneNumber}}
|
||||
{{#if device.viewModel.udid}}
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px;">UDID</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.udid}}</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.os_build_date}}
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px;">Firmware Build Date</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.os_build_date}}</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.phoneNumber}}
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px;">Phone Number</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.phoneNumber}}</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px;">Phone Number</td>
|
||||
<td style="padding:10px 15px;">{{device.viewModel.phoneNumber}}</td>
|
||||
<td class="sorting_1" style="padding:10px 15px;">Status</td>
|
||||
<td style="padding:10px 15px;">
|
||||
{{#equal device.status "ACTIVE"}}<span><i class="fw fw-ok icon-success"></i> Active</span>{{/equal}}
|
||||
{{#equal device.status "INACTIVE"}}<span><i class="fw fw-warning icon-warning"></i> Inactive</span>{{/equal}}
|
||||
{{#equal device.status "BLOCKED"}}<span><i class="fw fw-remove icon-danger"></i> Blocked</span>{{/equal}}
|
||||
{{#equal device.status "REMOVED"}}<span><i class="fw fw-delete icon-danger"></i> Removed</span>{{/equal}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
<tr role="row" class="even">
|
||||
<td class="sorting_1" style="padding:10px 15px;">Status</td>
|
||||
<td style="padding:10px 15px;">
|
||||
{{#equal device.status "ACTIVE"}}<span><i class="fw fw-ok icon-success"></i> Active</span>{{/equal}}
|
||||
{{#equal device.status "INACTIVE"}}<span><i class="fw fw-warning icon-warning"></i> Inactive</span>{{/equal}}
|
||||
{{#equal device.status "BLOCKED"}}<span><i class="fw fw-remove icon-danger"></i> Blocked</span>{{/equal}}
|
||||
{{#equal device.status "REMOVED"}}<span><i class="fw fw-delete icon-danger"></i> Removed</span>{{/equal}}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{{/defineZone}}
|
||||
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Operations</div>
|
||||
<div class="add-margin-top-4x">
|
||||
{{unit "mdm.unit.device.operation-bar" deviceType=device.type}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{/defineZone}}
|
||||
<div style="background: #11375B; color: #fff; padding: 10px; margin-bottom: 5px">Operations</div>
|
||||
<div class="add-margin-top-4x">
|
||||
{{unit "mdm.unit.device.operation-bar" deviceType=device.type}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="media tab-responsive">
|
||||
<div class="media-left col-xs-1 col-sm-1 col-md-2 col-lg-2 hidden-xs">
|
||||
<ul class="list-group nav nav-pills nav-stacked" role="tablist">
|
||||
<li class="list-group-item active">
|
||||
<a href="#device_details" role="tab" data-toggle="tab" aria-controls="device_details">
|
||||
<i class="icon fw fw-mobile"></i>Device Details
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a href="#policy_compliance" role="tab" data-toggle="tab" aria-controls="policy_compliance">
|
||||
<i class="icon fw fw-policy"></i>Policy Compliance
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a href="#device_location" role="tab" data-toggle="tab"
|
||||
data-lat="{{device.viewModel.location.latitude}}"
|
||||
data-long="{{device.viewModel.location.longitude}}"
|
||||
aria-controls="device_location">
|
||||
<i class="icon fw fw-map-location"></i> Device Location
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a href="#installed_applications" role="tab" data-toggle="tab" aria-controls="installed_applications">
|
||||
<i class="icon fw fw-application"></i> Installed Applications
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a href="#event_log" role="tab" data-toggle="tab" aria-controls="event_log">
|
||||
<i class="icon fw fw-text"></i> Operations Log
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="media-body remove-padding-xs">
|
||||
{{#defineZone "device-detail-properties"}}
|
||||
<div class="media-body add-padding-left-5x remove-padding-xs">
|
||||
<div class="panel-group tab-content" id="tabs">
|
||||
<div class="arrow-left hidden-xs"></div>
|
||||
<div class="media tab-responsive">
|
||||
<div class="media-left col-xs-1 col-sm-1 col-md-2 col-lg-2 hidden-xs">
|
||||
<ul class="list-group nav nav-pills nav-stacked" role="tablist">
|
||||
<li role="presentation" class="list-group-item active">
|
||||
<a href="#device_details_tab" role="tab" data-toggle="tab" aria-controls="device_details_tab">
|
||||
<i class="icon fw fw-mobile"></i><span class="hidden-sm">Device Details</span>
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation" class="list-group-item">
|
||||
<a href="#policy_compliance_tab" role="tab" data-toggle="tab" aria-controls="policy_compliance_tab">
|
||||
<i class="icon fw fw-policy"></i><span class="hidden-sm">Policy Compliance</span>
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation" class="list-group-item">
|
||||
<a href="#device_location_tab" role="tab" data-toggle="tab"
|
||||
data-lat="{{device.viewModel.location.latitude}}"
|
||||
data-long="{{device.viewModel.location.longitude}}"
|
||||
aria-controls="device_location_tab">
|
||||
<i class="icon fw fw-map-location"></i><span class="hidden-sm">Device Location</span>
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation" class="list-group-item">
|
||||
<a href="#installed_applications_tab" role="tab" data-toggle="tab" aria-controls="installed_applications_tab">
|
||||
<i class="icon fw fw-application"></i><span class="hidden-sm">Installed Applications</span>
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation" class="list-group-item">
|
||||
<a href="#event_log_tab" role="tab" data-toggle="tab" aria-controls="event_log_tab">
|
||||
<i class="icon fw fw-text"></i><span class="hidden-sm">Operations Log</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{#defineZone "device-detail-properties"}}
|
||||
<div class="media-body add-padding-left-5x remove-padding-xs">
|
||||
<div class="panel-group tab-content remove-padding" id="tabs" role="tablist" aria-multiselectable="true">
|
||||
<div class="arrow-left hidden-xs"></div>
|
||||
|
||||
<div class="panel panel-default tab-pane fade in active fade-in-xs visible-block"
|
||||
id="device_details" role="tabpanel"
|
||||
aria-labelledby="device_details">
|
||||
<div class="panel-heading dropup visible-xs" role="tab" id="tab1" data-toggle="collapse"
|
||||
data-target="#tabContent1" aria-expanded="false" data-parent="#tabs">
|
||||
<h4 class="panel-title">
|
||||
<i class="fw fw-map-location fw-2x"></i>
|
||||
Device Details
|
||||
<i class="caret-updown fw fw-sort-up"></i>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-heading display-none-xs">Device Details</div>
|
||||
<div id="loading-content" class="col-centered">
|
||||
<br><br> <i class="fw fw-settings fw-spin fw-2x"></i> Loading Device Details . . .<br>
|
||||
</div>
|
||||
<div class="panel-body collapse display-block-sm display-block-md display-block-lg in"
|
||||
id="tabContent1">
|
||||
<div class="device-detail-body hidden">
|
||||
<!-- device summary -->
|
||||
{{#equal device.type "windows"}}
|
||||
<div class="panel-body">
|
||||
Not available yet
|
||||
</div>
|
||||
<br class="c-both"/>
|
||||
{{/equal}}
|
||||
{{#if device.viewModel.BatteryLevel}}
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<div class="col-md-12">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">BATTERY</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-battery"></i></div>
|
||||
<div class="tile-stats">
|
||||
{{device.viewModel.BatteryLevel}} %
|
||||
<div class="panel panel-default" role="tabpanel" id="device_details_tab">
|
||||
<div class="panel-heading visible-xs collapsed" id="device_details">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fw fw-mobile fw-2x"></i>
|
||||
Device Details
|
||||
<i class="caret-updown fw fw-down"></i>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-heading display-none-xs">Device Details</div>
|
||||
<div id="loading-content" class="col-centered">
|
||||
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Device Details...
|
||||
</div>
|
||||
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="device_details">
|
||||
<div class="panel-body ">
|
||||
<div class="device-detail-body">
|
||||
<!-- device summary -->
|
||||
{{#equal device.type "windows"}}
|
||||
<div class="message message-info">
|
||||
<h4 class="remove-margin"><i class="icon fw fw-info"></i>Not available yet</h4>
|
||||
</div>
|
||||
{{/equal}}
|
||||
{{#if device.viewModel.BatteryLevel}}
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<div class="col-md-12">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">BATTERY</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-battery"></i></div>
|
||||
<div class="tile-stats">
|
||||
{{device.viewModel.BatteryLevel}} %
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.DeviceCapacity}}
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<div class="col-md-12">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">STORAGE</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-hdd"></i></div>
|
||||
<div class="tile-stats">
|
||||
{{device.viewModel.DeviceCapacityPercentage}} %
|
||||
<span class="tile-stats-free">
|
||||
{{device.viewModel.AvailableDeviceCapacity}} GB Free
|
||||
</span>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.DeviceCapacity}}
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<div class="col-md-12">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">STORAGE</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-hdd"></i></div>
|
||||
<div class="tile-stats">
|
||||
{{device.viewModel.DeviceCapacityPercentage}} %
|
||||
<span class="tile-stats-free">
|
||||
{{device.viewModel.AvailableDeviceCapacity}} GB Free
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.internal_memory.FreeCapacity}}
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<div class="col-md-12">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">LOCAL STORAGE</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-hdd"></i></div>
|
||||
<div class="tile-stats">
|
||||
{{device.viewModel.internal_memory.DeviceCapacityPercentage}} %
|
||||
<span class="tile-stats-free">
|
||||
{{device.viewModel.internal_memory.FreeCapacity}} GB Free
|
||||
</span>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.internal_memory.FreeCapacity}}
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<div class="col-md-12">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">LOCAL STORAGE</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-hdd"></i></div>
|
||||
<div class="tile-stats">
|
||||
{{device.viewModel.internal_memory.DeviceCapacityPercentage}} %
|
||||
<span class="tile-stats-free">
|
||||
{{device.viewModel.internal_memory.FreeCapacity}} GB Free
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.external_memory.FreeCapacity}}
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<div class="col-md-12">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">EXTERNAL STORAGE</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-usb-drive"></i></div>
|
||||
<div class="tile-stats">
|
||||
{{device.viewModel.external_memory.DeviceCapacityPercentage}} %
|
||||
<span class="tile-stats-free">
|
||||
{{device.viewModel.external_memory.FreeCapacity}} GB Free
|
||||
</span>
|
||||
{{/if}}
|
||||
{{#if device.viewModel.external_memory.FreeCapacity}}
|
||||
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
|
||||
<div class="col-md-12">
|
||||
<div class="wr-stats-board-tile">
|
||||
<div class="tile-name">EXTERNAL STORAGE</div>
|
||||
<div>
|
||||
<div class="tile-icon"><i class="fw fw-usb-drive"></i></div>
|
||||
<div class="tile-stats">
|
||||
{{device.viewModel.external_memory.DeviceCapacityPercentage}} %
|
||||
<span class="tile-stats-free">
|
||||
{{device.viewModel.external_memory.FreeCapacity}} GB Free
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default tab-pane fade fade-in-xs visible-block"
|
||||
id="policy_compliance">
|
||||
<div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab2"
|
||||
data-toggle="collapse" data-target="#tabContent2" aria-expanded="false"
|
||||
data-parent="#tabs">
|
||||
<h4 class="panel-title"><i class="fw fw-text fw-2x"></i>
|
||||
<div class="panel panel-default visible-xs-block" role="tabpanel" id="policy_compliance_tab">
|
||||
<div class="panel-heading visible-xs collapsed" id="policy_compliance">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">
|
||||
<i class="fw fw-policy fw-2x"></i>
|
||||
Policy Compliance
|
||||
<i class="caret-updown fw fw-down"></i>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-heading display-none-xs">
|
||||
Policy Compliance
|
||||
<i class="caret-updown fw fw-sort-down"></i>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-heading display-none-xs">
|
||||
Policy Compliance
|
||||
|
||||
<span>
|
||||
<a href="#" id="refresh-policy">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div id="policy-spinner" class="wr-advance-operations-init hidden">
|
||||
<br><br>
|
||||
|
||||
<i class="fw fw-settings fw-spin fw-2x"></i>
|
||||
|
||||
Loading Policy Compliance . . .
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div class="panel-body collapse display-block-sm display-block-md display-block-lg" id="tabContent2">
|
||||
<div id="policy-list-container">
|
||||
<div class="panel-body">
|
||||
There is no active policy for this device.
|
||||
<span>
|
||||
<a href="#" id="refresh-policy">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="policy_compliance">
|
||||
<div class="panel-body ">
|
||||
<span class="visible-xs add-padding-2x text-right">
|
||||
<a href="#" id="refresh-policy">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
<div id="policy-spinner" class="wr-advance-operations-init hidden">
|
||||
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Policy Compliance...
|
||||
</div>
|
||||
<div id="policy-list-container">
|
||||
<div class="message message-info">
|
||||
<h4 class="remove-margin"><i class="icon fw fw-info"></i>There is no active policy for this device.</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br class="c-both"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default tab-pane fade fade-in-xs visible-block"
|
||||
id="device_location">
|
||||
<div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab3"
|
||||
data-toggle="collapse" data-target="#tabContent3" aria-expanded="false"
|
||||
data-parent="#tabs">
|
||||
<h4 class="panel-title">
|
||||
<i class="fw fw-text fw-2x"></i>
|
||||
Device Location
|
||||
<i class="caret-updown fw fw-sort-down"></i>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-heading display-none-xs">Device Location</div>
|
||||
<div class="panel-body collapse display-block-sm display-block-md display-block-lg"
|
||||
id="tabContent3">
|
||||
<div id="device-location"
|
||||
data-lat="{{device.viewModel.location.latitude}}"
|
||||
data-long="{{device.viewModel.location.longitude}}"
|
||||
class="panel-body">
|
||||
<div class="panel panel-default visible-xs-block" role="tabpanel" id="device_location_tab">
|
||||
<div class="panel-heading visible-xs collapsed" id="device_location">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseThree" aria-expanded="true" aria-controls="collapseThree">
|
||||
<i class="fw fw-map-location fw-2x"></i>
|
||||
Device Location
|
||||
<i class="caret-updown fw fw-down"></i>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="map-error" class="panel-body" style="margin: auto;">
|
||||
Device location cannot be retrieved.
|
||||
<div class="panel-heading display-none-xs">Device Location</div>
|
||||
<div id="collapseThree" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="device_location">
|
||||
<div class="panel-body">
|
||||
<div id="map-error" class="message message-danger">
|
||||
<h4 class="remove-margin"><i class="icon fw fw-error"></i>Device location cannot be retrieved.</h4>
|
||||
</div>
|
||||
<div id="device-location"
|
||||
data-lat="{{device.viewModel.location.latitude}}"
|
||||
data-long="{{device.viewModel.location.longitude}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br class="c-both"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default tab-pane fade fade-in-xs visible-block"
|
||||
id="installed_applications">
|
||||
<div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab4"
|
||||
data-toggle="collapse" data-target="#tabContent4" aria-expanded="false"
|
||||
data-parent="#tabs">
|
||||
<h4 class="panel-title">
|
||||
<i class="fw fw-text fw-2x"></i>
|
||||
<div class="panel panel-default visible-xs-block" role="tabpanel" id="installed_applications_tab">
|
||||
<div class="panel-heading visible-xs collapsed" id="installed_applications">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseFour" aria-expanded="true" aria-controls="collapseFour">
|
||||
<i class="fw fw-application fw-2x"></i>
|
||||
Installed Applications
|
||||
<i class="caret-updown fw fw-down"></i>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-heading display-none-xs">
|
||||
Installed Applications
|
||||
<i class="caret-updown fw fw-sort-down"></i></h4>
|
||||
</div>
|
||||
<div class="panel-heading display-none-xs">
|
||||
Installed Applications
|
||||
|
||||
<span>
|
||||
<a href="#" id="refresh-apps">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="panel-body collapse display-block-sm display-block-md display-block-lg"
|
||||
id="tabContent4">
|
||||
<div id="apps-spinner" class="wr-advance-operations-init hidden">
|
||||
<br><br>
|
||||
<i class="fw fw-settings fw-spin fw-2x"></i>
|
||||
Loading Applications List . . .<br><br>
|
||||
<span>
|
||||
<a href="#" id="refresh-apps">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div id="applications-list-container">
|
||||
<div class="panel-body">
|
||||
<br>
|
||||
<p class="fw-warning">
|
||||
No applications found. please try refreshing the list in a while.
|
||||
<p>
|
||||
<div id="collapseFour" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="installed_applications">
|
||||
<div class="panel-body ">
|
||||
<span class="visible-xs add-padding-2x text-right">
|
||||
<a href="#" id="refresh-apps">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
<div id="apps-spinner" class="wr-advance-operations-init hidden">
|
||||
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Applications List...
|
||||
</div>
|
||||
<div id="applications-list-container">
|
||||
<div class="message message-info">
|
||||
<h4><i class="icon fw fw-info"></i>No applications found.</h4>
|
||||
<p>Please try refreshing the list in a while.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br class="c-both"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default tab-pane fade fade-in-xs visible-block" id="event_log">
|
||||
<div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab5"
|
||||
data-toggle="collapse" data-target="#tabContent5" aria-expanded="false"
|
||||
data-parent="#tabs">
|
||||
<h4 class="panel-title">
|
||||
<i class="fw fw-text fw-2x"></i>
|
||||
Operations Logs
|
||||
<i class="caret-updown fw fw-sort-down"></i>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-heading display-none-xs">
|
||||
Operations Logs
|
||||
|
||||
<span>
|
||||
<a href="#" id="refresh-operations">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="panel-body collapse display-block-sm display-block-md display-block-lg"
|
||||
id="tabContent5">
|
||||
<div id="operations-spinner" class="wr-advance-operations-init hidden">
|
||||
<br><br> <i class="fw fw-settings fw-spin fw-2x"></i>
|
||||
Loading Operations Log . . .
|
||||
<br><br>
|
||||
<div class="panel panel-default visible-xs-block" role="tabpanel" id="event_log_tab">
|
||||
<div class="panel-heading visible-xs collapsed" id="event_log">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#tabs" href="#collapseFive" aria-expanded="true" aria-controls="collapseFive">
|
||||
<i class="fw fw-text fw-2x"></i>
|
||||
Operations Logs
|
||||
<i class="caret-updown fw fw-down"></i>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="operations-log-container">
|
||||
<div class="panel-heading display-none-xs">
|
||||
Operations Logs
|
||||
<span>
|
||||
<a href="#" id="refresh-operations">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div id="collapseFive" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="event_log">
|
||||
<div class="panel-body">
|
||||
There are no operations, performed yet on this device.
|
||||
<span class="visible-xs add-padding-2x text-right">
|
||||
<a href="#" id="refresh-operations">
|
||||
<i class="fw fw-refresh"></i>
|
||||
</a>
|
||||
</span>
|
||||
<div id="operations-spinner" class="wr-advance-operations-init hidden">
|
||||
<i class="fw fw-settings fw-spin fw-2x"></i> Loading Operations Log...
|
||||
</div>
|
||||
<div id="operations-log-container">
|
||||
<div class="message message-info">
|
||||
<h4 class="remove-margin"><i class="icon fw fw-info"></i>There are no operations, performed yet on this device.</h4>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped table-hover table-bordered display data-table" id="operations-log-table">
|
||||
<thead>
|
||||
<tr class="sort-row">
|
||||
<th>Operation Code</th>
|
||||
<th>Status</th>
|
||||
<th>Request created at</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<br class="c-both"/>
|
||||
</div>
|
||||
<table class="table table-striped table-hover table-bordered display data-table"
|
||||
id="operations-log-table">
|
||||
<thead>
|
||||
<tr class="sort-row">
|
||||
<th>Operation Code</th>
|
||||
<th>Status</th>
|
||||
<th>Request created at</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/defineZone}}
|
||||
</div>
|
||||
{{/defineZone}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<h1 class="page-sub-title">
|
||||
Permission Denied
|
||||
|
||||
@ -182,7 +182,7 @@
|
||||
<br class="c-both"/>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}}
|
||||
{{/if}}
|
||||
<br>
|
||||
<label class="wr-input-label" title="">
|
||||
Set an action upon non-compliance
|
||||
|
||||
@ -130,7 +130,7 @@ function loadNewNotifications() {
|
||||
viewModel["notifications"] = responsePayload["notifications"];
|
||||
$(messageSideBar).html(template(viewModel));
|
||||
} else {
|
||||
$(messageSideBar).html('<div class="message message-info message-no-new"><h4><i class="icon fw fw-info"></i>No new notifications found...</h4></div>');
|
||||
$(messageSideBar).html('<div class="alert alert-info" role="alert"><i class="icon fw fw-info"></i>No new notifications found...</div>');
|
||||
}
|
||||
} else {
|
||||
$(messageSideBar).html("<h4 class ='message-danger'>Unexpected error " +
|
||||
|
||||
Loading…
Reference in New Issue
Block a user