From 42f76ca34f5af60a9ffe3739f946e4ab5b1c4735 Mon Sep 17 00:00:00 2001 From: Gykes <24581046+Gykes@users.noreply.github.com> Date: Wed, 5 Nov 2025 22:26:30 -0800 Subject: [PATCH] Filter by Studio (#6155) --- pkg/sqlite/scene.go | 4 ++++ ui/v2.5/src/models/list-filter/scenes.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/pkg/sqlite/scene.go b/pkg/sqlite/scene.go index 0a7829f28..ccabbbcf6 100644 --- a/pkg/sqlite/scene.go +++ b/pkg/sqlite/scene.go @@ -1096,6 +1096,7 @@ var sceneSortOptions = sortOptions{ "perceptual_similarity", "random", "rating", + "studio", "tag_count", "title", "updated_at", @@ -1208,6 +1209,9 @@ func (qb *SceneStore) setSceneSort(query *queryBuilder, findFilter *models.FindF query.sortAndPagination += fmt.Sprintf(" ORDER BY (SELECT MAX(o_date) FROM %s AS sort WHERE sort.%s = %s.id) %s", scenesODatesTable, sceneIDColumn, sceneTable, getSortDirection(direction)) case "o_counter": query.sortAndPagination += getCountSort(sceneTable, scenesODatesTable, sceneIDColumn, direction) + case "studio": + query.join(studioTable, "", "scenes.studio_id = studios.id") + query.sortAndPagination += getSort("name", direction, studioTable) default: query.sortAndPagination += getSort(sort, direction, "scenes") } diff --git a/ui/v2.5/src/models/list-filter/scenes.ts b/ui/v2.5/src/models/list-filter/scenes.ts index 592b8b6fe..d59f87d99 100644 --- a/ui/v2.5/src/models/list-filter/scenes.ts +++ b/ui/v2.5/src/models/list-filter/scenes.ts @@ -53,6 +53,7 @@ const sortByOptions = [ "interactive", "interactive_speed", "perceptual_similarity", + "studio", ...MediaSortByOptions, ] .map(ListFilterOptions.createSortBy)