Skip to content

Graduation wizard fills thesis grade on wrong / multiple semesters #113

Closed

Description

@ffooll-bit

Describe the bug

The graduation wizard's "fill missing thesis grade" feature (ENH-010) marks every ungraded thesis/skripsi course row with "(akan diisi)" and, at finish(), pushes the Excel grade to the first ungraded thesis row returned by the transcript API — not necessarily the last semester. A student may have several thesis course rows across semesters (e.g. repeating the course), and the grade should only be filled for the last semester.

Live example (NIM 201910176) — 4 ungraded thesis rows, but only one should be filled:

  • 20184MSSK778 @ 20221
  • 20184MSSK778 @ 20222
  • 20224MSSK874 @ 20232
  • 20224MSSK874 @ 20252 ← should be the only target (last semester)

Steps to reproduce

  1. Open PISN Graduation and upload an Excel that includes a student with multiple ungraded thesis rows (e.g. NIM 201910176) and a nilai_skripsi value.
  2. On card 3 (Kelengkapan Transkrip), observe that all ungraded thesis rows are tagged "(akan diisi)".
  3. Submit; findMissingGradeThesis() picks the first matching row in API order, so the grade lands on the wrong semester.

Expected behavior

Only the ungraded thesis/skripsi course in the last semester (largest id_smt) is tagged "(akan diisi)" and is the one that receives the filled grade at finish().

Actual behavior

All ungraded thesis rows are tagged, and the pushed grade may go to an earlier semester.

Activity

  1. ffooll-bit commented on Aug 31, 2026

    @ffooll-bit
    OwnerAuthor

    Closing: the fix is already merged via PR #114 (fix: fill thesis grade only in the last semester and fix finish() redirect). Auto-close did not trigger because the PR body used a bare '#113' and a '## Fixes' heading instead of the required # Related issues heading plus the Fixes #113 keyword. The issue's change is shipped on main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions