Преглед изворни кода

added series level settings to control display of specials

Luke Pulverenti пре 11 година
родитељ
комит
50ea8cd941

+ 5 - 0
MediaBrowser.Api/ItemUpdateService.cs

@@ -385,6 +385,11 @@ namespace MediaBrowser.Api
                 series.Status = request.Status;
                 series.AirDays = request.AirDays;
                 series.AirTime = request.AirTime;
+
+                if (request.DisplaySpecialsWithSeasons.HasValue)
+                {
+                    series.DisplaySpecialsWithSeasons = request.DisplaySpecialsWithSeasons.Value;
+                }
             }
         }
 

+ 4 - 1
MediaBrowser.Controller/Entities/TV/Series.cs

@@ -29,8 +29,11 @@ namespace MediaBrowser.Controller.Entities.TV
             RemoteTrailers = new List<MediaUrl>();
             LocalTrailerIds = new List<Guid>();
             Tags = new List<string>();
+            DisplaySpecialsWithSeasons = true;
         }
 
+        public bool DisplaySpecialsWithSeasons { get; set; }
+
         public List<Guid> LocalTrailerIds { get; set; }
         
         public List<MediaUrl> RemoteTrailers { get; set; }
@@ -157,7 +160,7 @@ namespace MediaBrowser.Controller.Entities.TV
             var episodes = GetRecursiveChildren(user)
                 .OfType<Episode>();
 
-            episodes = FilterEpisodesBySeason(episodes, seasonNumber, true);
+            episodes = FilterEpisodesBySeason(episodes, seasonNumber, DisplaySpecialsWithSeasons);
 
             var config = user.Configuration;
 

+ 1 - 0
MediaBrowser.Model/Dto/BaseItemDto.cs

@@ -34,6 +34,7 @@ namespace MediaBrowser.Model.Dto
         public int? AirsAfterSeasonNumber { get; set; }
         public int? AirsBeforeEpisodeNumber { get; set; }
         public int? AbsoluteEpisodeNumber { get; set; }
+        public bool? DisplaySpecialsWithSeasons { get; set; }
 
         /// <summary>
         /// Gets or sets the DVD season number.

+ 1 - 1
MediaBrowser.Model/Querying/ItemFields.cs

@@ -59,7 +59,7 @@ namespace MediaBrowser.Model.Querying
         /// <summary>
         /// The metadata settings
         /// </summary>
-        MetadataSettings,
+        Settings,
 
         /// <summary>
         /// The original run time ticks

+ 6 - 1
MediaBrowser.Server.Implementations/Dto/DtoService.cs

@@ -728,7 +728,7 @@ namespace MediaBrowser.Server.Implementations.Dto
 
             dto.DisplayMediaType = item.DisplayMediaType;
 
-            if (fields.Contains(ItemFields.MetadataSettings))
+            if (fields.Contains(ItemFields.Settings))
             {
                 dto.LockedFields = item.LockedFields;
                 dto.EnableInternetProviders = !item.DontFetchMeta;
@@ -1093,6 +1093,11 @@ namespace MediaBrowser.Server.Implementations.Dto
                 dto.SpecialFeatureCount = series.SpecialFeatureIds.Count;
 
                 dto.SeasonCount = series.SeasonCount;
+
+                if (fields.Contains(ItemFields.Settings))
+                {
+                    dto.DisplaySpecialsWithSeasons = series.DisplaySpecialsWithSeasons;
+                }
             }
 
             if (episode != null)