mobile database admin_teacher_applications check_applications migrate test_owner_access themes
This commit is contained in:
68
test_owner_access.py
Normal file
68
test_owner_access.py
Normal file
@@ -0,0 +1,68 @@
|
||||
"""
|
||||
测试杯赛负责人访问教师申请审批页面
|
||||
"""
|
||||
import sqlite3
|
||||
|
||||
db_path = 'instance/database.db'
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
|
||||
print("模拟杯赛负责人访问教师申请审批页面...\n")
|
||||
|
||||
# 获取一个杯赛负责人
|
||||
cursor.execute("""
|
||||
SELECT cm.user_id, u.name, u.role, cm.contest_id, c.name as contest_name
|
||||
FROM contest_membership cm
|
||||
JOIN user u ON cm.user_id = u.id
|
||||
JOIN contest c ON cm.contest_id = c.id
|
||||
WHERE cm.role = 'owner'
|
||||
LIMIT 1
|
||||
""")
|
||||
owner = cursor.fetchone()
|
||||
|
||||
if not owner:
|
||||
print("没有找到杯赛负责人")
|
||||
conn.close()
|
||||
exit()
|
||||
|
||||
user_id, user_name, user_role, contest_id, contest_name = owner
|
||||
print(f"杯赛负责人信息:")
|
||||
print(f" 用户ID: {user_id}")
|
||||
print(f" 用户名: {user_name}")
|
||||
print(f" 角色: {user_role}")
|
||||
print(f" 负责杯赛ID: {contest_id}")
|
||||
print(f" 杯赛名称: {contest_name}")
|
||||
|
||||
# 模拟查询该负责人能看到的申请
|
||||
cursor.execute("""
|
||||
SELECT cm.contest_id
|
||||
FROM contest_membership cm
|
||||
WHERE cm.user_id = ? AND cm.role = 'owner'
|
||||
""", (user_id,))
|
||||
owned_contests = [row[0] for row in cursor.fetchall()]
|
||||
|
||||
print(f"\n该用户负责的所有杯赛ID: {owned_contests}")
|
||||
|
||||
if owned_contests:
|
||||
placeholders = ','.join('?' * len(owned_contests))
|
||||
cursor.execute(f"""
|
||||
SELECT ta.id, ta.user_id, ta.contest_id, ta.status, u.name, c.name
|
||||
FROM teacher_application ta
|
||||
JOIN user u ON ta.user_id = u.id
|
||||
JOIN contest c ON ta.contest_id = c.id
|
||||
WHERE ta.status = 'pending' AND ta.contest_id IN ({placeholders})
|
||||
ORDER BY ta.applied_at DESC
|
||||
""", owned_contests)
|
||||
apps = cursor.fetchall()
|
||||
|
||||
print(f"\n该负责人能看到的待审批申请数: {len(apps)}")
|
||||
if apps:
|
||||
for app in apps:
|
||||
print(f" 申请ID: {app[0]}, 申请人: {app[4]}, 杯赛: {app[5]}")
|
||||
else:
|
||||
print(" 暂无待审核的教师申请")
|
||||
else:
|
||||
print("\n该用户不负责任何杯赛")
|
||||
|
||||
conn.close()
|
||||
print("\n测试完成")
|
||||
Reference in New Issue
Block a user