修复普通用户无法进入数据管理的问题

This commit is contained in:
2025-11-17 14:12:36 +08:00
parent 14788fd59d
commit 7afc6ba06b
5 changed files with 30 additions and 8 deletions

View File

@@ -275,7 +275,7 @@
<th>ID</th>
<th>图片</th>
<th>数据</th>
<th>作者</th>
<th>录入人</th>
<th>操作</th>
</tr>
</thead>

View File

@@ -491,13 +491,32 @@ def manage_page(request):
from django.shortcuts import redirect
return redirect("/accounts/login/")
if int(request.session.get("permission", 1)) != 0:
from django.shortcuts import redirect
return redirect("/main/home/")
raw_results = search_all()
# if not is_admin:
# uid = str(session_user_id)
# raw_results = [r for r in raw_results if str(r.get("writer_id", "")) == uid]
is_admin = int(request.session.get("permission", 1)) == 0
if is_admin:
raw_results = search_all()
else:
uid = str(session_user_id)
raw_results = [r for r in search_all() if str(r.get("writer_id", "")) == uid]
results = []
for r in raw_results:
try:
r_data = string_to_json(r.get("data", "{}"))
r_data["_id"] = r["id"]
r_data["_image"] = r.get("image", "")
results.append(r_data)
except Exception:
pass
return render(
request,
"elastic/manage.html",
{
"results": results,
"is_admin": is_admin,
"user_id": session_user_id,
},
)
# 规范化键,避免模板点号访问下划线前缀字段
results = []
for r in raw_results: