feat: allow grouping shows into collections (#13236)
Some checks are pending
OpenAPI / OpenAPI - BASE (push) Waiting to run
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run

* feat: allow grouping shows into collections

* add pre-startup routine to rename EnableGroupingIntoCollections

* Update Jellyfin.Server/Migrations/PreStartupRoutines/RenameEnableGroupingIntoCollections.cs
This commit is contained in:
Johannes Heuel
2025-03-28 13:54:12 +01:00
committed by GitHub
parent 9657708b38
commit 2c499d1e86
5 changed files with 74 additions and 10 deletions

View File

@@ -1064,11 +1064,6 @@ namespace MediaBrowser.Controller.Entities
return false;
}
if (queryParent is Series)
{
return false;
}
if (queryParent is Season)
{
return false;
@@ -1088,12 +1083,15 @@ namespace MediaBrowser.Controller.Entities
if (!param.HasValue)
{
if (user is not null && !configurationManager.Configuration.EnableGroupingIntoCollections)
if (user is not null && query.IncludeItemTypes.Any(type =>
(type == BaseItemKind.Movie && !configurationManager.Configuration.EnableGroupingMoviesIntoCollections) ||
(type == BaseItemKind.Series && !configurationManager.Configuration.EnableGroupingShowsIntoCollections)))
{
return false;
}
if (query.IncludeItemTypes.Length == 0 || query.IncludeItemTypes.Contains(BaseItemKind.Movie))
if (query.IncludeItemTypes.Length == 0
|| query.IncludeItemTypes.Any(type => type == BaseItemKind.Movie || type == BaseItemKind.Series))
{
param = true;
}

View File

@@ -24,7 +24,7 @@ namespace MediaBrowser.Controller.Entities.TV
/// <summary>
/// Class Series.
/// </summary>
public class Series : Folder, IHasTrailers, IHasDisplayOrder, IHasLookupInfo<SeriesInfo>, IMetadataContainer
public class Series : Folder, IHasTrailers, IHasDisplayOrder, IHasLookupInfo<SeriesInfo>, IMetadataContainer, ISupportsBoxSetGrouping
{
public Series()
{