Hide private projects on all remaining surfaces (#1300 follow-up) - #1303
Merged
jonfroehlich merged 1 commit intoJun 15, 2026
Merged
Conversation
The first commit covered the gallery, landing grid, member page, individual project page, and pub/talk/video chips. Audit found six more places that still mentioned a private project; route them all through is_visible: - Awards page: drop the plain-text fallback and list only visible projects (new Award.get_visible_projects); a private project is no longer named. Admin get_project_names() still lists all. - Related projects on a project page: filter on is_visible (was gallery_image only), so a private project can't appear as a card. - People listing: Person.get_projects_sorted_by_contrib now filters is_visible=True. - News item page: show only visible related projects, while the related- news lookup still considers all linked projects (behavior unchanged). - Project-listing umbrella filter: count and list only visible projects so private ones don't inflate counts or leak names into the page. - Landing carousel: exclude banners tied to a private project (banners with no project, or a visible project, are unaffected). Per maintainer decision, /view-project-people/ is intentionally left as an internal tool and is not filtered. Adds regression tests for each surface (135 tests pass). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #1302. That PR was merged with only its first commit (
426bdcf) — the second commit (281fe1b), which closed the remaining visibility leaks, missed the merge window and never landed onmaster. This re-applies exactly that commit.Context
#1302's first commit made the primary surfaces honor
is_visible(gallery, landing grid, member page, individual project page, pub/talk/video chips). An audit then found six more places that still named a private project. Those fixes are what this PR adds.What this changes
Award.get_visible_projects)gallery_imageonlyis_visibleget_projects_sorted_by_contribfiltered by pub countis_visible=Truenews.project.all()project_set.all()Intentionally not changed:
/view-project-people/— per maintainer decision this is an internal people-tracking tool, left exempt.Testing
--settings=makeabilitylab.settings_test), including one regression test per surface above intest_project_visibility.py.Deploy
Merging to
masterships to -test only; no production tag yet.🤖 Generated with Claude Code