瀏覽代碼

新增 新增身分 刪除身分

manto07m 3 年之前
父節點
當前提交
2a12bc9344
共有 3 個文件被更改,包括 87 次插入14 次删除
  1. 66 13
      index.php
  2. 20 0
      script/php/API/delete_role.php
  3. 1 1
      script/php/API/insert_role.php

+ 66 - 13
index.php

@@ -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">

+ 20 - 0
script/php/API/delete_role.php

@@ -0,0 +1,20 @@
+<?php
+include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_right.php");
+include('../permission/connect_sql.php');
+if (isset($_POST['UserID']) && $_POST['GroupID']) {
+    $UserID = $_POST['UserID'];
+    $GroupID = $_POST['GroupID'];
+    $sql = "DELETE FROM [UserGroup] WHERE [UserID] = ? AND [GroupID] = ?";
+    $stmt = sqlsrv_query($conn, $sql, array($UserID, $GroupID));
+    if ($stmt === false) {
+        if (($errors = sqlsrv_errors()) != null) {
+            foreach ($errors as $error) {
+                echo "SQLSTATE: " . $error['SQLSTATE'] . "<br />";
+                echo "code: " . $error['code'] . "<br />";
+                echo "message: " . $error['message'] . "<br />";
+            }
+        }
+    }else{
+        echo('success');
+    }
+}

+ 1 - 1
script/php/API/insert_role.php

@@ -22,6 +22,6 @@ if (isset($_POST['UserID']) && $_POST['GroupID']) {
             }
         }
     }else{
-        echo('身分新增成功!');
+        echo('success');
     }
 }