Filter ga_standards by saved selection, with ?all=true bypass
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 180
- Forks
- 137
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 21
Description
Parent: #1079 · Splits #1043 §2 · Project: https://github.com/orgs/OWASP/projects/60
What
GET /rest/v1/ga_standards feeds Map Analysis / gap-analysis dropdowns. It is not passed through apply_user_resource_filter. Completing the profile view means:
- Filter
ga_standardsthe same way as/standardswhen the user has a non-empty selection (keep OpenCRE; empty selection = full eligible list). - Frontend must pass
?all=truewherever GA should still span all eligible standards (same pattern asResourceSelector).
Left out of #586 on purpose so we would not silently shrink the dropdowns.
Do
- Apply
apply_user_resource_filter(or equivalent) on/rest/v1/ga_standards - Keep GA eligibility gating (
resource_name_ga_eligible_in_db) - Map Analysis UI: default to filtered list when a selection exists; explicit “all eligible standards” uses
?all=true - Tests: logged-in filtered,
?all=truebypass, anonymous full, flags off = full
Success
A user who saved ASVS+CWE sees those (if GA-eligible) in the dropdowns by default, and can still run a comparison against the full eligible set without clearing their profile.
Related
application/web/web_main.pyga_standardsapplication/frontend/src/pages/GapAnalysis/GapAnalysis.tsx- #1043
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the ga_standards entry point in application/web/web_main.py, then inspect application/frontend/src/pages/GapAnalysis/GapAnalysis.tsx and the existing ResourceSelector ?all=true pattern. Trace how /standards applies apply_user_resource_filter while preserving GA eligibility gating. Done means the listed logged-in, bypass, anonymous, and flags-off scenarios pass, and Map Analysis defaults to the saved selection while supporting all eligible standards.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, typescript
- Domain
- api, backend, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100