diff --git a/Ombi.Services/Jobs/PlexUserChecker.cs b/Ombi.Services/Jobs/PlexUserChecker.cs index d09bba28c..5ea9c74a7 100644 --- a/Ombi.Services/Jobs/PlexUserChecker.cs +++ b/Ombi.Services/Jobs/PlexUserChecker.cs @@ -97,13 +97,16 @@ namespace Ombi.Services.Jobs var needToUpdate = false; var usernameChanged = false; - // Do we need up update any info? - if (!dbUser.EmailAddress.Equals(user.Email, StringComparison.CurrentCultureIgnoreCase)) + if (!string.IsNullOrEmpty(user.Username)) // If true then this is a managed user, we do not want to update the email since Managed Users do not have email addresses { - dbUser.EmailAddress = user.Email; - needToUpdate = true; + // Do we need up update any info? + if (!dbUser.EmailAddress.Equals(user.Email, StringComparison.CurrentCultureIgnoreCase)) + { + dbUser.EmailAddress = user.Email; + needToUpdate = true; + } } - if (!dbUser.Username.Equals(user.Username, StringComparison.CurrentCultureIgnoreCase)) + if (!dbUser.Username.Equals(user.Title, StringComparison.CurrentCultureIgnoreCase)) { needToUpdate = true; usernameChanged = true; @@ -114,8 +117,8 @@ namespace Ombi.Services.Jobs if (usernameChanged) { // The username has changed, let's check if the username matches any local users - var localUser = localUsers.FirstOrDefault(x => x.UserName.Equals(user.Username, StringComparison.CurrentCultureIgnoreCase)); - dbUser.Username = user.Username; + var localUser = localUsers.FirstOrDefault(x => x.UserName.Equals(user.Title, StringComparison.CurrentCultureIgnoreCase)); + dbUser.Username = user.Title; if (localUser != null) { // looks like we have a local user with the same name... @@ -133,7 +136,7 @@ namespace Ombi.Services.Jobs var requestsWithThisUser = requests.Where(x => x.RequestedUsers.Contains(user.Username)).ToList(); foreach (var r in requestsWithThisUser) { - r.RequestedUsers.Remove(user.Username); // Remove old + r.RequestedUsers.Remove(user.Title); // Remove old r.RequestedUsers.Add(dbUser.Username); // Add new } @@ -157,7 +160,7 @@ namespace Ombi.Services.Jobs Features = UserManagementHelper.GetFeatures(userManagementSettings), UserAlias = string.Empty, EmailAddress = user.Email, - Username = user.Username, + Username = user.Title, LoginId = Guid.NewGuid().ToString() }; diff --git a/Ombi.UI/Bootstrapper.cs b/Ombi.UI/Bootstrapper.cs index cff531bd3..aa14ed0ab 100644 --- a/Ombi.UI/Bootstrapper.cs +++ b/Ombi.UI/Bootstrapper.cs @@ -97,6 +97,8 @@ namespace Ombi.UI ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; + + ServicePointManager.Expect100Continue = false; } #if DEBUG diff --git a/Ombi.UI/Content/app/userManagement/Directives/sidebar.html b/Ombi.UI/Content/app/userManagement/Directives/sidebar.html index bb38289d1..799c133fe 100644 --- a/Ombi.UI/Content/app/userManagement/Directives/sidebar.html +++ b/Ombi.UI/Content/app/userManagement/Directives/sidebar.html @@ -39,7 +39,7 @@ Email Address
- +
Alias diff --git a/Ombi.UI/Content/app/userManagement/userManagementController.js b/Ombi.UI/Content/app/userManagement/userManagementController.js index de6c3f14f..56f68005e 100644 --- a/Ombi.UI/Content/app/userManagement/userManagementController.js +++ b/Ombi.UI/Content/app/userManagement/userManagementController.js @@ -31,6 +31,7 @@ }); $scope.selectedUser = user[0]; + $scope.selectedUser.emailDisabled = $scope.selectedUser.type === 0 && $scope.selectedUser.managedUser == ''; openSidebar(); } diff --git a/Ombi.UI/Models/UserManagement/UserManagementUsersViewModel.cs b/Ombi.UI/Models/UserManagement/UserManagementUsersViewModel.cs index d6074babb..fa947e994 100644 --- a/Ombi.UI/Models/UserManagement/UserManagementUsersViewModel.cs +++ b/Ombi.UI/Models/UserManagement/UserManagementUsersViewModel.cs @@ -24,6 +24,7 @@ namespace Ombi.UI.Models.UserManagement public DateTime LastLoggedIn { get; set; } public List Permissions { get; set; } public List Features { get; set; } + public bool ManagedUser { get; set; } } public class UserManagementPlexInformation diff --git a/Ombi.UI/Modules/UserManagementModule.cs b/Ombi.UI/Modules/UserManagementModule.cs index bcf41d3a1..92d848606 100644 --- a/Ombi.UI/Modules/UserManagementModule.cs +++ b/Ombi.UI/Modules/UserManagementModule.cs @@ -231,6 +231,7 @@ namespace Ombi.UI.Modules await UpdateRequests(plexDbUser.Username, plexDbUser.UserAlias, model.Alias); plexDbUser.UserAlias = model.Alias; + plexDbUser.EmailAddress = model.EmailAddress; await PlexUsersRepository.UpdateAsync(plexDbUser); @@ -266,7 +267,7 @@ namespace Ombi.UI.Modules UserAlias = model.Alias, PlexUserId = plexUser.Id, EmailAddress = plexUser.Email, - Username = plexUser.Username, + Username = plexUser.Title, LoginId = Guid.NewGuid().ToString() }; @@ -417,7 +418,7 @@ namespace Ombi.UI.Modules Id = plexInfo.Id, PermissionsFormattedString = newUser ? "Processing..." :( permissions == 0 ? "None" : permissions.ToString()), FeaturesFormattedString = newUser ? "Processing..." : features.ToString(), - Username = plexInfo.Username, + Username = plexInfo.Title, Type = UserType.PlexUser, EmailAddress = plexInfo.Email, Alias = dbUser?.UserAlias ?? string.Empty, @@ -426,6 +427,7 @@ namespace Ombi.UI.Modules { Thumb = plexInfo.Thumb }, + ManagedUser = string.IsNullOrEmpty(plexInfo.Username) }; m.Permissions.AddRange(GetPermissions(permissions));