diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-04 19:49:22 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-01-04 19:49:22 -0500 |
| commit | c30036d9cf265c555eefedb5cf1453c3b45959e1 (patch) | |
| tree | 81eb1eff56b5f09c8f41e135368b54ee6ed08a9e /MediaBrowser.Server.Implementations | |
| parent | 5a5ec56328ef3a6ac551543e17a0f0b0e0492cef (diff) | |
3.0.5482.1
Diffstat (limited to 'MediaBrowser.Server.Implementations')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/UserManager.cs | 40 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs | 8 |
2 files changed, 27 insertions, 21 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index 503af4970..3b6de5998 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -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) diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs index 896e49cb2..7a363c54a 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs @@ -29,7 +29,7 @@ namespace MediaBrowser.Server.Implementations.Sync private readonly ILogger _logger; private readonly IUserManager _userManager; private readonly ITVSeriesManager _tvSeriesManager; - private readonly IMediaEncoder MediaEncoder; + private readonly IMediaEncoder _mediaEncoder; public SyncJobProcessor(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder) { @@ -39,7 +39,7 @@ namespace MediaBrowser.Server.Implementations.Sync _logger = logger; _userManager = userManager; _tvSeriesManager = tvSeriesManager; - MediaEncoder = mediaEncoder; + _mediaEncoder = mediaEncoder; } public async Task EnsureJobItems(SyncJob job) @@ -412,7 +412,7 @@ namespace MediaBrowser.Server.Implementations.Sync jobItem.Status = SyncJobItemStatus.Converting; await _syncRepo.Update(jobItem).ConfigureAwait(false); - jobItem.OutputPath = await MediaEncoder.EncodeVideo(new EncodingJobOptions(streamInfo, profile), new Progress<double>(), cancellationToken); + jobItem.OutputPath = await _mediaEncoder.EncodeVideo(new EncodingJobOptions(streamInfo, profile), new Progress<double>(), cancellationToken); } else { @@ -456,7 +456,7 @@ namespace MediaBrowser.Server.Implementations.Sync jobItem.Status = SyncJobItemStatus.Converting; await _syncRepo.Update(jobItem).ConfigureAwait(false); - jobItem.OutputPath = await MediaEncoder.EncodeAudio(new EncodingJobOptions(streamInfo, profile), new Progress<double>(), cancellationToken); + jobItem.OutputPath = await _mediaEncoder.EncodeAudio(new EncodingJobOptions(streamInfo, profile), new Progress<double>(), cancellationToken); } else { |
