Skip to content

Enhance course request views and notification handling - #1948

Merged
vikrantwiz02 merged 5 commits into
FusionIIIT:prod/acad-reactfrom
vikrantwiz02:prod/acad-react
Aug 12, 2026
Merged

Enhance course request views and notification handling#1948
vikrantwiz02 merged 5 commits into
FusionIIIT:prod/acad-reactfrom
vikrantwiz02:prod/acad-react

Conversation

@vikrantwiz02

Copy link
Copy Markdown
Member

This pull request introduces several improvements and bug fixes across academic procedures, notifications, and student management. The most significant changes include stricter and more accurate eligibility checks for PhD/PG course registration, improved notification handling (including a new bulk-clear endpoint), and more precise discipline assignment logic for student batches. Below are the most important changes grouped by theme:

Academic Procedures: PhD/PG Registration and Course Handling

  • Improved PhD registration window logic to use academic term and year, ensuring correct eligibility checks for multiple intakes in a calendar year. PG registration continues to use semester and year.
  • Enforced backlog (BL) course eligibility for PhD students, including grade checks at both the course listing and course submission stages, mirroring UG rules for backlog registration. [1] [2] [3]
  • Enhanced PhD course registration approval to set the registration type (Regular, Backlog, Improvement) based on prior grades, and to record course replacements when a backlog/improvement registration is approved.
  • Added discipline and specialization info to PhD admin request listings for better context. [1] [2]

Notifications: API and Bulk Operations

  • Added a new endpoint and view to bulk-clear notifications or announcements for the authenticated user, respecting visibility rules and updating unread counts accordingly. [1] [2]
  • Improved NotificationSerializer to robustly parse and return notification data as JSON, handling both string and dict payloads.

Student Management: Discipline Assignment

  • Refined discipline assignment logic to match the most specific specialization name when assigning disciplines, preventing incorrect mappings due to substring overlaps (e.g., distinguishing 'mechatronics' from 'mechanical engineering'). Also, separated 'Design' specialization from other mechanical engineering specializations. [1] [2]

NotificationSerializer now returns data as valid JSON (json.dumps), fixing the dashboard parse that broke on Python-repr None for role-tagged notifications and blanked the whole list. Adds a clear_notifications endpoint + notificationclear route to clear a tab's notifications in one action, honouring the role-visibility rule.
…placement

Enforce the UG below-C+ grade rule for BL-slot course requests at submit, and annotate BL courses with eligibility so the form can warn on selection. On approval, derive registration_type from the prior grade (Backlog/Improvement/Regular) and create a course_replacement for the prior registration, mirroring the UG add-course approval.
@vikrantwiz02
vikrantwiz02 merged commit f9520b7 into FusionIIIT:prod/acad-react Aug 12, 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