Adding notification and fixing QR code

merge-requests/7/head
Ace 8 years ago
parent c63818b78f
commit 0d94a293a4

@ -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}}
Loading…
Cancel
Save