修复模板id缺失时无法删除所有者模板的问题
This commit is contained in:
parent
c1a938226b
commit
3f462923f1
@ -58,7 +58,7 @@
|
|||||||
<!-- 空状态 -->
|
<!-- 空状态 -->
|
||||||
<div v-else-if="filteredOwners.length === 0" class="flex flex-col items-center justify-center py-12 text-gray-500">
|
<div v-else-if="filteredOwners.length === 0" class="flex flex-col items-center justify-center py-12 text-gray-500">
|
||||||
<UsersIcon class="mb-4 h-12 w-12 text-gray-300" />
|
<UsersIcon class="mb-4 h-12 w-12 text-gray-300" />
|
||||||
<p class="text-lg font-medium">暂无域名所有者模板</p>
|
<p class="text-lg font-medium">暂无所有者模板</p>
|
||||||
<p class="text-sm">点击上方按钮创建第一个模板</p>
|
<p class="text-sm">点击上方按钮创建第一个模板</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -185,7 +185,7 @@
|
|||||||
<!-- 标题栏 -->
|
<!-- 标题栏 -->
|
||||||
<div class="p-4 border-b border-gray-200 bg-white rounded-t-lg flex-shrink-0">
|
<div class="p-4 border-b border-gray-200 bg-white rounded-t-lg flex-shrink-0">
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<h3 class="text-lg font-medium text-gray-900">域名所有者详情</h3>
|
<h3 class="text-lg font-medium text-gray-900">所有者详细信息</h3>
|
||||||
<button
|
<button
|
||||||
@click="closeDetailDialog"
|
@click="closeDetailDialog"
|
||||||
class="text-gray-400 hover:text-gray-600 transition-colors duration-200"
|
class="text-gray-400 hover:text-gray-600 transition-colors duration-200"
|
||||||
@ -716,7 +716,7 @@ export default {
|
|||||||
params: data,
|
params: data,
|
||||||
onSuccess: (response) => {
|
onSuccess: (response) => {
|
||||||
if (response.status === 'Success') {
|
if (response.status === 'Success') {
|
||||||
toast.success('域名所有者模板创建成功!');
|
toast.success('所有者模板创建成功!');
|
||||||
this.fetchOwners(); // 刷新列表
|
this.fetchOwners(); // 刷新列表
|
||||||
this.handleCloseDialog(); // 关闭弹窗
|
this.handleCloseDialog(); // 关闭弹窗
|
||||||
} else {
|
} else {
|
||||||
@ -737,7 +737,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// 查看域名所有者详情
|
// 查看所有者详细信息
|
||||||
viewOwner(owner) {
|
viewOwner(owner) {
|
||||||
this.selectedOwner = owner;
|
this.selectedOwner = owner;
|
||||||
this.showDetailDialog = true;
|
this.showDetailDialog = true;
|
||||||
@ -804,7 +804,7 @@ export default {
|
|||||||
onSuccess: (response) => {
|
onSuccess: (response) => {
|
||||||
|
|
||||||
if (response.status === 'Success') {
|
if (response.status === 'Success') {
|
||||||
toast.success('域名所有者模板更新成功!');
|
toast.success('所有者模板更新成功!');
|
||||||
this.fetchOwners(); // 刷新列表
|
this.fetchOwners(); // 刷新列表
|
||||||
this.closeEditDialog(); // 关闭编辑弹窗
|
this.closeEditDialog(); // 关闭编辑弹窗
|
||||||
} else {
|
} else {
|
||||||
@ -832,7 +832,7 @@ export default {
|
|||||||
async deleteOwner(owner) {
|
async deleteOwner(owner) {
|
||||||
confirmDialog({
|
confirmDialog({
|
||||||
title: '确认删除',
|
title: '确认删除',
|
||||||
message: `确定要删除域名所有者模板 "<strong>${this.getDisplayName(owner)}</strong>" 吗?<br><br>此操作将不可逆。`,
|
message: `确定要删除所有者模板 "<strong>${this.getDisplayName(owner)}</strong>" 吗?<br><br>此操作将不可逆。`,
|
||||||
primaryAction: {
|
primaryAction: {
|
||||||
label: '删除',
|
label: '删除',
|
||||||
variant: 'solid',
|
variant: 'solid',
|
||||||
@ -843,7 +843,7 @@ export default {
|
|||||||
params: { name: owner.name },
|
params: { name: owner.name },
|
||||||
onSuccess: (response) => {
|
onSuccess: (response) => {
|
||||||
if (response.status === 'Success') {
|
if (response.status === 'Success') {
|
||||||
toast.success('域名所有者模板删除成功!');
|
toast.success('所有者模板删除成功!');
|
||||||
this.fetchOwners(); // 刷新列表
|
this.fetchOwners(); // 刷新列表
|
||||||
hide();
|
hide();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -3432,7 +3432,7 @@ def update_domain_owner(name, **data):
|
|||||||
|
|
||||||
@jingrow.whitelist()
|
@jingrow.whitelist()
|
||||||
def delete_domain_owner(name):
|
def delete_domain_owner(name):
|
||||||
"""删除域名所有者模板"""
|
"""删除所有者模板"""
|
||||||
try:
|
try:
|
||||||
if not name:
|
if not name:
|
||||||
return {"status": "Error", "message": "域名所有者名称不能为空"}
|
return {"status": "Error", "message": "域名所有者名称不能为空"}
|
||||||
@ -3452,10 +3452,9 @@ def delete_domain_owner(name):
|
|||||||
|
|
||||||
# 检查是否有 c_sysid(西部数码模板标识)
|
# 检查是否有 c_sysid(西部数码模板标识)
|
||||||
c_sysid = getattr(domain_owner, 'c_sysid', None)
|
c_sysid = getattr(domain_owner, 'c_sysid', None)
|
||||||
if not c_sysid:
|
|
||||||
return {"status": "Error", "message": "域名所有者没有模板标识,无法删除"}
|
|
||||||
|
|
||||||
# 先删除西部数码的模板
|
# 如果有模板标识,先删除西部数码的模板
|
||||||
|
if c_sysid:
|
||||||
try:
|
try:
|
||||||
client = get_west_client()
|
client = get_west_client()
|
||||||
if not client:
|
if not client:
|
||||||
@ -3471,16 +3470,18 @@ def delete_domain_owner(name):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
return {"status": "Error", "message": f"所有者模板删除失败: {str(e)}"}
|
return {"status": "Error", "message": f"所有者模板删除失败: {str(e)}"}
|
||||||
|
|
||||||
# 西部数码模板删除成功后,删除本地记录
|
# 删除本地记录(无论是否有模板标识)
|
||||||
try:
|
try:
|
||||||
domain_owner.delete(ignore_permissions=True)
|
domain_owner.delete(ignore_permissions=True)
|
||||||
return {"status": "Success", "message": "域名所有者模板删除成功"}
|
jingrow.db.commit()
|
||||||
|
|
||||||
|
return {"status": "Success", "message": "所有者模板删除成功"}
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return {"status": "Error", "message": f"本地记录删除失败: {str(e)}"}
|
return {"status": "Error", "message": f"所有者模板删除失败: {str(e)}"}
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return {"status": "Error", "message": f"删除失败: {str(e)}"}
|
return {"status": "Error", "message": f"所有者模板删除失败: {str(e)}"}
|
||||||
|
|
||||||
|
|
||||||
@jingrow.whitelist()
|
@jingrow.whitelist()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user