summaryrefslogtreecommitdiffstats
path: root/auth/src/main/webapp/user/js
diff options
context:
space:
mode:
Diffstat (limited to 'auth/src/main/webapp/user/js')
-rw-r--r--auth/src/main/webapp/user/js/createUser.js123
-rw-r--r--auth/src/main/webapp/user/js/modifyUser.js154
-rw-r--r--auth/src/main/webapp/user/js/user.js26
3 files changed, 301 insertions, 2 deletions
diff --git a/auth/src/main/webapp/user/js/createUser.js b/auth/src/main/webapp/user/js/createUser.js
index 726d5993..71a8d566 100644
--- a/auth/src/main/webapp/user/js/createUser.js
+++ b/auth/src/main/webapp/user/js/createUser.js
@@ -16,12 +16,14 @@
$(document).ready(function() {
var USER_SERVICE = "/openoapi/auth/v1/users";
+ var ROLE_SERVICE = "/openoapi/auth/v1/roles";
var $userName = $("#userName");
var $password = $("#password");
var $cfPsdError = $("#cfPsdError");
var $userNameError = $("#userNameError");
var $passwordError = $("#passwordError");
-
+ var $rolesError = $("#rolesError");
+ var roleMap=[];
function initialPage() {
/*initial the event*/
$("#confirm").click(function(e) {
@@ -36,6 +38,110 @@ $(document).ready(function() {
$("#cancel").click(function(e) {
window.document.location = "/openoui/user/user.html";
})
+ //get and initialize roles
+ getRolesList().done(function(data) {
+ var data = formatRoles(data);
+ for (var i = 0; i < data.length; i++) {
+ var html = '<li><input type="checkbox" value="' + data[i].name + '"/>' + data[i].name + '</li>';
+ $('.mutliSelect ul').append(html);
+ }
+ })
+
+ //init listener
+ $(".dropdown dt a").on('click', function() {
+ $(".dropdown dd ul").slideToggle('fast');
+ });
+
+ $(".dropdown dd ul li a").on('click', function() {
+ $(".dropdown dd ul").hide();
+ });
+
+ function getSelectedValue(id) {
+ return $("#" + id).find("dt a span.value").html();
+ }
+
+ $(document).bind('click', function(e) {
+ var $clicked = $(e.target);
+ if (!$clicked.parents().hasClass("dropdown")) $(".dropdown dd ul").hide();
+ });
+
+ $('.mutliSelect input[type="checkbox"]').on('click', function() {
+ if($('.hida')[0].innerHTML=='Please select roles')
+ {
+ $('.hida')[0].innerHTML='';
+ }
+
+ var title;
+ if($('.multiSel').text() ==='')
+ {
+ title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(),
+ title = $(this).val();
+ }
+ else
+ {
+ title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(),
+ title ="," + $(this).val();
+
+ }
+ var oldText=$('.hida')[0].innerHTML;
+ if ($(this).is(':checked')) {
+ if(oldText.length>0)
+ {
+ $('.hida')[0].innerHTML=oldText+','+title;
+ }
+ else
+ {
+ $('.hida')[0].innerHTML=title;
+ }
+
+ } else {
+
+ var rolesData = oldText.split(',');
+ var rolesList='';
+ for (var i = 0; i < rolesData.length ; i++) {
+ if(title!=rolesData[i])
+ {
+ if(i==0 || rolesList.length==0 )
+ {
+ rolesList=rolesData[i];
+ }
+ else
+ {
+ rolesList=rolesList+','+rolesData[i];
+ }
+ }
+ }
+ if(rolesList.length ==0)
+ {
+ rolesList='Please select roles';
+ }
+ $('.hida')[0].innerHTML=rolesList;
+
+ }
+ });
+
+ }
+
+ function getRolesList() {
+ return Rest.http({
+ url: ROLE_SERVICE + "?=" + new Date().getTime(),
+ type: "GET",
+ async: false,
+ contentType: 'application/json',
+ dataType: "json"
+ })
+ }
+
+ function formatRoles(data) {
+ var rolesData = [];
+ for (var i = 0; i < data.roles.length; i++) {
+ var temp = {};
+ temp.roleid = data.roles[i].id;
+ temp.name = data.roles[i].name;
+ rolesData.push(temp);
+ roleMap[temp.name]=temp.roleid;
+ }
+ return rolesData;
}
function getCreateUser() {
@@ -44,6 +150,16 @@ $(document).ready(function() {
data.password = $password.val();
data.description = $("#description").val();
data.email = "xxxx@xxxx.com";
+ //get roles
+ var roles=[];
+ var rolesData = $('.hida').text().split(',');
+ for (var i = 0; i < rolesData.length ; i++) {
+ var temp = {};
+ temp.name=rolesData[i];
+ temp.id=roleMap[rolesData[i]];
+ roles.push(temp);
+ }
+ data.roles=roles;
return data;
}
@@ -87,6 +203,11 @@ $(document).ready(function() {
showError($passwordError, "Mandatory.");
return false;
}
+ if($('.hida')[0].innerHTML=='Please select roles')
+ {
+ showError($rolesError, "Mandatory.");
+ return false;
+ }
return true;
}
diff --git a/auth/src/main/webapp/user/js/modifyUser.js b/auth/src/main/webapp/user/js/modifyUser.js
index 04cf054f..73579553 100644
--- a/auth/src/main/webapp/user/js/modifyUser.js
+++ b/auth/src/main/webapp/user/js/modifyUser.js
@@ -15,13 +15,88 @@
*/
$(document).ready(function() {
var USER_SERVICE = "/openoapi/auth/v1/users";
+ var ROLE_SERVICE = "/openoapi/auth/v1/roles";
var userId;
+ var roleMap=[];
function initialPage() {
userId = getId();
getUserDetails(userId).done(function(data) {
listUserDetails(data);
});
+ //init listener
+ $(".dropdown dt a").on('click', function() {
+ $(".dropdown dd ul").slideToggle('fast');
+ });
+
+ $(".dropdown dd ul li a").on('click', function() {
+ $(".dropdown dd ul").hide();
+ });
+
+ function getSelectedValue(id) {
+ return $("#" + id).find("dt a span.value").html();
+ }
+
+ $(document).bind('click', function(e) {
+ var $clicked = $(e.target);
+ if (!$clicked.parents().hasClass("dropdown")) $(".dropdown dd ul").hide();
+ });
+
+ $('.mutliSelect input[type="checkbox"]').on('click', function() {
+ if($('.hida')[0].innerHTML=='Please select roles')
+ {
+ $('.hida')[0].innerHTML='';
+ }
+
+ var title;
+ if($('.multiSel').text() ==='')
+ {
+ title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(),
+ title = $(this).val();
+ }
+ else
+ {
+ title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(),
+ title ="," + $(this).val();
+
+ }
+ var oldText=$('.hida')[0].innerHTML;
+ if ($(this).is(':checked')) {
+ if(oldText.length>0)
+ {
+ $('.hida')[0].innerHTML=oldText+','+title;
+ }
+ else
+ {
+ $('.hida')[0].innerHTML=title;
+ }
+
+ } else {
+
+ var rolesData = oldText.split(',');
+ var rolesList='';
+ for (var i = 0; i < rolesData.length ; i++) {
+ if(title!=rolesData[i])
+ {
+ if(i==0 || rolesList.length==0 )
+ {
+ rolesList=rolesData[i];
+ }
+ else
+ {
+ rolesList=rolesList+','+rolesData[i];
+ }
+ }
+ }
+ if(rolesList.length ==0)
+ {
+ rolesList='Please select roles';
+ }
+ $('.hida')[0].innerHTML=rolesList;
+
+ }
+ });
+
/*initial the event*/
$("#confirm").click(function(e) {
var data = getModifyUser();
@@ -38,6 +113,16 @@ $(document).ready(function() {
var data = {};
data.description = $("#description").val();
data.email = "xxxx@xxxx.com";
+ //get roles
+ var roles=[];
+ var rolesData = $('.hida').text().split(',');
+ for (var i = 0; i < rolesData.length ; i++) {
+ var temp = {};
+ temp.name=rolesData[i];
+ temp.id=roleMap[rolesData[i]];
+ roles.push(temp);
+ }
+ data.roles=roles;
return data;
}
function getUserDetails(id) {
@@ -53,6 +138,75 @@ $(document).ready(function() {
function listUserDetails(data) {
$("#userName").val(data.name);
$("#description").val(data.description);
+ var roles=formatRoles(data);
+ var rolesList='';
+ for (var i = 0; i < roles.length; i++) {
+ if(i==0 || rolesList.length==0 )
+ {
+ rolesList=roles[i].name;
+ }
+ else
+ {
+ rolesList=rolesList+','+roles[i].name;
+ }
+ }
+ if(rolesList.length ==0)
+ {
+ rolesList='Please select roles';
+ }
+ $('.hida')[0].innerHTML=rolesList;
+
+
+ //get and initialize roles
+ getRolesList().done(function(data) {
+ var allRoles = formatRoles(data);
+ for (var i = 0; i < allRoles.length; i++) {
+ var isExists=false;
+ for (var j = 0; j < roles.length; j++) {
+ if( roles[j].name== allRoles[i].name)
+ {
+ isExists=true;
+ break;
+ }
+ }
+ if(isExists)
+ {
+ var html = '<li><input type="checkbox" checked=true value="' + allRoles[i].name + '"/>' + allRoles[i].name + '</li>';
+ $('.mutliSelect ul').append(html);
+ }
+ else
+ {
+ var html = '<li><input type="checkbox" value="' + allRoles[i].name + '"/>' + allRoles[i].name + '</li>';
+ $('.mutliSelect ul').append(html);
+ }
+ }
+ })
+ }
+
+
+ function getRolesList() {
+ return Rest.http({
+ url: ROLE_SERVICE + "?=" + new Date().getTime(),
+ type: "GET",
+ async: false,
+ contentType: 'application/json',
+ 'beforeSend' : function(xhr) {
+ xhr.setRequestHeader("X-Auth-Token", "ffbf55c328464a9dbb1920aca768e0d2");
+ },
+ dataType: "json"
+ })
+ }
+
+ function formatRoles(data) {
+ var rolesData = [];
+ for (var i = 0; i < data.roles.length; i++) {
+ var temp = {};
+ temp.roleid = data.roles[i].id;
+ temp.name = data.roles[i].name;
+ rolesData.push(temp);
+ roleMap[temp.name]=temp.roleid;
+ }
+ return rolesData;
}
function modifyUser(data) {
diff --git a/auth/src/main/webapp/user/js/user.js b/auth/src/main/webapp/user/js/user.js
index aa0dc729..c45e68d0 100644
--- a/auth/src/main/webapp/user/js/user.js
+++ b/auth/src/main/webapp/user/js/user.js
@@ -20,7 +20,8 @@ $(document).ready(function() {
var userListHeader = [
{ title: "User", data: "User",width: "20%"},
- { title: "Description", data: "Description",width: "60%"},
+ { title: "Description", data: "Description",width: "30%"},
+ { title: "Roles", data: "Roles",width: "30%"},
{ title: "Operations", data: "Operations",width: "20%"}
];
function initialPage() {
@@ -32,6 +33,15 @@ $(document).ready(function() {
}).error(function(data) {
if (data.status == 403) {
$(".hw_body").html("<span style='font-size:20px;'>" + JSON.parse(data.responseText).error.message + "</span>");
+ } else {
+ var userListHeader = [
+ { title: "User", data: "User",width: "20%"},
+ { title: "Description", data: "Description",width: "30%"},
+ { title: "Roles", data: "Roles",width: "30%"},
+ { title: "Operations", data: "Operations",width: "20%"}
+ ];
+ Table.create("", "table_id", userListHeader);
+ $(".hw_body").css("visibility", "visible");
}
});
@@ -92,6 +102,20 @@ $(document).ready(function() {
temp.rowid = data[i].id;
temp.User = data[i].name;
temp.Description = data[i].description;
+ temp.Roles='';
+
+ for (var j = 0; j < data[i].roles.length; j++) {
+ if(temp.Roles.length>0)
+ {
+ temp.Roles=temp.Roles+','+data[i].roles[j].name;
+ }
+ else
+ {
+ temp.Roles=data[i].roles[j].name;
+ }
+
+ }
+
if (data[i].name == "admin") {
temp.Operations = editOpt;
} else {