3.0.5482.1

This commit is contained in:
Luke Pulverenti
2015-01-04 19:49:22 -05:00
parent 5a5ec56328
commit c30036d9cf
5 changed files with 53 additions and 52 deletions

View File

@@ -160,10 +160,25 @@ namespace MediaBrowser.Server.Implementations.Library
{
Users = await LoadUsers().ConfigureAwait(false);
foreach (var user in Users.ToList())
var users = Users.ToList();
foreach (var user in users)
{
await DoPolicyMigration(user).ConfigureAwait(false);
}
// If there are no local users with admin rights, make them all admins
if (!users.Any(i => i.Policy.IsAdministrator))
{
foreach (var user in users)
{
if (!user.ConnectLinkType.HasValue || user.ConnectLinkType.Value == UserLinkType.LinkedUser)
{
user.Policy.IsAdministrator = true;
await UpdateUserPolicy(user, user.Policy, false).ConfigureAwait(false);
}
}
}
}
public Task<bool> AuthenticateUser(string username, string passwordSha1, string remoteEndPoint)
@@ -331,7 +346,7 @@ namespace MediaBrowser.Server.Implementations.Library
user.Policy.IsHidden = user.Configuration.IsHidden;
user.Policy.MaxParentalRating = user.Configuration.MaxParentalRating;
await UpdateUserPolicy(user.Id.ToString("N"), user.Policy);
await UpdateUserPolicy(user, user.Policy, false);
user.Configuration.HasMigratedToPolicy = true;
await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
@@ -867,12 +882,6 @@ namespace MediaBrowser.Server.Implementations.Library
userPolicy = _jsonSerializer.DeserializeFromString<UserPolicy>(json);
}
var updateConfig = user.Policy.IsAdministrator != userPolicy.IsAdministrator ||
user.Policy.EnableLiveTvManagement != userPolicy.EnableLiveTvManagement ||
user.Policy.EnableLiveTvAccess != userPolicy.EnableLiveTvAccess ||
user.Policy.EnableMediaPlayback != userPolicy.EnableMediaPlayback ||
user.Policy.EnableContentDeletion != userPolicy.EnableContentDeletion;
var path = GetPolifyFilePath(user);
Directory.CreateDirectory(Path.GetDirectoryName(path));
@@ -883,16 +892,13 @@ namespace MediaBrowser.Server.Implementations.Library
user.Policy = userPolicy;
}
if (updateConfig)
{
user.Configuration.IsAdministrator = user.Policy.IsAdministrator;
user.Configuration.EnableLiveTvManagement = user.Policy.EnableLiveTvManagement;
user.Configuration.EnableLiveTvAccess = user.Policy.EnableLiveTvAccess;
user.Configuration.EnableMediaPlayback = user.Policy.EnableMediaPlayback;
user.Configuration.EnableContentDeletion = user.Policy.EnableContentDeletion;
user.Configuration.IsAdministrator = user.Policy.IsAdministrator;
user.Configuration.EnableLiveTvManagement = user.Policy.EnableLiveTvManagement;
user.Configuration.EnableLiveTvAccess = user.Policy.EnableLiveTvAccess;
user.Configuration.EnableMediaPlayback = user.Policy.EnableMediaPlayback;
user.Configuration.EnableContentDeletion = user.Policy.EnableContentDeletion;
await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
}
await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
}
private void DeleteUserPolicy(User user)