Updating emm device view with permissions

revert-dabc3590
dilanua 8 years ago
parent acc3875b51
commit a9d00964d2

@ -26,6 +26,7 @@
</a> </a>
</li> </li>
<li> <li>
<!--suppress HtmlUnknownTarget -->
<a href="{{@app.context}}/devices"> <a href="{{@app.context}}/devices">
Devices Devices
</a> </a>
@ -38,7 +39,15 @@
{{/zone}} {{/zone}}
{{#zone "content"}} {{#zone "content"}}
{{unit "cdmf.unit.lib.data-table"}} {{#if isAuthorized}}
{{unit "cdmf.unit.device.operation-mod"}} {{unit "cdmf.unit.lib.data-table"}}
{{unit "cdmf.unit.device.view"}} {{unit "cdmf.unit.device.operation-mod"}}
{{unit "cdmf.unit.device.view"}}
{{else}}
<h1 class="page-sub-title">
Permission Denied
</h1>
<br>
You are not authorized to view any enrolled device in the system.
{{/if}}
{{/zone}} {{/zone}}

@ -17,17 +17,24 @@
*/ */
function onRequest(context){ function onRequest(context){
var utility = require("/app/modules/utility.js").utility; var userModule = require("/app/modules/business-controllers/user.js")["userModule"];
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) { var viewModel = {};
if (arguments.length < 3)
throw new Error("Handlebars Helper equal needs 2 parameters");
if( lvalue!=rvalue ) {
return options.inverse(this);
} else {
return options.fn(this);
}
});
var deviceType = context.uriParams.deviceType; // permission checks
return {"deviceViewUnitName": utility.getTenantedDeviceUnitName(deviceType, "device-view")}; // [1] checking viewing devices permission
viewModel["isAuthorized"] = userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/view");
if (viewModel["isAuthorized"]) {
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) {
if (arguments.length < 3)
throw new Error("Handlebars Helper equal needs 2 parameters");
if( lvalue!=rvalue ) {
return options.inverse(this);
} else {
return options.fn(this);
}
});
}
return viewModel;
} }

@ -156,6 +156,12 @@
</p> </p>
</div> </div>
</div> </div>
{{else}}
<h1 class="page-sub-title">
Permission Denied
</h1>
<br>
You are not authorized to view any enrolled device in the system.
{{/if}} {{/if}}
{{/zone}} {{/zone}}

@ -3,23 +3,26 @@
{{unit "mdm.unit.device.qr-modal"}} {{unit "mdm.unit.device.qr-modal"}}
{{#zone "contentTitle"}} {{#zone "contentTitle"}}
<div class="row wr-device-board"> {{#if isAuthorized}}
<div class="col-lg-12 wr-secondary-bar"> <div class="row wr-device-board">
<label class="device-id device-select" data-deviceid="{{device.deviceIdentifier}}" <div class="col-lg-12 wr-secondary-bar">
data-type="{{device.type}}"> <label class="device-id device-select" data-deviceid="{{device.deviceIdentifier}}"
Device {{device.name}} data-type="{{device.type}}">
{{#if device.viewModel.model}} Device {{device.name}}
<span class="lbl-device"> {{#if device.viewModel.model}}
<span class="lbl-device">
( {{device.viewModel.vendor}} {{device.viewModel.model}} ) ( {{device.viewModel.vendor}} {{device.viewModel.model}} )
</span> </span>
{{/if}} {{/if}}
</label> </label>
</div>
</div> </div>
</div> {{/if}}
{{/zone}} {{/zone}}
{{#zone "content"}} {{#zone "content"}}
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;"> {{#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">
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2"> <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 class="thumbnail icon"><i class="square-element text fw fw-mobile"></i></div>
@ -79,305 +82,314 @@
</div> </div>
</div> </div>
</div> </div>
<div class="media tab-responsive"> <div class="media tab-responsive">
<div class="media-left col-xs-1 col-sm-1 col-md-2 col-lg-2 hidden-xs"> <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"> <ul class="list-group nav nav-pills nav-stacked" role="tablist">
<li class="list-group-item active"> <li class="list-group-item active">
<a href="#device_details" role="tab" data-toggle="tab" aria-controls="device_details"> <a href="#device_details" role="tab" data-toggle="tab" aria-controls="device_details">
<i class="icon fw fw-mobile"></i>Device Details <i class="icon fw fw-mobile"></i>Device Details
</a> </a>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<a href="#policy_compliance" role="tab" data-toggle="tab" aria-controls="policy_compliance"> <a href="#policy_compliance" role="tab" data-toggle="tab" aria-controls="policy_compliance">
<i class="icon fw fw-policy"></i>Policy Compliance <i class="icon fw fw-policy"></i>Policy Compliance
</a> </a>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<a href="#device_location" role="tab" data-toggle="tab" <a href="#device_location" role="tab" data-toggle="tab"
data-lat="{{device.viewModel.location.latitude}}" data-lat="{{device.viewModel.location.latitude}}"
data-long="{{device.viewModel.location.longitude}}" data-long="{{device.viewModel.location.longitude}}"
aria-controls="device_location"> aria-controls="device_location">
<i class="icon fw fw-map-location"></i> Device Location <i class="icon fw fw-map-location"></i> Device Location
</a> </a>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<a href="#installed_applications" role="tab" data-toggle="tab" aria-controls="installed_applications"> <a href="#installed_applications" role="tab" data-toggle="tab" aria-controls="installed_applications">
<i class="icon fw fw-application"></i> Installed Applications <i class="icon fw fw-application"></i> Installed Applications
</a> </a>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<a href="#event_log" role="tab" data-toggle="tab" aria-controls="event_log"> <a href="#event_log" role="tab" data-toggle="tab" aria-controls="event_log">
<i class="icon fw fw-text"></i> Operations Log <i class="icon fw fw-text"></i> Operations Log
</a> </a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="media-body remove-padding-xs"> <div class="media-body remove-padding-xs">
{{#defineZone "device-detail-properties"}} {{#defineZone "device-detail-properties"}}
<div class="media-body add-padding-left-5x remove-padding-xs"> <div class="media-body add-padding-left-5x remove-padding-xs">
<div class="panel-group tab-content" id="tabs"> <div class="panel-group tab-content" id="tabs">
<div class="arrow-left hidden-xs"></div> <div class="arrow-left hidden-xs"></div>
<div class="panel panel-default tab-pane fade in active fade-in-xs visible-block" <div class="panel panel-default tab-pane fade in active fade-in-xs visible-block"
id="device_details" role="tabpanel" id="device_details" role="tabpanel"
aria-labelledby="device_details"> aria-labelledby="device_details">
<div class="panel-heading dropup visible-xs" role="tab" id="tab1" data-toggle="collapse" <div class="panel-heading dropup visible-xs" role="tab" id="tab1" data-toggle="collapse"
data-target="#tabContent1" aria-expanded="false" data-parent="#tabs"> data-target="#tabContent1" aria-expanded="false" data-parent="#tabs">
<h4 class="panel-title"> <h4 class="panel-title">
<i class="fw fw-map-location fw-2x"></i> <i class="fw fw-map-location fw-2x"></i>
Device Details Device Details
<i class="caret-updown fw fw-sort-up"></i> <i class="caret-updown fw fw-sort-up"></i>
</h4> </h4>
</div> </div>
<div class="panel-heading display-none-xs">Device Details</div> <div class="panel-heading display-none-xs">Device Details</div>
<div id="loading-content" class="col-centered"> <div id="loading-content" class="col-centered">
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;<i class="fw fw-settings fw-spin fw-2x"></i>&nbsp;&nbsp;&nbsp;Loading Device Details . . .<br> <br><br>&nbsp;&nbsp;&nbsp;&nbsp;<i class="fw fw-settings fw-spin fw-2x"></i>&nbsp;&nbsp;&nbsp;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>
</div>
</div>
</div> </div>
<div class="panel-body collapse display-block-sm display-block-md display-block-lg in" </div>
id="tabContent1"> {{/if}}
<div class="device-detail-body hidden"> {{#if device.viewModel.DeviceCapacity}}
<!-- device summary --> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
{{#equal device.type "windows"}} <div class="col-md-12">
<div class="panel-body"> <div class="wr-stats-board-tile">
Not available yet <div class="tile-name">STORAGE</div>
</div> <div>
<br class="c-both"/> <div class="tile-icon"><i class="fw fw-hdd"></i></div>
{{/equal}} <div class="tile-stats">
{{#if device.viewModel.BatteryLevel}} {{device.viewModel.DeviceCapacityPercentage}} %
<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>
{{/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"> <span class="tile-stats-free">
{{device.viewModel.AvailableDeviceCapacity}} GB Free {{device.viewModel.AvailableDeviceCapacity}} GB Free
</span> </span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{{/if}} {{/if}}
{{#if device.viewModel.internal_memory.FreeCapacity}} {{#if device.viewModel.internal_memory.FreeCapacity}}
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<div class="col-md-12"> <div class="col-md-12">
<div class="wr-stats-board-tile"> <div class="wr-stats-board-tile">
<div class="tile-name">LOCAL STORAGE</div> <div class="tile-name">LOCAL STORAGE</div>
<div> <div>
<div class="tile-icon"><i class="fw fw-hdd"></i></div> <div class="tile-icon"><i class="fw fw-hdd"></i></div>
<div class="tile-stats"> <div class="tile-stats">
{{device.viewModel.internal_memory.DeviceCapacityPercentage}} % {{device.viewModel.internal_memory.DeviceCapacityPercentage}} %
<span class="tile-stats-free"> <span class="tile-stats-free">
{{device.viewModel.internal_memory.FreeCapacity}} GB Free {{device.viewModel.internal_memory.FreeCapacity}} GB Free
</span> </span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{{/if}} {{/if}}
{{#if device.viewModel.external_memory.FreeCapacity}} {{#if device.viewModel.external_memory.FreeCapacity}}
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<div class="col-md-12"> <div class="col-md-12">
<div class="wr-stats-board-tile"> <div class="wr-stats-board-tile">
<div class="tile-name">EXTERNAL STORAGE</div> <div class="tile-name">EXTERNAL STORAGE</div>
<div> <div>
<div class="tile-icon"><i class="fw fw-usb-drive"></i></div> <div class="tile-icon"><i class="fw fw-usb-drive"></i></div>
<div class="tile-stats"> <div class="tile-stats">
{{device.viewModel.external_memory.DeviceCapacityPercentage}} % {{device.viewModel.external_memory.DeviceCapacityPercentage}} %
<span class="tile-stats-free"> <span class="tile-stats-free">
{{device.viewModel.external_memory.FreeCapacity}} GB Free {{device.viewModel.external_memory.FreeCapacity}} GB Free
</span> </span>
</div> </div>
</div> </div>
</div>
</div>
</div>
{{/if}}
</div> </div>
</div> </div>
</div> </div>
<div class="panel panel-default tab-pane fade fade-in-xs visible-block" {{/if}}
id="policy_compliance"> </div>
<div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab2" </div>
data-toggle="collapse" data-target="#tabContent2" aria-expanded="false" </div>
data-parent="#tabs"> <div class="panel panel-default tab-pane fade fade-in-xs visible-block"
<h4 class="panel-title"><i class="fw fw-text fw-2x"></i> id="policy_compliance">
Policy Compliance <div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab2"
<i class="caret-updown fw fw-sort-down"></i> data-toggle="collapse" data-target="#tabContent2" aria-expanded="false"
</h4> data-parent="#tabs">
</div> <h4 class="panel-title"><i class="fw fw-text fw-2x"></i>
<div class="panel-heading display-none-xs"> Policy Compliance
Policy Compliance <i class="caret-updown fw fw-sort-down"></i>
&nbsp;&nbsp; </h4>
</div>
<div class="panel-heading display-none-xs">
Policy Compliance
&nbsp;&nbsp;
<span> <span>
<a href="#" id="refresh-policy"> <a href="#" id="refresh-policy">
<i class="fw fw-refresh"></i> <i class="fw fw-refresh"></i>
</a> </a>
</span> </span>
</div> </div>
<div id="policy-spinner" class="wr-advance-operations-init hidden"> <div id="policy-spinner" class="wr-advance-operations-init hidden">
<br><br> <br><br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
<i class="fw fw-settings fw-spin fw-2x"></i> <i class="fw fw-settings fw-spin fw-2x"></i>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
Loading Policy Compliance . . . Loading Policy Compliance . . .
<br> <br>
<br> <br>
</div> </div>
<div class="panel-body collapse display-block-sm display-block-md display-block-lg" id="tabContent2"> <div class="panel-body collapse display-block-sm display-block-md display-block-lg" id="tabContent2">
<div id="policy-list-container"> <div id="policy-list-container">
<div class="panel-body"> <div class="panel-body">
There is no active policy for this device. There is no active policy for this device.
</div> </div>
<br class="c-both"/> <br class="c-both"/>
</div> </div>
</div> </div>
</div> </div>
<div class="panel panel-default tab-pane fade fade-in-xs visible-block" <div class="panel panel-default tab-pane fade fade-in-xs visible-block"
id="device_location"> id="device_location">
<div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab3" <div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab3"
data-toggle="collapse" data-target="#tabContent3" aria-expanded="false" data-toggle="collapse" data-target="#tabContent3" aria-expanded="false"
data-parent="#tabs"> data-parent="#tabs">
<h4 class="panel-title"> <h4 class="panel-title">
<i class="fw fw-text fw-2x"></i> <i class="fw fw-text fw-2x"></i>
Device Location Device Location
<i class="caret-updown fw fw-sort-down"></i> <i class="caret-updown fw fw-sort-down"></i>
</h4> </h4>
</div> </div>
<div class="panel-heading display-none-xs">Device Location</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" <div class="panel-body collapse display-block-sm display-block-md display-block-lg"
id="tabContent3"> id="tabContent3">
<div id="device-location" <div id="device-location"
data-lat="{{device.viewModel.location.latitude}}" data-lat="{{device.viewModel.location.latitude}}"
data-long="{{device.viewModel.location.longitude}}" data-long="{{device.viewModel.location.longitude}}"
class="panel-body"> class="panel-body">
</div> </div>
<div id="map-error" class="panel-body" style="margin: auto;"> <div id="map-error" class="panel-body" style="margin: auto;">
Device location cannot be retrieved. Device location cannot be retrieved.
</div> </div>
<br class="c-both"/> <br class="c-both"/>
</div> </div>
</div> </div>
<div class="panel panel-default tab-pane fade fade-in-xs visible-block" <div class="panel panel-default tab-pane fade fade-in-xs visible-block"
id="installed_applications"> id="installed_applications">
<div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab4" <div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab4"
data-toggle="collapse" data-target="#tabContent4" aria-expanded="false" data-toggle="collapse" data-target="#tabContent4" aria-expanded="false"
data-parent="#tabs"> data-parent="#tabs">
<h4 class="panel-title"> <h4 class="panel-title">
<i class="fw fw-text fw-2x"></i> <i class="fw fw-text fw-2x"></i>
Installed Applications Installed Applications
<i class="caret-updown fw fw-sort-down"></i></h4> <i class="caret-updown fw fw-sort-down"></i></h4>
</div> </div>
<div class="panel-heading display-none-xs"> <div class="panel-heading display-none-xs">
Installed Applications Installed Applications
&nbsp;&nbsp; &nbsp;&nbsp;
<span> <span>
<a href="#" id="refresh-apps"> <a href="#" id="refresh-apps">
<i class="fw fw-refresh"></i> <i class="fw fw-refresh"></i>
</a> </a>
</span> </span>
</div> </div>
<div class="panel-body collapse display-block-sm display-block-md display-block-lg" <div class="panel-body collapse display-block-sm display-block-md display-block-lg"
id="tabContent4"> id="tabContent4">
<div id="apps-spinner" class="wr-advance-operations-init hidden"> <div id="apps-spinner" class="wr-advance-operations-init hidden">
<br><br> <br><br>
&nbsp;&nbsp;&nbsp;&nbsp;<i class="fw fw-settings fw-spin fw-2x"></i> &nbsp;&nbsp;&nbsp;&nbsp;<i class="fw fw-settings fw-spin fw-2x"></i>
&nbsp;&nbsp;&nbsp;Loading Applications List . . .<br><br> &nbsp;&nbsp;&nbsp;Loading Applications List . . .<br><br>
</div> </div>
<div id="applications-list-container"> <div id="applications-list-container">
<div class="panel-body"> <div class="panel-body">
<br> <br>
<p class="fw-warning"> <p class="fw-warning">
No applications found. please try refreshing the list in a while. No applications found. please try refreshing the list in a while.
<p> <p>
</div> </div>
<br class="c-both"/> <br class="c-both"/>
</div> </div>
</div> </div>
</div> </div>
<div class="panel panel-default tab-pane fade fade-in-xs visible-block" id="event_log"> <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" <div class="panel-heading dropdown visible-xs collapsed" role="tab" id="tab5"
data-toggle="collapse" data-target="#tabContent5" aria-expanded="false" data-toggle="collapse" data-target="#tabContent5" aria-expanded="false"
data-parent="#tabs"> data-parent="#tabs">
<h4 class="panel-title"> <h4 class="panel-title">
<i class="fw fw-text fw-2x"></i> <i class="fw fw-text fw-2x"></i>
Operations Logs Operations Logs
<i class="caret-updown fw fw-sort-down"></i> <i class="caret-updown fw fw-sort-down"></i>
</h4> </h4>
</div> </div>
<div class="panel-heading display-none-xs"> <div class="panel-heading display-none-xs">
Operations Logs Operations Logs
&nbsp;&nbsp; &nbsp;&nbsp;
<span> <span>
<a href="#" id="refresh-operations"> <a href="#" id="refresh-operations">
<i class="fw fw-refresh"></i> <i class="fw fw-refresh"></i>
</a> </a>
</span> </span>
</div> </div>
<div class="panel-body collapse display-block-sm display-block-md display-block-lg" <div class="panel-body collapse display-block-sm display-block-md display-block-lg"
id="tabContent5"> id="tabContent5">
<div id="operations-spinner" class="wr-advance-operations-init hidden"> <div id="operations-spinner" class="wr-advance-operations-init hidden">
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;<i class="fw fw-settings fw-spin fw-2x"></i>&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;<i class="fw fw-settings fw-spin fw-2x"></i>&nbsp;&nbsp;&nbsp;
Loading Operations Log . . . Loading Operations Log . . .
<br><br> <br><br>
</div> </div>
<div id="operations-log-container"> <div id="operations-log-container">
<div class="panel-body"> <div class="panel-body">
There are no operations, performed yet on this device. There are no operations, performed yet on this device.
</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>
<br class="c-both"/>
</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> </div>
{{/defineZone}}
</div> </div>
</div> </div>
</div>
</div>
{{/defineZone}}
</div>
</div>
{{else}}
<h1 class="page-sub-title">
Permission Denied
</h1>
<br>
You are not authorized to view specified device in the system.
{{/if}}
{{/zone}} {{/zone}}
{{#zone "bottomJs"}} {{#zone "bottomJs"}}
<script id="policy-view" src="{{@unit.publicUri}}/templates/policy-compliance.hbs" {{#if isAuthorized}}
data-device-id="{{device.deviceIdentifier}}" data-device-type="{{device.type}}" <script id="policy-view" src="{{@unit.publicUri}}/templates/policy-compliance.hbs"
type="text/x-handlebars-template"></script> data-device-id="{{device.deviceIdentifier}}" data-device-type="{{device.type}}"
<script id="applications-list" src="{{@unit.publicUri}}/templates/applications-list.hbs" type="text/x-handlebars-template"></script>
data-device-id="{{device.deviceIdentifier}}" data-device-type="{{device.type}}" <script id="applications-list" src="{{@unit.publicUri}}/templates/applications-list.hbs"
type="text/x-handlebars-template"></script> data-device-id="{{device.deviceIdentifier}}" data-device-type="{{device.type}}"
<script id="operations-log" src="{{@unit.publicUri}}/templates/operations-log.hbs" type="text/x-handlebars-template"></script>
data-device-id="{{device.deviceIdentifier}}" data-device-type="{{device.type}}" <script id="operations-log" src="{{@unit.publicUri}}/templates/operations-log.hbs"
type="text/x-handlebars-template"></script> data-device-id="{{device.deviceIdentifier}}" data-device-type="{{device.type}}"
{{js "js/device-detail.js"}} type="text/x-handlebars-template"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script> {{js "js/device-detail.js"}}
{{js "js/load-map.js"}} <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
{{js "js/load-map.js"}}
{{/if}}
{{/zone}} {{/zone}}

@ -17,7 +17,7 @@
*/ */
function onRequest(context) { function onRequest(context) {
var log = new Log("view.js"); // var log = new Log("view.js");
var deviceType = context.uriParams.deviceType; var deviceType = context.uriParams.deviceType;
var deviceId = request.getParameter("id"); var deviceId = request.getParameter("id");
var deviceData = {}; var deviceData = {};
@ -26,6 +26,8 @@ function onRequest(context) {
var deviceModule = require("/app/modules/business-controllers/device.js")["deviceModule"]; var deviceModule = require("/app/modules/business-controllers/device.js")["deviceModule"];
var response = deviceModule.viewDevice(deviceType, deviceId); var response = deviceModule.viewDevice(deviceType, deviceId);
if (response["status"] == "success") { if (response["status"] == "success") {
deviceData["isAuthorized"] = true;
var device = response["content"]; var device = response["content"];
var viewModel = {}; var viewModel = {};
var deviceInfo = device["properties"]["DEVICE_INFO"]; var deviceInfo = device["properties"]["DEVICE_INFO"];
@ -54,8 +56,7 @@ function onRequest(context) {
viewModel["vendor"] = device["properties"]["VENDOR"]; viewModel["vendor"] = device["properties"]["VENDOR"];
var osBuildDate = device["properties"]["OS_BUILD_DATE"]; var osBuildDate = device["properties"]["OS_BUILD_DATE"];
if (osBuildDate != null && osBuildDate != "0") { if (osBuildDate != null && osBuildDate != "0") {
var formattedDate = new Date(osBuildDate * 1000); viewModel["os_build_date"] = new Date(osBuildDate * 1000);
viewModel["os_build_date"] = formattedDate;
} }
viewModel["internal_memory"] = {}; viewModel["internal_memory"] = {};
viewModel["external_memory"] = {}; viewModel["external_memory"] = {};
@ -96,6 +97,8 @@ function onRequest(context) {
device["viewModel"] = viewModel; device["viewModel"] = viewModel;
} }
deviceData["device"] = device; deviceData["device"] = device;
} else if (response["status"] == "unauthorized") {
deviceData["isAuthorized"] = false;
} }
return deviceData; return deviceData;
} }

Loading…
Cancel
Save