修复教师实验管理页的可见性问题

This commit is contained in:
biss committed 2026-08-18 09:54:03 +08:00
1 parent 0b63d31e67
commit 7db082639c
2 files changed
+37 -4

No files matched your search

@@ -196,12 +196,11 @@ public sealed class ExperimentsController(
int page = 1,
int pageSize = 20)
{
// 项目列表按任课教学任务授权。场次的名单、取消和代选仍由
// CanManageSession 限制到已绑定的指导教师,不能以此反向过滤项目:
// 草稿尚未安排场次,集中安排项目也没有独立的场次指导教师绑定。
var source = ScopedProjects().AsNoTracking();
var scope = currentUserDataScope.Current;
if (scope.Scope == DataScope.Self && scope.IsInRole(SystemRoles.Teacher))
source = source.Where(x => x.Sessions.Any(session =>
session.Instructors.Any(instructor =>
instructor.Teacher!.UserId == scope.UserId)));
if (academicTermId.HasValue)
source = source.Where(x =>
x.TeachingTask!.AcademicTermId == academicTermId);