diff --git a/README.md b/README.md index 9b0e212e1..1c2dc9559 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ ![](http://i.imgur.com/qQsN78U.png) ____ -[![Discord](https://img.shields.io/discord/102860784329052160.svg)](https://discord.gg/KxYZ64w) +[![Discord](https://img.shields.io/discord/270828201473736705.svg)](https://discord.gg/Sa7wNWb) [![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/ombi.svg)](https://hub.docker.com/r/linuxserver/ombi/) [![Github All Releases](https://img.shields.io/github/downloads/tidusjar/Ombi/total.svg)](https://github.com/tidusjar/Ombi) -[![firsttimersonly](http://img.shields.io/badge/first--timers--only-friendly-blue.svg?style=flat-square)](http://www.firsttimersonly.com/) +[![firsttimersonly](http://img.shields.io/badge/first--timers--only-friendly-blue.svg)](http://www.firsttimersonly.com/) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/ombi/localized.svg)](https://crowdin.com/project/ombi) -[![Patreon](https://www.ombi.io/img/patreondonate.svg)](https://patreon.com/tidusjar/Ombi) -[![Paypal](https://www.ombi.io/img/paypaldonate.svg)](https://paypal.me/PlexRequestsNet) +[![Patreon](https://img.shields.io/badge/patreon-donate-yellow.svg)](https://patreon.com/tidusjar/Ombi) +[![Paypal](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://paypal.me/PlexRequestsNet) ___ diff --git a/appveyor.yml b/appveyor.yml index 9d97046d5..39d67b91d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,7 +2,7 @@ version: 3.0.{build} configuration: Release os: Visual Studio 2017 environment: - nodejs_version: "Current" + nodejs_version: "9.8.0" install: # Get the latest stable version of Node.js or io.js diff --git a/src/Ombi/ClientApp/app/wizard/createadmin/createadmin.component.ts b/src/Ombi/ClientApp/app/wizard/createadmin/createadmin.component.ts index 07f47f265..b997f1d9f 100644 --- a/src/Ombi/ClientApp/app/wizard/createadmin/createadmin.component.ts +++ b/src/Ombi/ClientApp/app/wizard/createadmin/createadmin.component.ts @@ -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..."); } diff --git a/src/Ombi/ClientApp/app/wizard/plex/plex.component.ts b/src/Ombi/ClientApp/app/wizard/plex/plex.component.ts index bafe67756..67bd672dc 100644 --- a/src/Ombi/ClientApp/app/wizard/plex/plex.component.ts +++ b/src/Ombi/ClientApp/app/wizard/plex/plex.component.ts @@ -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; diff --git a/src/Ombi/Controllers/IdentityController.cs b/src/Ombi/Controllers/IdentityController.cs index 8a9c76a34..4aaf86d4b 100644 --- a/src/Ombi/Controllers/IdentityController.cs +++ b/src/Ombi/Controllers/IdentityController.cs @@ -48,6 +48,7 @@ namespace Ombi.Controllers public IdentityController(OmbiUserManager user, IMapper mapper, RoleManager rm, IEmailProvider prov, ISettingsService s, ISettingsService c, + ISettingsService 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 EmailSettings { get; } private ISettingsService CustomizationSettings { get; } + private ISettingsService OmbiSettings { get; } private IWelcomeEmail WelcomeEmail { get; } private IMovieRequestRepository MovieRepo { get; } private ITvRequestRepository TvRepo { get; } @@ -107,7 +110,7 @@ namespace Ombi.Controllers public async Task 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; }