测试 删除账户

This commit is contained in:
王思川 2024-06-17 10:33:08 +08:00
parent f9adc57390
commit 2103e3cdc3
7 changed files with 69 additions and 45 deletions

View File

@ -60,7 +60,15 @@
<td class="text-center">
<button class="btn btn-outline-primary btn-sm permission-settings-btn" data-bs-toggle="modal" data-bs-target="#userPermissionModal" data-url="{% url 'get_user_existing_permissions' user_id=item.id %}">权限设置</button>
</td>
<td class="text-center"><a href="#" class="delete-btn" style="color: red;" data-target_id="{{ item.id }}" data-bs-toggle="modal" data-bs-target="#deleteModal">删除</a></td>
<td class="text-center">
<a href="#"
id="deleteBtn"
class="delete-btn"
style="color: red"
data-target_id="{{ item.id }}"
data-bs-toggle="modal"
data-bs-target="#deleteModal">删除</a>
</td>
</tr>
{% empty %}
<tr>
@ -151,6 +159,7 @@
</div>
</div>
<!-- 账户新增编辑模态框 -->
<div class="modal fade" id="createAccountProfileModal" tabindex="-1" aria-labelledby="createAccountProfileLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
@ -181,7 +190,9 @@
</div>
</div>
</div>
{% include "delete_modal.html" %}
<!-- 删除确认模态框 -->
{% include 'delete_modal.html' %}
<script>
// 获取 CSRF 令牌
@ -570,7 +581,7 @@ document.getElementById('createAccountProfiles').addEventListener('click', funct
// 处理成功逻辑
showAlert('success', '账户创建成功');
$('#createAccountProfileModal').modal('hide');
fetchEmployeeList(); // 刷新员工列表
location.reload();
} else {
// 处理失败逻辑
showAlert('danger', '账户创建失败');

View File

@ -1,7 +1,5 @@
from django.urls import path, include
from django.contrib.auth import views as auth_views
from .views import *
urlpatterns = [
@ -9,6 +7,7 @@ urlpatterns = [
path('login/', custom_login_view, name='user_login'),
path('logout/', logout_view, name='user_logout'),
path('password_reset/', include('django.contrib.auth.urls')),
path('delete/', delete_account_profile, name='delete_account_profile'),
path('homepage', user_homepage_view, name='user_homepage'),
# 账号权限管理

View File

@ -4,7 +4,7 @@ from datetime import datetime, date
from django.db import transaction
from django.db.models import Q, Sum
from django.http import JsonResponse
from django.http import JsonResponse, HttpResponseNotFound
from django.shortcuts import redirect, render, get_object_or_404
# Django组件导入
@ -12,6 +12,7 @@ from django.contrib import messages
from django.contrib.auth import logout, login, authenticate
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import Permission, User, Group
from django.urls import reverse
from django.utils.timezone import now
from django.views.decorators.csrf import csrf_protect
from django.views.decorators.http import require_http_methods
@ -185,11 +186,22 @@ def user_permissions_list(request):
'query_params': query_params,
"columns": ["姓名", "邮箱", "一级部门", "职务", "在职状态", "账号状态", "账号类型"],
'items': items,
"delete_url": reverse("delete_account_profile"),
}
return render(request, 'accounts/user_permissions_list.html', context)
@login_required
@custom_permission_required('auth.delete_user')
def delete_account_profile(request):
if request.method == 'GET':
user_id = request.GET.get('id')
AccountProfile.objects.filter(user_id=user_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)
@login_required()
@custom_permission_required('auth.view_permission')
def get_user_existing_permissions(request, user_id):

View File

@ -128,11 +128,15 @@
{% endif %}
{% endfor %}
<td class="text-center">
<a href="#" class="edit-btn"
<a href="#"
id="editBtn"
class="edit-btn"
data-id="{{ item|get_pk_value }}"
data-bs-toggle="modal"
data-bs-target="#addEditModal">编辑</a>
<a href="#" class="delete-btn"
<a href="#"
id="deleteBtn"
class="delete-btn"
style="color: red;"
data-id="{{ item|get_pk_value }}"
data-bs-toggle="modal"
@ -176,6 +180,7 @@
</div>
</div>
</div>
<div class="modal fade" id="resignationModal" tabindex="-1" role="dialog" aria-labelledby="resignationModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
@ -208,6 +213,7 @@
</div>
</div>
</div>
<div class="modal fade" id="salaryChangeModal" tabindex="-1" role="dialog" aria-labelledby="salaryChangeModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">

View File

@ -220,7 +220,7 @@ def emp_list_modify(request):
@custom_permission_required('hrm_mgnt.delete_employeeinformation')
def emp_list_delete(request):
if request.method == 'GET':
employee_id = request.GET.get('employee_id')
employee_id = request.GET.get('id')
EmployeeInformation.objects.filter(employee_id=employee_id).delete()
return JsonResponse({"message": "删除成功"})
return JsonResponse({"message": "无效的请求方法"}, status=405)

View File

@ -1,14 +1,11 @@
{% load static %}
<div id="deleteModal" class="modal fade" tabindex="-1" role="dialog"
aria-labelledby="deleteModalLabel" aria-hidden="true">
<div id="deleteModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="deleteModalLabel">提示
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="Close"></button>
<h5 class="modal-title" id="deleteModalLabel">提示</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p>此操作会删除当前数据,是否继续?</p>
@ -23,38 +20,38 @@
</div>
<script>
const deleteUrl = "{{ delete_url }}";
let targetIdToDelete = null;
$(document).ready(function () {
var targetIdToDelete = null;
var deleteUrl = "{{ url.delete }}";
// 删除按钮点击事件,打开删除确认模态框
$('.delete-btn').on('click', function () {
targetIdToDelete = $(this).data('target_id');
$('#deleteModal').modal('show');
});
// 确认删除按钮点击事件
$('#confirmDeleteBtn').on('click', function () {
if (targetIdToDelete !== null) {
$.ajax({
type: 'GET',
url: deleteUrl,
data: {
'target_id': targetIdToDelete
},
success: function (response) {
alert('删除成功');
location.reload(); // 刷新页面
},
error: function (response) {
alert('删除失败,请重试。');
}
});
// 删除和确认删除
$(document).on('click', '#deleteBtn, #confirmDeleteBtn', function (event) {
if (event.target.id === 'deleteBtn') {
// 打开删除模态框
targetIdToDelete = $(this).data('id');
$('#deleteModal').modal('show');
debugger
} else if (event.target.id === 'confirmDeleteBtn') {
// 确认删除
if (targetIdToDelete !== null) {
$.ajax({
type: 'GET',
url: deleteUrl,
data: {
'id': targetIdToDelete
},
success: function (response) {
showAlert('success', "删除成功");
location.reload();
},
error: function (response) {
showAlert('danger', "删除失败");
}
});
}
$('#deleteModal').modal('hide');
}
$('#deleteModal').modal('hide');
});
});
</script>

View File

@ -258,7 +258,6 @@
});
}
// 删除和确认删除
$(document).on('click', '#deleteBtn, #confirmDeleteBtn', function (event) {
if (event.target.id === 'deleteBtn') {