mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-14 09:12:57 -07:00
commit
4ed18e88bc
6 changed files with 27 additions and 61 deletions
|
@ -1,5 +1,14 @@
|
|||
# Changelog
|
||||
|
||||
## v3.0.3239 (2018-04-26)
|
||||
|
||||
### **Fixes**
|
||||
|
||||
- Potential fix for #2119. [Jamie Rees]
|
||||
|
||||
- Use the Application URL if we have it to fix #2201. [Jamie]
|
||||
|
||||
|
||||
## v3.0.3239 (2018-04-26)
|
||||
|
||||
### **New Features**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
#tool "nuget:?package=GitVersion.CommandLine"
|
||||
#addin "Cake.Gulp"
|
||||
#addin "Cake.Npm"
|
||||
#addin "nuget:?package=Cake.Npm&version=0.13.0"
|
||||
#addin "SharpZipLib"
|
||||
#addin nuget:?package=Cake.Compression&version=0.1.4
|
||||
#addin "Cake.Incubator"
|
||||
|
|
|
@ -57,21 +57,8 @@ namespace Ombi.Core.Authentication
|
|||
|
||||
public async Task<Uri> GetOAuthUrl(int pinId, string code, string websiteAddress = null)
|
||||
{
|
||||
Uri url;
|
||||
if (websiteAddress.IsNullOrEmpty())
|
||||
{
|
||||
var settings = await _customizationSettingsService.GetSettingsAsync();
|
||||
if (settings.ApplicationUrl.IsNullOrEmpty())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
url = _api.GetOAuthUrl(pinId, code, settings.ApplicationUrl, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
url = _api.GetOAuthUrl(pinId, code, websiteAddress, false);
|
||||
}
|
||||
var settings = await _customizationSettingsService.GetSettingsAsync();
|
||||
var url = _api.GetOAuthUrl(pinId, code, settings.ApplicationUrl.IsNullOrEmpty() ? websiteAddress : settings.ApplicationUrl, false);
|
||||
|
||||
return url;
|
||||
}
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
import { Component } from "@angular/core";
|
||||
import { Router } from "@angular/router";
|
||||
|
||||
import { AuthService } from "../../auth/auth.service";
|
||||
import { IdentityService } from "../../services";
|
||||
import { NotificationService } from "../../services";
|
||||
import { SettingsService } from "../../services";
|
||||
|
||||
@Component({
|
||||
templateUrl: "./createadmin.component.html",
|
||||
|
@ -15,28 +13,12 @@ export class CreateAdminComponent {
|
|||
public password: string;
|
||||
|
||||
constructor(private identityService: IdentityService, private notificationService: NotificationService,
|
||||
private router: Router, private auth: AuthService, private settings: SettingsService) { }
|
||||
private router: Router) { }
|
||||
|
||||
public createUser() {
|
||||
this.identityService.createWizardUser({username: this.username, password: this.password, usePlexAdminAccount: false}).subscribe(x => {
|
||||
if (x) {
|
||||
// Log me in.
|
||||
this.auth.login({ username: this.username, password: this.password, rememberMe: false, usePlexOAuth:false }).subscribe(c => {
|
||||
|
||||
localStorage.setItem("id_token", c.access_token);
|
||||
|
||||
// Mark that we have done the settings now
|
||||
this.settings.getOmbi().subscribe(ombi => {
|
||||
ombi.wizard = true;
|
||||
|
||||
this.settings.saveOmbi(ombi).subscribe(x => {
|
||||
|
||||
this.router.navigate(["search"]);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
this.router.navigate(["login"]);
|
||||
} else {
|
||||
this.notificationService.error("There was an error... You might want to put this on Github...");
|
||||
}
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
import { Router } from "@angular/router";
|
||||
|
||||
import { PlexService } from "../../services";
|
||||
import { IdentityService, NotificationService, SettingsService } from "../../services";
|
||||
import { AuthService } from "./../../auth/auth.service";
|
||||
import { IdentityService, NotificationService } from "../../services";
|
||||
|
||||
@Component({
|
||||
templateUrl: "./plex.component.html",
|
||||
|
@ -15,9 +14,7 @@ export class PlexComponent {
|
|||
|
||||
constructor(private plexService: PlexService, private router: Router,
|
||||
private notificationService: NotificationService,
|
||||
private identityService: IdentityService,
|
||||
private settings: SettingsService,
|
||||
private auth: AuthService) { }
|
||||
private identityService: IdentityService) { }
|
||||
|
||||
public requestAuthToken() {
|
||||
this.plexService.logIn(this.login, this.password).subscribe(x => {
|
||||
|
@ -32,25 +29,7 @@ export class PlexComponent {
|
|||
usePlexAdminAccount: true,
|
||||
}).subscribe(y => {
|
||||
if (y) {
|
||||
this.auth.login({ username: this.login, password: this.password, rememberMe: false, usePlexOAuth: false }).subscribe(c => {
|
||||
localStorage.setItem("id_token", c.access_token);
|
||||
|
||||
// Mark that we have done the settings now
|
||||
this.settings.getOmbi().subscribe(ombi => {
|
||||
ombi.wizard = true;
|
||||
|
||||
this.settings.saveOmbi(ombi).subscribe(s => {
|
||||
this.settings.getUserManagementSettings().subscribe(usr => {
|
||||
|
||||
usr.importPlexAdmin = true;
|
||||
this.settings.saveUserManagementSettings(usr).subscribe(saved => {
|
||||
this.router.navigate(["login"]);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
});
|
||||
this.router.navigate(["login"]);
|
||||
} else {
|
||||
this.notificationService.error("Could not get the Plex Admin Information");
|
||||
return;
|
||||
|
|
|
@ -48,6 +48,7 @@ namespace Ombi.Controllers
|
|||
public IdentityController(OmbiUserManager user, IMapper mapper, RoleManager<IdentityRole> rm, IEmailProvider prov,
|
||||
ISettingsService<EmailNotificationSettings> s,
|
||||
ISettingsService<CustomizationSettings> c,
|
||||
ISettingsService<OmbiSettings> ombiSettings,
|
||||
IWelcomeEmail welcome,
|
||||
IMovieRequestRepository m,
|
||||
ITvRequestRepository t,
|
||||
|
@ -73,6 +74,7 @@ namespace Ombi.Controllers
|
|||
_issuesRepository = issues;
|
||||
_requestLogRepository = requestLog;
|
||||
_issueCommentsRepository = issueComments;
|
||||
OmbiSettings = ombiSettings;
|
||||
}
|
||||
|
||||
private OmbiUserManager UserManager { get; }
|
||||
|
@ -81,6 +83,7 @@ namespace Ombi.Controllers
|
|||
private IEmailProvider EmailProvider { get; }
|
||||
private ISettingsService<EmailNotificationSettings> EmailSettings { get; }
|
||||
private ISettingsService<CustomizationSettings> CustomizationSettings { get; }
|
||||
private ISettingsService<OmbiSettings> OmbiSettings { get; }
|
||||
private IWelcomeEmail WelcomeEmail { get; }
|
||||
private IMovieRequestRepository MovieRepo { get; }
|
||||
private ITvRequestRepository TvRepo { get; }
|
||||
|
@ -107,7 +110,7 @@ namespace Ombi.Controllers
|
|||
public async Task<bool> CreateWizardUser([FromBody] CreateUserWizardModel user)
|
||||
{
|
||||
var users = UserManager.Users;
|
||||
if (users.Any())
|
||||
if (users.Any(x => !x.UserName.Equals("api", StringComparison.CurrentCultureIgnoreCase)))
|
||||
{
|
||||
// No one should be calling this. Only the wizard
|
||||
return false;
|
||||
|
@ -174,6 +177,12 @@ namespace Ombi.Controllers
|
|||
{
|
||||
LogErrors(result);
|
||||
}
|
||||
|
||||
// Update the wizard flag
|
||||
var settings = await OmbiSettings.GetSettingsAsync();
|
||||
settings.Wizard = true;
|
||||
await OmbiSettings.SaveSettingsAsync(settings);
|
||||
|
||||
return result.Succeeded;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue