From afdd1e6c2f2a3985b81beebba0a080658a2bf414 Mon Sep 17 00:00:00 2001 From: tomas-muller Date: Wed, 29 Jan 2025 17:38:01 +0100 Subject: [PATCH] Scheduling Assistant: Drop Last Active Class (Banner) - ignore canceled sections during the drop last active class check --- .../custom/purdue/XEStudentEnrollment.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/JavaSource/org/unitime/timetable/onlinesectioning/custom/purdue/XEStudentEnrollment.java b/JavaSource/org/unitime/timetable/onlinesectioning/custom/purdue/XEStudentEnrollment.java index b902268a03..fd3eb821a1 100644 --- a/JavaSource/org/unitime/timetable/onlinesectioning/custom/purdue/XEStudentEnrollment.java +++ b/JavaSource/org/unitime/timetable/onlinesectioning/custom/purdue/XEStudentEnrollment.java @@ -526,7 +526,7 @@ public List enroll(OnlineSectioningServer server, OnlineSecti if (course != null && e.getSections() != null) for (XSection section: e.getSections()) { dropEverything = false; - if (section.getTime().isActive(currentDateIndex)) { + if (section.getTime().isActive(currentDateIndex) && !section.isCancelled()) { hasActiveClass = true; break e; } } @@ -540,7 +540,7 @@ public List enroll(OnlineSectioningServer server, OnlineSecti if (request instanceof XCourseRequest && ((XCourseRequest)request).getEnrollment() != null) { XEnrollment enrollment = ((XCourseRequest)request).getEnrollment(); for (XSection section: server.getOffering(enrollment.getOfferingId()).getSections(enrollment)) { - if (section.getTime().isActive(currentDateIndex)) { + if (section.getTime().isActive(currentDateIndex) && !section.isCancelled()) { hadActiveClass = true; break request; } @@ -563,7 +563,7 @@ public List enroll(OnlineSectioningServer server, OnlineSecti " StudentClassEnrollment e inner join e.student st inner join st.session s, " + " Session z " + "where " + - " st.externalUniqueId = :studentId and " + + " st.externalUniqueId = :studentId and e.clazz.cancelled = false and " + " z.uniqueId = :sessionId and s != z and s.academicTerm = z.academicTerm and s.academicYear = z.academicYear ", Long.class) .setParameter("sessionId", server.getAcademicSession().getUniqueId()) @@ -580,7 +580,7 @@ public List enroll(OnlineSectioningServer server, OnlineSecti "where " + " (c.datePattern = dp or (c.datePattern is null and ss.datePattern = dp) or (c.datePattern is null and ss.datePattern is null and dp = s.defaultDatePattern)) and " + " adddate(dp.session.sessionBeginDateTime, -dp.offset + length(dp.pattern) - 1) >= :today and " + - " st.externalUniqueId = :studentId and " + + " st.externalUniqueId = :studentId and c.cancelled = false and " + " z.uniqueId = :sessionId and s != z and s.academicTerm = z.academicTerm and s.academicYear = z.academicYear ", Long.class) .setParameter("sessionId", server.getAcademicSession().getUniqueId())