Skip to content

Redesign Comprehensive Exam and Open Seminar: RPC/DPGC/PGCS/Dean flow#1936

Merged
vikrantwiz02 merged 1 commit into
FusionIIIT:prod-testfrom
kotangale237:phd
Jul 23, 2026
Merged

Redesign Comprehensive Exam and Open Seminar: RPC/DPGC/PGCS/Dean flow#1936
vikrantwiz02 merged 1 commit into
FusionIIIT:prod-testfrom
kotangale237:phd

Conversation

@kotangale237

Copy link
Copy Markdown
Contributor

Summary

  • Replace the Convener placeholder role with the student's live RPC committee (per-member consent + comments) for both Comprehensive Exam and Open Seminar
  • Add HOD-DPGC and HOD-PGCS review stages, and a real, forward-only Dean Academic final sign-off
  • Fixes from a follow-up bug/security pass:
    • Add authorization checks on supervisor comprehensive-exam/open-seminar detail endpoints (IDOR fix)
    • Clear stale PGCS/HOD reviewer fields on RPC finalize so resubmissions don't show a prior review's data
    • Validate result values on RPC consent endpoints
    • Block committee edits while a Comprehensive Exam or Open Seminar is awaiting RPC consent
    • Remove leftover debug print() statements

Test plan

  • Verify Comprehensive Exam flow end-to-end: Supervisor propose -> RPC consent -> HOD-DPGC -> HOD-PGCS -> Dean Academic
  • Verify Open Seminar flow end-to-end: Supervisor propose -> RPC consent -> HOD review -> Dean nominee -> Dean final approval
  • Confirm unrelated users get 403 on supervisor comprehensive-exam/open-seminar detail endpoints
  • Run python manage.py migrate and python manage.py check

Replace the Convener placeholder role with the student's live RPC
committee (per-member consent + comments), HOD-DPGC and HOD-PGCS
review stages (both standing in for the real designations, mapped to
the student's HOD), and a real Dean Academic final sign-off.

Also includes a security/correctness pass on the new endpoints:
- Fix IDOR: supervisor_comprehensive_exam_detail and
  supervisor_open_seminar_detail had no ownership check
- Clear stale PGCS/HOD reviewer fields on RPC re-finalize so a
  resubmitted item stops showing as already-decided history
- Validate RPC result values against RESULT_CHOICES before saving
- Freeze RPC committee membership while an attempt is rpc_pending, to
  close a consent-bypass/stale-consent gap
- Remove leftover debug print statements
@vikrantwiz02
vikrantwiz02 merged commit d5ee956 into FusionIIIT:prod-test Jul 23, 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.

2 participants