|
@@ -350,10 +350,17 @@ namespace MediaBrowser.Controller.Entities.TV
|
|
|
|
|
|
public List<BaseItem> GetSeasonEpisodes(Season parentSeason, User user, DtoOptions options, bool shouldIncludeMissingEpisodes)
|
|
public List<BaseItem> GetSeasonEpisodes(Season parentSeason, User user, DtoOptions options, bool shouldIncludeMissingEpisodes)
|
|
{
|
|
{
|
|
|
|
+ var queryFromSeries = ConfigurationManager.Configuration.DisplaySpecialsWithinSeasons;
|
|
|
|
+
|
|
|
|
+ // add optimization when this setting is not enabled
|
|
|
|
+ var seriesKey = queryFromSeries ?
|
|
|
|
+ GetUniqueSeriesKey(this) :
|
|
|
|
+ GetUniqueSeriesKey(parentSeason);
|
|
|
|
+
|
|
var query = new InternalItemsQuery(user)
|
|
var query = new InternalItemsQuery(user)
|
|
{
|
|
{
|
|
- AncestorWithPresentationUniqueKey = null,
|
|
|
|
- SeriesPresentationUniqueKey = GetUniqueSeriesKey(this),
|
|
|
|
|
|
+ AncestorWithPresentationUniqueKey = queryFromSeries ? null : seriesKey,
|
|
|
|
+ SeriesPresentationUniqueKey = queryFromSeries ? seriesKey : null,
|
|
IncludeItemTypes = new[] { BaseItemKind.Episode },
|
|
IncludeItemTypes = new[] { BaseItemKind.Episode },
|
|
OrderBy = new[] { (ItemSortBy.SortName, SortOrder.Ascending) },
|
|
OrderBy = new[] { (ItemSortBy.SortName, SortOrder.Ascending) },
|
|
DtoOptions = options
|
|
DtoOptions = options
|