mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt
This commit is contained in:
commit
5ed3174a28
@ -225,6 +225,8 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager {
|
|||||||
throw new DeviceDetailsMgtException("SQL error occurred while retrieving device from database.", e);
|
throw new DeviceDetailsMgtException("SQL error occurred while retrieving device from database.", e);
|
||||||
} catch (DeviceDetailsMgtDAOException e) {
|
} catch (DeviceDetailsMgtDAOException e) {
|
||||||
throw new DeviceDetailsMgtException("Exception occurred while retrieving device locations.", e);
|
throw new DeviceDetailsMgtException("Exception occurred while retrieving device locations.", e);
|
||||||
|
} finally{
|
||||||
|
DeviceManagementDAOFactory.closeConnection();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -16,8 +16,8 @@
|
|||||||
under the License.
|
under the License.
|
||||||
}}
|
}}
|
||||||
{{#zone "bottomJs"}}
|
{{#zone "bottomJs"}}
|
||||||
{{js "js/jquery.qrcode.min.js"}}
|
{{js "js/jquery.qrcode.min.js"}}
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var modalPopup = '.wr-modalpopup',
|
var modalPopup = '.wr-modalpopup',
|
||||||
modalPopupContainer = modalPopup + ' .modalpopup-container',
|
modalPopupContainer = modalPopup + ' .modalpopup-container',
|
||||||
modalPopupContent = modalPopup + ' .modalpopup-content';
|
modalPopupContent = modalPopup + ' .modalpopup-content';
|
||||||
@ -30,7 +30,6 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* set popup maximum height function.
|
* set popup maximum height function.
|
||||||
*/
|
*/
|
||||||
@ -38,14 +37,13 @@
|
|||||||
var maxHeight = "max-height";
|
var maxHeight = "max-height";
|
||||||
var marginTop = "margin-top";
|
var marginTop = "margin-top";
|
||||||
var body = "body";
|
var body = "body";
|
||||||
$(modalPopupContent).css(maxHeight, ($(body).height() - ($(body).height()/100 * 30)));
|
$(modalPopupContainer).css(marginTop, (-($(modalPopupContainer).height() / 2)));
|
||||||
$(modalPopupContainer).css(marginTop, (-($(modalPopupContainer).height()/2)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* show popup function.
|
* show popup function.
|
||||||
*/
|
*/
|
||||||
function showPopup() {
|
function showQRCodePopup() {
|
||||||
$(modalPopup).show();
|
$(modalPopup).show();
|
||||||
setPopupMaxHeight();
|
setPopupMaxHeight();
|
||||||
}
|
}
|
||||||
@ -67,5 +65,12 @@
|
|||||||
height: 200
|
height: 200
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function toggleEnrollment(){
|
||||||
|
$(".modalpopup-content").html($("#qr-code-modal").html());
|
||||||
|
generateQRCode(".modalpopup-content .qr-code");
|
||||||
|
showQRCodePopup();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|||||||
@ -99,29 +99,6 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "navbarBelow"}}
|
|
||||||
<div id="qr-code-modal" data-enrollment-url="{{enrollmentURL}}" class="hidden">
|
|
||||||
<div class="content">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-5 col-md-6 col-centered">
|
|
||||||
<h3>
|
|
||||||
Scan QR code to start enrollment
|
|
||||||
</h3>
|
|
||||||
<h4>
|
|
||||||
Please scan the QR code using your mobile device to retrieve enrollment URL.
|
|
||||||
</h4>
|
|
||||||
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-body col-centered ">
|
|
||||||
<div class="qr-code"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{/zone}}
|
|
||||||
{{#zone "sidePanes"}}
|
{{#zone "sidePanes"}}
|
||||||
<div class="sidebar-wrapper" id="right-sidebar" is-authorized="{{isAuthorizedForNotifications}}"
|
<div class="sidebar-wrapper" id="right-sidebar" is-authorized="{{isAuthorizedForNotifications}}"
|
||||||
data-side="right" data-width="320" data-sidebar-fixed="true" data-fixed-offset="50" data-spy="affix"
|
data-side="right" data-width="320" data-sidebar-fixed="true" data-fixed-offset="50" data-spy="affix"
|
||||||
@ -137,5 +114,4 @@
|
|||||||
data-image-resource="{{self.publicURL}}/images/" src="{{self.publicURL}}/templates/notifications.hbs"
|
data-image-resource="{{self.publicURL}}/images/" src="{{self.publicURL}}/templates/notifications.hbs"
|
||||||
type="text/x-handlebars-template"></script>
|
type="text/x-handlebars-template"></script>
|
||||||
{{js "js/nav-menu.js"}}
|
{{js "js/nav-menu.js"}}
|
||||||
{{js "js/jquery.qrcode.min.js"}}
|
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|||||||
@ -1,28 +1,56 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2015, 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
|
||||||
* in compliance with the License.
|
* in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function onRequest(context) {
|
function onRequest(context) {
|
||||||
var userModule = require("/app/modules/user.js").userModule;
|
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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var userModule = require("/app/modules/user.js")["userModule"];
|
||||||
|
var mdmProps = require('/app/conf/reader/main.js')["conf"];
|
||||||
var constants = require("/app/modules/constants.js");
|
var constants = require("/app/modules/constants.js");
|
||||||
var carbonUser = session.get(constants.USER_SESSION_KEY);
|
var uiPermissions = userModule.getUIPermissions();
|
||||||
var page_data = {};
|
context["permissions"] = uiPermissions;
|
||||||
if (carbonUser){
|
|
||||||
page_data.permissions = userModule.getUIPermissions();
|
var links = {
|
||||||
}
|
"user-mgt": [],
|
||||||
return page_data;
|
"role-mgt": [],
|
||||||
|
"policy-mgt": [],
|
||||||
|
"device-mgt": []
|
||||||
|
};
|
||||||
|
|
||||||
|
// following context.link value comes here based on the value passed at the point
|
||||||
|
// where units are attached to a page zone.
|
||||||
|
// eg: {{unit "appbar" pageLink="users" title="User Management"}}
|
||||||
|
context["currentActions"] = links[context["pageLink"]];
|
||||||
|
context["enrollmentURL"] = mdmProps["generalConfig"]["host"] + mdmProps["enrollmentDir"];
|
||||||
|
var isAuthorizedForNotifications =
|
||||||
|
userModule.isAuthorized("/permission/admin/device-mgt/emm-admin/notifications/view");
|
||||||
|
var currentUser = session.get(constants["USER_SESSION_KEY"]);
|
||||||
|
context["isAuthorizedForNotifications"] = isAuthorizedForNotifications;
|
||||||
|
context["currentUser"] = currentUser;
|
||||||
|
context["appContext"] = mdmProps["appContext"];
|
||||||
|
|
||||||
|
return context;
|
||||||
}
|
}
|
||||||
@ -22,15 +22,6 @@ var modalPopup = ".wr-modalpopup",
|
|||||||
|
|
||||||
var emmAdminBasePath = "/api/device-mgt/v1.0";
|
var emmAdminBasePath = "/api/device-mgt/v1.0";
|
||||||
|
|
||||||
//function openCollapsedNav() {
|
|
||||||
// $(".wr-hidden-nav-toggle-btn").addClass("active");
|
|
||||||
// $("#hiddenNav").slideToggle("slideDown", function () {
|
|
||||||
// if ($(this).css("display") == "none") {
|
|
||||||
// $(".wr-hidden-nav-toggle-btn").removeClass("active");
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
//}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* set popup maximum height function.
|
* set popup maximum height function.
|
||||||
*/
|
*/
|
||||||
@ -59,24 +50,6 @@ function hidePopup() {
|
|||||||
$(modalPopup).hide();
|
$(modalPopup).hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* QR-code generation function.
|
|
||||||
*/
|
|
||||||
function generateQRCode(qrCodeClass) {
|
|
||||||
var enrollmentURL = $("#qr-code-modal").data("enrollment-url");
|
|
||||||
$(qrCodeClass).qrcode({
|
|
||||||
text: enrollmentURL,
|
|
||||||
width: 200,
|
|
||||||
height: 200
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleEnrollment() {
|
|
||||||
$(".modalpopup-content").html($("#qr-code-modal").html());
|
|
||||||
generateQRCode(".modalpopup-content .qr-code");
|
|
||||||
showPopup();
|
|
||||||
}
|
|
||||||
|
|
||||||
var updateNotificationCount = function (data, textStatus, jqXHR) {
|
var updateNotificationCount = function (data, textStatus, jqXHR) {
|
||||||
if (jqXHR.status == 200 && data) {
|
if (jqXHR.status == 200 && data) {
|
||||||
var responsePayload = JSON.parse(data);
|
var responsePayload = JSON.parse(data);
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
{{#each notifications}}
|
{{#each notifications}}
|
||||||
<li class="message message-info" data-type="selectable" >
|
<li class="message message-info" data-type="selectable" >
|
||||||
<h4>
|
<h4>
|
||||||
<i class="icon fw fw-info"></i>
|
<i class="icon fw fw-info"></i>
|
||||||
<a href="device?type={{deviceIdentifier.type}}&id={{deviceIdentifier.id}}"
|
<a href="device?type={{deviceIdentifier.type}}&id={{deviceIdentifier.id}}"
|
||||||
data-id="{{notificationId}}"
|
data-id="{{notificationId}}"
|
||||||
data-url="device?type={{deviceIdentifier.type}}&id={{deviceIdentifier.id}}"
|
data-url="device?type={{deviceIdentifier.type}}&id={{deviceIdentifier.id}}"
|
||||||
class="new-notification" data-click-event="remove-form">
|
class="new-notification" data-click-event="remove-form">
|
||||||
Device Type : {{deviceIdentifier.type}}
|
Device Type : {{deviceIdentifier.type}}
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
<p>{{description}}</p>
|
<p>{{description}}</p>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -245,7 +245,7 @@ public class FeatureManagerImpl implements FeatureManager {
|
|||||||
@Override
|
@Override
|
||||||
public List<ProfileFeature> getFeaturesForProfile(int profileId) throws FeatureManagementException {
|
public List<ProfileFeature> getFeaturesForProfile(int profileId) throws FeatureManagementException {
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
PolicyManagementDAOFactory.openConnection();
|
||||||
return featureDAO.getFeaturesForProfile(profileId);
|
return featureDAO.getFeaturesForProfile(profileId);
|
||||||
} catch (FeatureManagerDAOException e) {
|
} catch (FeatureManagerDAOException e) {
|
||||||
throw new FeatureManagementException("Error occurred while getting the features", e);
|
throw new FeatureManagementException("Error occurred while getting the features", e);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user