Requests Remaining |
-
+ |
{{'UserManagment.MovieRemaining' | translate: {remaining: u.movieRequestQuota.remaining, total: u.movieRequestLimit} }}
@@ -59,7 +59,7 @@
Next Request Due |
-
+ |
{{'UserManagment.MovieDue' | translate: {date: (u.movieRequestQuota.nextRequest | amLocal | amDateFormat: 'l LT')} }}
@@ -73,10 +73,10 @@
Last Logged In |
-
+ |
{{u.lastLoggedIn | amLocal | amDateFormat: 'l LT'}}
-
+
Not logged in yet!
|
@@ -87,12 +87,13 @@
Local User
Plex User
- Emby User |
+ Emby User
+ LDAP User |
-
+
Roles |
-
+ |
{{claim.value}}
@@ -112,7 +113,7 @@
|
-
+
|
@@ -146,7 +147,7 @@
-
+
diff --git a/src/Ombi/Controllers/V1/JobController.cs b/src/Ombi/Controllers/V1/JobController.cs
index 6ffbf8486..82fe6f3b8 100644
--- a/src/Ombi/Controllers/V1/JobController.cs
+++ b/src/Ombi/Controllers/V1/JobController.cs
@@ -9,6 +9,7 @@ using Ombi.Schedule.Jobs.Emby;
using Ombi.Schedule.Jobs.Ombi;
using Ombi.Schedule.Jobs.Plex;
using Ombi.Schedule.Jobs.Radarr;
+using Ombi.Schedule.Jobs.Ldap;
using Quartz;
namespace Ombi.Controllers.V1
@@ -102,6 +103,17 @@ namespace Ombi.Controllers.V1
return true;
}
+ ///
+ /// Runs the LDAP User importer
+ ///
+ ///
+ [HttpPost("ldapuserimporter")]
+ public async Task LdapUserImporter()
+ {
+ await OmbiQuartz.TriggerJob(nameof(ILdapUserImporter), "LDAP");
+ return true;
+ }
+
///
/// Runs the Plex Content Cacher
///
diff --git a/src/Ombi/Controllers/V1/SettingsController.cs b/src/Ombi/Controllers/V1/SettingsController.cs
index 32cafd904..d1d282b31 100644
--- a/src/Ombi/Controllers/V1/SettingsController.cs
+++ b/src/Ombi/Controllers/V1/SettingsController.cs
@@ -426,6 +426,28 @@ namespace Ombi.Controllers.V1
return await Get();
}
+ ///
+ /// Save the LDAP settings.
+ ///
+ /// The settings.
+ ///
+ [HttpPost("ldap")]
+ public async Task LdapSettings([FromBody] LdapSettings settings)
+ {
+ return await Save(settings);
+ }
+
+ ///
+ /// Gets the LDAP Settings.
+ ///
+ ///
+ [HttpGet("ldap")]
+ [AllowAnonymous]
+ public async Task LdapSettings()
+ {
+ return await Get();
+ }
+
///
/// Save the Radarr settings.
///
diff --git a/src/Ombi/Controllers/V1/TokenController.cs b/src/Ombi/Controllers/V1/TokenController.cs
index d706434f8..79a191f47 100644
--- a/src/Ombi/Controllers/V1/TokenController.cs
+++ b/src/Ombi/Controllers/V1/TokenController.cs
@@ -48,22 +48,12 @@ namespace Ombi.Controllers.V1
{
if (!model.UsePlexOAuth)
{
- var user = await _userManager.FindByNameAsync(model.Username);
-
+ var user = await _userManager.FindUser(model.Username);
if (user == null)
{
- // Could this be an email login?
- user = await _userManager.FindByEmailAsync(model.Username);
-
- if (user == null)
- {
- return new UnauthorizedResult();
- }
-
- user.EmailLogin = true;
+ return new UnauthorizedResult();
}
-
// Verify Password
if (await _userManager.CheckPasswordAsync(user, model.Password))
{
@@ -184,17 +174,11 @@ namespace Ombi.Controllers.V1
var account = await _plexOAuthManager.GetAccount(accessToken);
// Get the ombi user
- var user = await _userManager.FindByNameAsync(account.user.username);
+ var user = await _userManager.FindUser(account.user.username);
if (user == null)
{
- // Could this be an email login?
- user = await _userManager.FindByEmailAsync(account.user.email);
-
- if (user == null)
- {
- return new UnauthorizedResult();
- }
+ return new UnauthorizedResult();
}
return await CreateToken(true, user);
@@ -225,17 +209,11 @@ namespace Ombi.Controllers.V1
[HttpPost("requirePassword")]
public async Task DoesUserRequireAPassword([FromBody] UserAuthModel model)
{
- var user = await _userManager.FindByNameAsync(model.Username);
+ var user = await _userManager.FindUser(model.Username);
if (user == null)
{
- // Could this be an email login?
- user = await _userManager.FindByEmailAsync(model.Username);
-
- if (user == null)
- {
- return true;
- }
+ return true;
}
var requires = await _userManager.RequiresPassword(user);