From e6333438b9a6e6b76afdd521eb603d89ea7a88e2 Mon Sep 17 00:00:00 2001 From: Kamidu Punchihewa Date: Mon, 13 Mar 2017 17:01:54 +0530 Subject: [PATCH 01/17] ading role filtering and ui fixes --- .../pages/cdmf.page.role.create/create.hbs | 41 ++++++------- .../app/pages/cdmf.page.role.create/create.js | 3 +- .../public/js/bottomJs.js | 37 +++++++----- .../cdmf.page.roles/public/js/role-listing.js | 57 +++++++++++++------ .../app/pages/cdmf.page.roles/roles.hbs | 31 +++++----- 5 files changed, 102 insertions(+), 67 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.hbs index befe1a7d1c..ce2b46759f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.hbs @@ -39,14 +39,15 @@ {{#zone "content"}} {{#if canManage}} - -
-
- -
+ +
+
+ +

Add Role

-
+
@@ -62,10 +63,10 @@
-
+
-

-
+

+
@@ -91,7 +92,7 @@
+ data-error-msg="{{roleNameRegExViolationErrorMsg}}" class="form-control"/>
{{#if canViewUsers}} - + -
- - -
+
+ + +
{{/if}}
@@ -119,7 +120,7 @@

Role was added successfully.


Please click "Add Another Role", if you wish to add another role or click "View Role List" to complete the process and go back to the role list. -
+
@@ -136,8 +137,8 @@
-
- +
+ {{else}}

Permission Denied diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.js index ca91072d12..77ff1d04f5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.js @@ -18,7 +18,7 @@ /** * Returns the dynamic state to be populated by add-user page. - * + * * @param context Object that gets updated with the dynamic state of this page to be presented * @returns {*} A displayData object that returns the dynamic state of this page to be presented */ @@ -38,6 +38,7 @@ function onRequest(context) { if (userModule.isAuthorized("/permission/admin/device-mgt/users/view")) { displayData.canViewUsers = true; } + displayData.isCloud = deviceMgtProps.isCloud; return displayData; } \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/public/js/bottomJs.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/public/js/bottomJs.js index 2cb8292af7..e070c05835 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/public/js/bottomJs.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/public/js/bottomJs.js @@ -33,6 +33,8 @@ var clearInline = {}; var apiBasePath = "/api/device-mgt/v1.0"; var domain = $("#domain").val(); +var isCloud = $("#role-create-form").data("cloud"); + var enableInlineError = function (inputField, errorMsg, errorSign) { var fieldIdentifier = "#" + inputField; @@ -84,18 +86,18 @@ clearInline["role-name"] = function () { validateInline["role-name"] = function () { var roleNameInput = $("input#roleName"); var roleName = roleNameInput.val(); - if (inputIsValid( roleNameInput.data("regex"), roleName) && roleName.indexOf("@") < 0 && roleName.indexOf("/") < 0) { + if (inputIsValid(roleNameInput.data("regex"), roleName) && roleName.indexOf("@") < 0 && roleName.indexOf("/") < 0) { disableInlineError("roleNameField", "roleNameEmpty", "roleNameError"); } else { enableInlineError("roleNameField", "roleNameEmpty", "roleNameError"); } }; -function formatRepo (user) { +function formatRepo(user) { if (user.loading) { return user.text } - if (!user.username){ + if (!user.username) { return; } var markup = '
' + @@ -103,20 +105,22 @@ function formatRepo (user) { '
' + '
' + user.username + '
'; if (user.name || user.name != undefined) { - markup += '
( ' + user.name + ' )
'; + markup += '
( ' + user.name + ' )
'; } markup += '

'; return markup; } -function formatRepoSelection (user) { +function formatRepoSelection(user) { return user.username || user.text; } $(document).ready(function () { + isCloud = $("#role-create-form").data("cloud"); + var appContext = $("#app-context").data("app-context"); $("#users").select2({ - multiple:true, + multiple: true, tags: false, ajax: { url: appContext + "/api/invoker/execute/", @@ -140,7 +144,7 @@ $(document).ready(function () { var user = {}; user.id = value.username; user.username = value.username; - if(value.firstname && value.lastname) { + if (value.firstname && value.lastname) { user.name = value.firstname + " " + value.lastname; } newData.push(user); @@ -151,7 +155,9 @@ $(document).ready(function () { }, cache: true }, - escapeMarkup: function (markup) { return markup; }, // let our custom formatter work + escapeMarkup: function (markup) { + return markup; + }, // let our custom formatter work minimumInputLength: 1, templateResult: formatRepo, // omitted for brevity, see the source of this page templateSelection: formatRepoSelection // omitted for brevity, see the source of this page @@ -163,6 +169,7 @@ $(document).ready(function () { * on Add Role page in WSO2 MDM Console. */ $("button#add-role-btn").click(function () { + var domain = $("#domain").val(); var roleNameInput = $("input#roleName"); var roleName = roleNameInput.val(); @@ -185,8 +192,12 @@ $(document).ready(function () { $(errorMsgWrapper).removeClass("hidden"); } else { var addRoleFormData = {}; - addRoleFormData.roleName = roleName; - if (domain != "PRIMARY"){ + if (isCloud) { + addRoleFormData.roleName = "devicemgt" + roleName; + } else { + addRoleFormData.roleName = roleName; + } + if (domain != "PRIMARY") { addRoleFormData.roleName = domain + "/" + roleName; } if (users == null) { @@ -220,16 +231,16 @@ $(document).ready(function () { }); var roleNameInputElement = "#roleName"; - $(roleNameInputElement).focus(function() { + $(roleNameInputElement).focus(function () { clearInline["role-name"](); }); - $(roleNameInputElement).blur(function() { + $(roleNameInputElement).blur(function () { validateInline["role-name"](); }); /* When the user store domain value is changed, the users who are assigned to that role should be removed, as - user and role can be mapped only if both are in same user store + user and role can be mapped only if both are in same user store */ $("#domain").change(function () { $("#users").select2("val", ""); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/public/js/role-listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/public/js/role-listing.js index 98749decd7..6899f98fb2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/public/js/role-listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/public/js/role-listing.js @@ -37,6 +37,7 @@ var modalPopupContainer = modalPopup + " .modal-content"; var modalPopupContent = modalPopup + " .modal-content"; var body = "body"; var isInit = true; +var isCloud = false; /** @@ -72,7 +73,7 @@ function showPopup() { function hidePopup() { $(modalPopupContent).html(''); $(modalPopup).modal('hide'); - $('body').removeClass('modal-open').css('padding-right','0px'); + $('body').removeClass('modal-open').css('padding-right', '0px'); $('.modal-backdrop').remove(); } @@ -86,11 +87,12 @@ function InitiateViewOption() { // $(location).attr('href', $(this).data("url")); } -function htmlspecialchars(text){ +function htmlspecialchars(text) { return jQuery('
').text(text).html(); } function loadRoles() { + isCloud = $("#role-table").data("cloud"); var loadingContent = $("#loading-content"); loadingContent.show(); @@ -98,21 +100,40 @@ function loadRoles() { data = JSON.parse(data); var objects = []; - + var count = 0; $(data.roles).each(function (index) { - objects.push( - { - name: htmlspecialchars(data.roles[index]), - DT_RowId: "role-" + htmlspecialchars(data.roles[index]) - } - ) + if (isCloud && data.roles[index].startsWith("devicemgt")) { + count++; + objects.push( + { + name: htmlspecialchars(data.roles[index]), + DT_RowId: "role-" + htmlspecialchars(data.roles[index]) + } + ) + } else if (!isCloud) { + objects.push( + { + name: htmlspecialchars(data.roles[index]), + DT_RowId: "role-" + htmlspecialchars(data.roles[index]) + } + ) + } }); - var json = { - "recordsTotal": data.count, - "recordsFiltered": data.count, - "data": objects - }; + var json = {}; + if (isCloud) { + json = { + "recordsTotal": count, + "recordsFiltered": count, + "data": objects + }; + } else { + json = { + "recordsTotal": data.count, + "recordsFiltered": data.count, + "data": objects + }; + } return JSON.stringify(json); }; @@ -143,13 +164,13 @@ function loadRoles() { data: null, render: function (data, type, row, meta) { var isCloud = false; - if ($('#is-cloud').length > 0){ + if ($('#is-cloud').length > 0) { isCloud = true; } - var innerhtml = ''; + var innerhtml = ''; - var editLink = '' + @@ -179,7 +200,7 @@ function loadRoles() { '' + ''; - var removeLink = '' + '' + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/roles.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/roles.hbs index 962a7f3cea..47e8181218 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/roles.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/roles.hbs @@ -36,39 +36,40 @@ {{#zone "navbarActions"}} {{#unless isCloud}} -
  • - - +
  • + + - Add Role - -
  • + Add Role + + {{/unless}} {{/zone}} {{#zone "content"}}
    {{#unless isCloud}} - {{#if removePermitted}} - - {{/if}} - {{#if editPermitted}} - - {{/if}} + {{#if removePermitted}} + + {{/if}} + {{#if editPermitted}} + + {{/if}} {{/unless}} {{#if isCloud}} - + {{/if}} Loading roles . . .
    -
    - +
    +
    From 3e72231d5bddb92a0f81d14fffb62e18956380e0 Mon Sep 17 00:00:00 2001 From: Kamidu Punchihewa Date: Mon, 13 Mar 2017 17:08:54 +0530 Subject: [PATCH 02/17] code cleanup results --- .../public/js/user-menu.js | 6 +++--- .../units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/public/js/user-menu.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/public/js/user-menu.js index fe5ac86b97..edd143481b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/public/js/user-menu.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/public/js/user-menu.js @@ -18,11 +18,11 @@ $(document).ready(function () { $('#cloud-menu-popover i.fw-tiles').popover({ html: true, - trigger:'click', - title: function() { + trigger: 'click', + title: function () { return $("#popover-head").html(); }, - content: function() { + content: function () { return $("#popover-content").html(); } }); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs index 69562888a0..c9016ccf3e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs @@ -22,7 +22,7 @@ {{#if this.dropDownVisible}} class="dropdown" data-toggle="dropdown" {{/if}} - title = " + title=" {{#if this.isDomain }} {{@user.domain}} {{else}} From e063fd0da9eb83fbf405d05e80cf72ef5382ec08 Mon Sep 17 00:00:00 2001 From: Kamidu Punchihewa Date: Mon, 13 Mar 2017 17:11:07 +0530 Subject: [PATCH 03/17] code cleanup results --- .../public/js/user-menu.js | 6 +++--- .../units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/public/js/user-menu.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/public/js/user-menu.js index fe5ac86b97..edd143481b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/public/js/user-menu.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/public/js/user-menu.js @@ -18,11 +18,11 @@ $(document).ready(function () { $('#cloud-menu-popover i.fw-tiles').popover({ html: true, - trigger:'click', - title: function() { + trigger: 'click', + title: function () { return $("#popover-head").html(); }, - content: function() { + content: function () { return $("#popover-content").html(); } }); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs index 69562888a0..c9016ccf3e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.cloud.user-menu/user-menu.hbs @@ -22,7 +22,7 @@ {{#if this.dropDownVisible}} class="dropdown" data-toggle="dropdown" {{/if}} - title = " + title=" {{#if this.isDomain }} {{@user.domain}} {{else}} From 3ff2c9894f04e5931e1d328380b27a227320b437 Mon Sep 17 00:00:00 2001 From: kamidu Date: Tue, 14 Mar 2017 14:06:22 +0530 Subject: [PATCH 04/17] role filtering for device cloud is enabled --- .../pages/cdmf.page.role.create/create.hbs | 60 +++++++++-------- .../app/units/cdmf.unit.role.edit/edit.hbs | 64 +++++++++++-------- .../app/units/cdmf.unit.role.edit/edit.js | 1 + .../cdmf.unit.role.edit/public/js/bottomJs.js | 38 +++++++---- 4 files changed, 98 insertions(+), 65 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.hbs index ce2b46759f..45411b407f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.role.create/create.hbs @@ -88,17 +88,25 @@ - + {{#if isCloud}} +
    + + devicemgt + + {{else}}
    - - -
    + {{/if}} + + +
    {{#if canViewUsers}}
    By Role Name