diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs
index 7086b2c4fa..16b708a58e 100644
--- a/MediaBrowser.Controller/Dto/DtoBuilder.cs
+++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs
@@ -275,11 +275,9 @@ namespace MediaBrowser.Controller.Dto
dto.DisplayPreferencesId = ((Folder)item).GetDisplayPreferencesId(user.Id).ToString();
}
- var addUserData = fields.Contains(ItemFields.UserData);
-
if (item.IsFolder)
{
- if (fields.Contains(ItemFields.ItemCounts) || addUserData)
+ if (fields.Contains(ItemFields.ItemCounts))
{
var folder = (Folder)item;
@@ -290,16 +288,13 @@ namespace MediaBrowser.Controller.Dto
}
}
- if (addUserData)
+ var userData = _userDataRepository.GetUserData(user.Id, item.GetUserDataKey());
+
+ dto.UserData = GetUserItemDataDto(userData);
+
+ if (item.IsFolder)
{
- var userData = _userDataRepository.GetUserData(user.Id, item.GetUserDataKey());
-
- dto.UserData = GetUserItemDataDto(userData);
-
- if (item.IsFolder)
- {
- dto.UserData.Played = dto.PlayedPercentage.HasValue && dto.PlayedPercentage.Value >= 100;
- }
+ dto.UserData.Played = dto.PlayedPercentage.HasValue && dto.PlayedPercentage.Value >= 100;
}
}
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index c89a7f0b2a..c0d681de20 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -992,8 +992,13 @@ namespace MediaBrowser.Controller.Entities
return true;
}
- var rating = CustomRating ?? OfficialRating;
+ var rating = CustomRating;
+ if (string.IsNullOrEmpty(rating))
+ {
+ rating = OfficialRating;
+ }
+
if (string.IsNullOrEmpty(rating))
{
return !user.Configuration.BlockNotRated;
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index e46ec8d3b4..d1f2f87edb 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Progress;
+using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Localization;
@@ -139,6 +140,11 @@ namespace MediaBrowser.Controller.Entities
{
get
{
+ if (this is Series)
+ {
+ return base.OfficialRating;
+ }
+
return !string.IsNullOrEmpty(base.OfficialRating) ? base.OfficialRating : "None";
}
set
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 4fbda10256..953c99fbb1 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -464,6 +464,22 @@ namespace MediaBrowser.Controller.Providers
break;
}
+ case "TvDbId":
+ var tvdbId = reader.ReadElementContentAsString();
+ if (!string.IsNullOrWhiteSpace(tvdbId))
+ {
+ item.SetProviderId(MetadataProviders.Tvdb, tvdbId);
+ }
+ break;
+
+ case "GamesDbId":
+ var gamesdbId = reader.ReadElementContentAsString();
+ if (!string.IsNullOrWhiteSpace(gamesdbId))
+ {
+ item.SetProviderId(MetadataProviders.Gamesdb, gamesdbId);
+ }
+ break;
+
case "MusicbrainzId":
var mbz = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(mbz))
diff --git a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
index 3683e00ade..5756e304dd 100644
--- a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
+++ b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
@@ -73,7 +73,8 @@ namespace MediaBrowser.Providers.Savers
"LockData",
"Trailer",
"CriticRating",
- "CriticRatingSummary"
+ "CriticRatingSummary",
+ "GamesDbId"
});
var position = xml.ToString().LastIndexOf("", StringComparison.OrdinalIgnoreCase);
@@ -269,6 +270,16 @@ namespace MediaBrowser.Providers.Savers
builder.Append("" + SecurityElement.Escape(tmdb) + "");
}
+ if (!(item is Series))
+ {
+ var tvdb = item.GetProviderId(MetadataProviders.Tvdb);
+
+ if (!string.IsNullOrEmpty(tvdb))
+ {
+ builder.Append("" + SecurityElement.Escape(tvdb) + "");
+ }
+ }
+
var tvcom = item.GetProviderId(MetadataProviders.Tvcom);
if (!string.IsNullOrEmpty(tvcom))
@@ -290,6 +301,13 @@ namespace MediaBrowser.Providers.Savers
builder.Append("" + SecurityElement.Escape(mbz) + "");
}
+ var gamesdb = item.GetProviderId(MetadataProviders.Gamesdb);
+
+ if (!string.IsNullOrEmpty(gamesdb))
+ {
+ builder.Append("" + SecurityElement.Escape(gamesdb) + "");
+ }
+
var tmdbCollection = item.GetProviderId(MetadataProviders.TmdbCollection);
if (!string.IsNullOrEmpty(tmdbCollection))
diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js
index 6228c9106b..7a2fae3e93 100644
--- a/MediaBrowser.WebDashboard/ApiClient.js
+++ b/MediaBrowser.WebDashboard/ApiClient.js
@@ -637,10 +637,9 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
};
/**
- * Instructs the server to perform a pending kernel reload or app restart.
- * If a restart is not currently required, nothing will happen.
+ * Instructs the server to perform a restart.
*/
- self.performPendingRestart = function () {
+ self.restartServer = function () {
var url = self.getUrl("System/Restart");
diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config
index cdfd8ba8f9..e92bbf4705 100644
--- a/MediaBrowser.WebDashboard/packages.config
+++ b/MediaBrowser.WebDashboard/packages.config
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file