Skip to content

Conversation

@ReverM
Copy link
Contributor

@ReverM ReverM commented Dec 18, 2025

Issue

https://otwarchive.atlassian.net/browse/AO3-6067

Purpose

This makes uncategorized fandoms be listed on collection fandoms page. As a bonus, this also makes the unwrangled tags collection page show only the work in the collection. This modifies the method used to fetch the fandom (being a combination of how it used to work with the fandom_ids field, and how view works, by going through the fandom tags on the work).

Credit

Danaël / Rever ( they / he )
Danaël Villeneuve on jira

@ReverM
Copy link
Contributor Author

ReverM commented Dec 19, 2025

I'd like to add a test to make sure that non-canonical fandoms don't get double counted. How exactly do I set up a non-canonical fandom under a canonical fandom in cucumber?

After this is done, I shall remove put this as ready for review

@ReverM ReverM marked this pull request as ready for review December 19, 2025 18:17
@omerfaruk-pseud omerfaruk-pseud self-requested a review December 26, 2025 11:26
query.search_results.each do |work|
list |= work.fandom_ids if work.fandom_ids.present?
work.tag_groups["Fandom"].each do |fandom|
list.push(fandom.id) if Fandom.find_by(id: fandom.id).unwrangled?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
list.push(fandom.id) if Fandom.find_by(id: fandom.id).unwrangled?
list.push(fandom.id) if fandom.unwrangled?

Will this work?

def index
if @collection
@media = Media.canonical.by_name - [Media.find_by(name: ArchiveConfig.MEDIA_NO_TAG_NAME)] - [Media.find_by(name: ArchiveConfig.MEDIA_UNCATEGORIZED_NAME)]
@media = Media.canonical.by_name.where.not(name: [ArchiveConfig.MEDIA_UNCATEGORIZED_NAME, ArchiveConfig.MEDIA_NO_TAG_NAME]) + [Media.uncategorized]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@media = Media.canonical.by_name.where.not(name: [ArchiveConfig.MEDIA_UNCATEGORIZED_NAME, ArchiveConfig.MEDIA_NO_TAG_NAME]) + [Media.uncategorized]
@media = Media.canonical.by_name.where.not(name: [ArchiveConfig.MEDIA_NO_TAG_NAME])

This should be enough too, what do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think removing it then adding it back is necessary for the uncategorized fandoms to show last

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants