改了一点前端显示(
This commit is contained in:
@@ -333,7 +333,7 @@ function renderTable(data) {
|
||||
<td>
|
||||
<pre style="white-space:pre-wrap; word-wrap:break-word; max-height: 100px; overflow-y: auto; font-size: 12px; margin: 0;">${escapeHtml(displayData)}</pre>
|
||||
</td>
|
||||
<td style="font-size: 12px;">${item.writer_id || ''}</td>
|
||||
<td style="font-size: 12px;">${item.writer_name || item.writer_id || ''}</td>
|
||||
<td>
|
||||
<button class="btn btn-primary" onclick="openEdit('${item._id || item.id}')">编辑</button>
|
||||
<button class="btn btn-danger" onclick="doDelete('${item._id || item.id}')">删除</button>
|
||||
|
||||
@@ -81,6 +81,21 @@ def _attach_image_urls(request, items):
|
||||
return out
|
||||
|
||||
|
||||
def _attach_writer_names(items):
|
||||
users = get_all_users()
|
||||
name_by_id = {str(u.get("user_id")): u.get("username") for u in (users or [])}
|
||||
out = []
|
||||
for it in list(items or []):
|
||||
try:
|
||||
d = dict(it or {})
|
||||
except Exception:
|
||||
continue
|
||||
wid = d.get("writer_id")
|
||||
d["writer_name"] = name_by_id.get(str(wid), str(wid) if wid is not None else "")
|
||||
out.append(d)
|
||||
return out
|
||||
|
||||
|
||||
@require_http_methods(["GET", "POST"])
|
||||
@csrf_exempt
|
||||
def init_index(request):
|
||||
@@ -117,7 +132,8 @@ def search(request):
|
||||
return JsonResponse({"status": "error", "message": "搜索关键词不能为空"}, status=400)
|
||||
|
||||
results = search_data(query)
|
||||
return JsonResponse({"status": "success", "data": _attach_image_urls(request, results)})
|
||||
data = _attach_writer_names(_attach_image_urls(request, results))
|
||||
return JsonResponse({"status": "success", "data": data})
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
@@ -131,7 +147,8 @@ def fuzzy_search(request):
|
||||
return JsonResponse({"status": "error", "message": "搜索关键词不能为空"}, status=400)
|
||||
|
||||
results = search_by_any_field(keyword)
|
||||
return JsonResponse({"status": "success", "data": _attach_image_urls(request, results)})
|
||||
data = _attach_writer_names(_attach_image_urls(request, results))
|
||||
return JsonResponse({"status": "success", "data": data})
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
@@ -140,7 +157,8 @@ def get_all_data(request):
|
||||
"""获取所有数据"""
|
||||
try:
|
||||
results = search_all()
|
||||
return JsonResponse({"status": "success", "data": _attach_image_urls(request, results)})
|
||||
data = _attach_writer_names(_attach_image_urls(request, results))
|
||||
return JsonResponse({"status": "success", "data": data})
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
@@ -493,7 +511,11 @@ def upload_page(request):
|
||||
from django.shortcuts import redirect
|
||||
return redirect("/accounts/login/")
|
||||
user_id_qs = request.GET.get("user_id")
|
||||
context = {"user_id": user_id_qs or session_user_id}
|
||||
me = get_user_by_id(session_user_id) or {}
|
||||
context = {
|
||||
"user_id": user_id_qs or session_user_id,
|
||||
"username": me.get("username"),
|
||||
}
|
||||
return render(request, "elastic/upload.html", context)
|
||||
|
||||
|
||||
@@ -666,6 +688,7 @@ def manage_page(request):
|
||||
from django.shortcuts import redirect
|
||||
return redirect("/accounts/login/")
|
||||
|
||||
me = get_user_by_id(session_user_id) or {}
|
||||
is_admin = int(request.session.get("permission", 1)) == 0
|
||||
if is_admin:
|
||||
raw_results = search_all()
|
||||
@@ -690,6 +713,7 @@ def manage_page(request):
|
||||
"results": results,
|
||||
"is_admin": is_admin,
|
||||
"user_id": session_user_id,
|
||||
"username": me.get("username"),
|
||||
},
|
||||
)
|
||||
# 规范化键,避免模板点号访问下划线前缀字段
|
||||
@@ -779,6 +803,7 @@ def user_manage(request):
|
||||
user_id_qs = request.GET.get("user_id")
|
||||
context = {
|
||||
"user_id": user_id_qs or session_user_id,
|
||||
"username": me.get("username"),
|
||||
"is_admin": is_admin,
|
||||
"is_tutor": (not is_admin) and has_manage,
|
||||
"is_student": (not is_admin) and (not has_manage),
|
||||
@@ -796,7 +821,11 @@ def registration_code_manage_page(request):
|
||||
from django.shortcuts import redirect
|
||||
return redirect("/main/home/")
|
||||
user_id_qs = request.GET.get("user_id")
|
||||
context = {"user_id": user_id_qs or session_user_id}
|
||||
me = get_user_by_id(session_user_id) or {}
|
||||
context = {
|
||||
"user_id": user_id_qs or session_user_id,
|
||||
"username": me.get("username"),
|
||||
}
|
||||
return render(request, "elastic/registration_codes.html", context)
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
|
||||
@@ -14,8 +14,8 @@ def home(request):
|
||||
user_id_qs = request.GET.get("user_id")
|
||||
uid = user_id_qs or session_user_id
|
||||
perm = request.session.get("permission")
|
||||
u = get_user_by_id(uid) if uid is not None else None
|
||||
if perm is None and uid is not None:
|
||||
u = get_user_by_id(uid)
|
||||
try:
|
||||
perm = int((u or {}).get("permission", 1))
|
||||
except Exception:
|
||||
@@ -28,6 +28,7 @@ def home(request):
|
||||
perm = 1
|
||||
context = {
|
||||
"user_id": uid,
|
||||
"username": (u or {}).get("username"),
|
||||
"is_admin": (int(perm) == 0),
|
||||
}
|
||||
return render(request, "main/home.html", context)
|
||||
return render(request, "main/home.html", context)
|
||||
|
||||
Reference in New Issue
Block a user