diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/UserManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/UserManager.cs | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index 791cae553..cf3b4434e 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -781,20 +781,29 @@ namespace MediaBrowser.Server.Implementations.Library { lock (_policySyncLock) { - return (UserPolicy)_xmlSerializer.DeserializeFromFile(typeof(UserPolicy), path); + return (UserPolicy) _xmlSerializer.DeserializeFromFile(typeof (UserPolicy), path); } } + catch (FileNotFoundException) + { + return GetDefaultPolicy(user); + } catch (Exception ex) { _logger.ErrorException("Error reading policy file: {0}", ex, path); - return new UserPolicy - { - EnableSync = !user.ConnectLinkType.HasValue || user.ConnectLinkType.Value != UserLinkType.Guest - }; + return GetDefaultPolicy(user); } } + private UserPolicy GetDefaultPolicy(User user) + { + return new UserPolicy + { + EnableSync = true + }; + } + private readonly object _policySyncLock = new object(); public async Task UpdateUserPolicy(string userId, UserPolicy userPolicy) { |
