|
|
@@ -76,6 +76,7 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
|
|
|
var users;
|
|
|
var groups;
|
|
|
var groupDropdown;
|
|
|
+ var checkManager = 0;
|
|
|
|
|
|
var test;
|
|
|
|
|
|
@@ -88,7 +89,7 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
|
|
|
roles = result.permissions;
|
|
|
users = result.users;
|
|
|
users.forEach(function(data) {
|
|
|
- let btn = getPermissions(data.GroupID, data.GroupName);
|
|
|
+ let btn = getPermissions(data.GroupID, data.GroupName, data.UserID);
|
|
|
$('#table-data').append(`<tr>
|
|
|
<td>${data.UserID}</td>
|
|
|
<td>${data.Account}</td>
|
|
|
@@ -163,24 +164,26 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- function getPermissions(id, roles) {
|
|
|
+ function getPermissions(groupIDs, groupNames, userID) {
|
|
|
var result = "";
|
|
|
|
|
|
- roles.forEach(function(role, index) {
|
|
|
- disabled = (role == '一般用戶' || role == '來賓') ? '' : '';
|
|
|
- result += `<button class="btn btn-${id[index]}" ${disabled}>${role}</button> `;
|
|
|
+ groupIDs.forEach(function(groupID, index) {
|
|
|
+ result += `<button id="btn-${userID}-${groupID}" onclick="delPermission('${userID}','${groupID}');" class="btn btn-${groupID}">${groupNames[index]}</button> `;
|
|
|
+ if (groupID == 'Manager') {
|
|
|
+ checkManager++;
|
|
|
+ }
|
|
|
});
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- function addPermission(id, role, userID) {
|
|
|
+ function addPermission(groupID, groupName, userID) {
|
|
|
var result = "";
|
|
|
user = users.find(user => user.UserID == userID);
|
|
|
if (!user.GroupName.includes(role)) {
|
|
|
- result += `<button class="btn btn-${id}">${role}</button> `;
|
|
|
- addPermissionDB(user.UserID, id);
|
|
|
- user.GroupName.push(role);
|
|
|
- user.GroupID.push(id);
|
|
|
+ addPermissionDB(user.UserID, groupID);
|
|
|
+ result += `<button id="btn-${userID}-${groupID}" onclick="delPermission('${userID}','${groupID}');" class="btn btn-${groupID}">${groupName}</button> `;
|
|
|
+ user.GroupName.push(groupName);
|
|
|
+ user.GroupID.push(groupID);
|
|
|
return result;
|
|
|
} else {
|
|
|
return result;
|
|
|
@@ -195,10 +198,60 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
|
|
|
dataType: "text",
|
|
|
data: {
|
|
|
UserID: userID,
|
|
|
- GroupID:groupID,
|
|
|
+ GroupID: groupID,
|
|
|
}
|
|
|
}).done(function(result) {
|
|
|
- console.log(result);
|
|
|
+ if (result == 'success' && groupID == 'Manager') {
|
|
|
+ checkManager++;
|
|
|
+ alert('身分新增成功!');
|
|
|
+ } else if(result == 'success'){
|
|
|
+ alert('身分新增成功!');
|
|
|
+ }else {
|
|
|
+ console.log(result);
|
|
|
+ }
|
|
|
+ }).error(function(error) {
|
|
|
+ console.log(error);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function delPermission(userID, groupID) {
|
|
|
+ if (groupID != 'User' && groupID != 'Guest') {
|
|
|
+ if (groupID == 'Manager') {
|
|
|
+ if (checkManager > 1) {
|
|
|
+ delPermissionDB(userID, groupID);
|
|
|
+ $(`#btn-${userID}-${groupID}`).remove();
|
|
|
+ } else {
|
|
|
+ alert('部門至少要有一名管理員!');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ delPermissionDB(userID, groupID);
|
|
|
+ $(`#btn-${userID}-${groupID}`).remove();
|
|
|
+ }
|
|
|
+
|
|
|
+ }else{
|
|
|
+ alert('身分最低為一般用戶!請勿刪除!');
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ function delPermissionDB(userID, groupID) {
|
|
|
+ $.ajax({
|
|
|
+ url: "./script/php/API/delete_role.php",
|
|
|
+ type: "POST",
|
|
|
+ dataType: "text",
|
|
|
+ data: {
|
|
|
+ UserID: userID,
|
|
|
+ GroupID: groupID,
|
|
|
+ }
|
|
|
+ }).done(function(result) {
|
|
|
+ if (result == 'success' && groupID == 'Manager') {
|
|
|
+ checkManager--;
|
|
|
+ alert('身分刪除成功!');
|
|
|
+ } else if(result == 'success'){
|
|
|
+ alert('身分刪除成功!');
|
|
|
+ }else {
|
|
|
+ console.log(result);
|
|
|
+ }
|
|
|
}).error(function(error) {
|
|
|
console.log(error);
|
|
|
});
|
|
|
@@ -237,7 +290,7 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
|
|
|
<th>使用者帳號</th>
|
|
|
<th>使用者名稱</th>
|
|
|
<th>所屬部門</th>
|
|
|
- <th>使用者權限</th>
|
|
|
+ <th>使用者權限(點擊以刪除權限)</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<tbody id="table-data">
|