Skip to content

feat: member-reachable check-only sandbox - #128

Merged
TrueMessenger merged 1 commit into
mainfrom
feat/member-sandbox-check
Jul 8, 2026
Merged

TrueMessenger merged 1 commit into
mainfrom
feat/member-sandbox-check

Conversation

@TrueMessenger

Copy link
Copy Markdown
Owner

Closes #117.

The Test a Fit page — including its check-only sandbox mode — was gated to manage_doctrines/reviewer permissions, so a plain member could only ever be graded on ships they already own via ESI. The sandbox persists nothing (no FitSubmission/findings/log rows, no reviewer notification), so that restriction is only needed for the persisting save path.

Changes

  • submit_eft: any member who can see the fit (category visibility unchanged) may GET the page and POST mode=check_only; a persisting POST without staff permissions raises 403 (defense in depth on top of the hidden button). Staff behavior unchanged.
  • fit_detail now offers the Test a Fit button to every authorized viewer.
  • submit_eft.html: the save button renders only for staff (can_submit_paste); for members the check-only button becomes primary with a note that results are informational and real submissions come from My Ships. The mutated-stats detour already carries the check-only flag.
  • FAQ pilot answer reworded to match reality (it previously described EFT paste as member-reachable when it wasn't); README Pilot QoL gains the Test a Fit bullet and the Missing Modules bullet reflects the owner-visible deficit list from Show the Missing Modules deficit multibuy to the submission owner #116.

Tested: 6 new tests (member GET shows check-only-only form; staff keeps save; member check-only grades and persists nothing + no notification; member save-POST 403; mutated detour carries check-only and persists nothing; fit-detail link for members) + updated gating test. Full suite 715 green; check + makemigrations --check clean. No migration, no new static files.

The Test a Fit page (including its persist-nothing check-only mode)
was gated to doctrine managers and reviewers, so members had no way
to grade a fit they don't own yet. Since the sandbox creates no
submission, findings, log rows, or reviewer notifications, that gate
is now needed only for the persisting save path: any member who can
see the fitting may GET the page and POST check-only; a save-mode
POST without staff permissions is still denied. The FAQ pilot answer
and README are updated to match. Closes #117.
@TrueMessenger
TrueMessenger merged commit f73a4b2 into main Jul 8, 2026
4 checks passed
@TrueMessenger
TrueMessenger deleted the feat/member-sandbox-check branch July 8, 2026 00:34
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.

Member-reachable sandbox fit check (no submission recorded)

1 participant