Skip to content

Academic: section-aware allotment, calendar time windows, PG/PhD gating, seat fix - #1945

Merged
vikrantwiz02 merged 1 commit into
FusionIIIT:prod/acad-reactfrom
vikrantwiz02:prod/acad-react
Aug 7, 2026
Merged

Academic: section-aware allotment, calendar time windows, PG/PhD gating, seat fix#1945
vikrantwiz02 merged 1 commit into
FusionIIIT:prod/acad-reactfrom
vikrantwiz02:prod/acad-react

Conversation

@vikrantwiz02

Copy link
Copy Markdown
Member

This pull request introduces several improvements and new features to the academic calendar and course registration system, primarily adding support for time-bound events in the academic calendar, improving the handling of batch and section assignments, and refactoring registration window checks for maintainability and flexibility. The changes also update course allocation logic and add new eligibility checks for PG/PhD enrollments.

Academic Calendar: Time-bound Events

  • Added from_time and to_time fields to the Calendar model, updated related API endpoints (list_calendar, add_calendar, update_calendar), and included a migration to support events with specific start and end times. [1] [2] [3] [4] [5]

Registration Window Eligibility Refactor

  • Refactored all course registration eligibility checks to support both date and time windows, centralizing logic in _check_registration_window and related helpers, and added support for PG/PhD registration windows.

Course Allocation and Section Assignment

  • Updated batch change logic to automatically assign students to the appropriate section in the new batch, choosing the only or emptiest section, or raising an error if the batch has no sections set up.
  • Updated course allocation and seat counting logic to include all registrations, removing previous exclusions for backlog slots. [1] [2] [3] [4]

PG/PhD Registration Enforcement

  • Enforced registration window checks for PG/PhD thesis, seminar, teaching credit, and course request APIs, blocking POST requests outside the allowed window. [1] [2] [3] [4]

Other Improvements

  • Improved course offering resolution logic in student course addition and allotment, and ensured instructor assignment is handled consistently. [1] [2] [3] [4]

…ng, seat fix

- allot_courses: bind course_instructor via resolve_offering
- apply_batch_changes: derive section from target batch (load-balanced), 400 on empty batch
- Calendar: add from_time/to_time; registration windows honor time (AM/PM), whole-day when unset
- PG/PhD registration calendar gate (separate PG/PhD windows) on course/thesis/seminar/teaching enrollment
- seat availability now counts backlog registrations (removed BL exclusion) in replacement form + allocator
- add_course: own_section_running via resolve_offering (no false 'not running in your section')
@vikrantwiz02
vikrantwiz02 merged commit 4717595 into FusionIIIT:prod/acad-react Aug 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant