diff --git a/README.md b/README.md index f18889da6..188c3baf0 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ Search the existing requests to see if your suggestion has already been submitte # Preview -![Preview](http://i.imgur.com/yrz2pzl.gif) +![Preview](http://i.imgur.com/Nn1BwAM.gif) # Installation diff --git a/src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs b/src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs index 9751176ea..fc743eb0a 100644 --- a/src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs +++ b/src/Ombi.Schedule/Jobs/Plex/PlexUserImporter.cs @@ -93,9 +93,12 @@ namespace Ombi.Schedule.Jobs.Plex } if (userManagementSettings.DefaultRoles.Any()) { + // Get the new user object to avoid any concurrency failures + var dbUser = + await _userManager.Users.FirstOrDefaultAsync(x => x.UserName == newUser.UserName); foreach (var defaultRole in userManagementSettings.DefaultRoles) { - await _userManager.AddToRoleAsync(newUser, defaultRole); + await _userManager.AddToRoleAsync(dbUser, defaultRole); } } } diff --git a/src/Ombi/ClientApp/app/app.module.ts b/src/Ombi/ClientApp/app/app.module.ts index ab79b8fe9..06f18b923 100644 --- a/src/Ombi/ClientApp/app/app.module.ts +++ b/src/Ombi/ClientApp/app/app.module.ts @@ -15,12 +15,14 @@ import { JwtModule } from "@auth0/angular-jwt"; import { NgbModule } from "@ng-bootstrap/ng-bootstrap"; import { TranslateLoader, TranslateModule } from "@ngx-translate/core"; import { TranslateHttpLoader } from "@ngx-translate/http-loader"; +import { CookieService } from "ng2-cookies"; import { GrowlModule } from "primeng/components/growl/growl"; import { ButtonModule, CaptchaModule,ConfirmationService, ConfirmDialogModule, DataTableModule,DialogModule, SharedModule, TooltipModule } from "primeng/primeng"; // Components import { AppComponent } from "./app.component"; +import { CookieComponent } from "./auth/cookie.component"; import { PageNotFoundComponent } from "./errors/not-found.component"; import { LandingPageComponent } from "./landingpage/landingpage.component"; import { LoginComponent } from "./login/login.component"; @@ -55,6 +57,7 @@ const routes: Routes = [ { path: "reset", component: ResetPasswordComponent }, { path: "token", component: TokenResetPasswordComponent }, { path: "landingpage", component: LandingPageComponent }, + { path: "auth/cookie", component: CookieComponent }, ]; // AoT requires an exported function for factories @@ -120,6 +123,7 @@ export function HttpLoaderFactory(http: HttpClient, platformLocation: PlatformLo LandingPageComponent, ResetPasswordComponent, TokenResetPasswordComponent, + CookieComponent, ], providers: [ RequestService, @@ -132,6 +136,7 @@ export function HttpLoaderFactory(http: HttpClient, platformLocation: PlatformLo LandingPageService, ConfirmationService, ImageService, + CookieService, ], bootstrap: [AppComponent], }) diff --git a/src/Ombi/ClientApp/app/requests/movierequests.component.html b/src/Ombi/ClientApp/app/requests/movierequests.component.html index 1b2e0751e..628282c81 100644 --- a/src/Ombi/ClientApp/app/requests/movierequests.component.html +++ b/src/Ombi/ClientApp/app/requests/movierequests.component.html @@ -36,26 +36,26 @@
{{ 'Requests.Status' | translate }} - {{request.status}} + {{request.status}}
{{ 'Requests.RequestStatus' | translate }} - - - + + + - +
-
+
{{ 'Requests.Denied' | translate }}
-
{{ 'Requests.ReleaseDate' | translate }} {{request.releaseDate | date}}
-
{{ 'Requests.RequestedDate' | translate }} {{request.requestedDate | date}}
+
{{ 'Requests.ReleaseDate' | translate }} {{request.releaseDate | date}}
+
{{ 'Requests.RequestedDate' | translate }} {{request.requestedDate | date}}

{{ 'Requests.QualityOverride' | translate }} {{request.qualityOverrideTitle}}
diff --git a/src/Ombi/ClientApp/app/requests/tvrequest-children.component.html b/src/Ombi/ClientApp/app/requests/tvrequest-children.component.html index 9cace5f67..74d1366a5 100644 --- a/src/Ombi/ClientApp/app/requests/tvrequest-children.component.html +++ b/src/Ombi/ClientApp/app/requests/tvrequest-children.component.html @@ -69,11 +69,11 @@ {{ep.airDate | date: 'dd/MM/yyyy' }} - - - + + +
-
+
diff --git a/src/Ombi/ClientApp/app/search/moviesearch.component.html b/src/Ombi/ClientApp/app/search/moviesearch.component.html index c7add48cb..43833dbe5 100644 --- a/src/Ombi/ClientApp/app/search/moviesearch.component.html +++ b/src/Ombi/ClientApp/app/search/moviesearch.component.html @@ -39,17 +39,17 @@

{{result.title}} ({{result.releaseDate | date: 'yyyy'}})

- {{ 'Search.ReleaseDate' | translate }} {{result.releaseDate | date: 'dd/MM/yyyy'}} + {{ 'Search.ReleaseDate' | translate }} {{result.releaseDate | date: 'dd/MM/yyyy'}} - + - - {{result.quality}}p + + {{result.quality}}p - - - - + + + + diff --git a/src/Ombi/ClientApp/app/search/seriesinformation.component.html b/src/Ombi/ClientApp/app/search/seriesinformation.component.html index d021f746a..465563673 100644 --- a/src/Ombi/ClientApp/app/search/seriesinformation.component.html +++ b/src/Ombi/ClientApp/app/search/seriesinformation.component.html @@ -54,11 +54,11 @@ {{ep.airDate | date: 'dd/MM/yyyy' }} - Available - Processing Request - Selected - Pending Approval - Not Requested + Available + Processing Request + Selected + Pending Approval + Not Requested diff --git a/src/Ombi/ClientApp/app/search/tvsearch.component.html b/src/Ombi/ClientApp/app/search/tvsearch.component.html index 24ab82238..a6a45b2f2 100644 --- a/src/Ombi/ClientApp/app/search/tvsearch.component.html +++ b/src/Ombi/ClientApp/app/search/tvsearch.component.html @@ -53,21 +53,21 @@

{{node.data.title}} ({{node.data.firstAired | date: 'yyyy'}})

- {{node.data.status}} + {{node.data.status}} - Air Date: {{node.data.firstAired | date: 'dd/MM/yyyy'}} + Air Date: {{node.data.firstAired | date: 'dd/MM/yyyy'}} - {{node.data.network}} + {{node.data.network}} - Available - Partially Available + Available + Partially Available - HomePage + HomePage - Trailer + Trailer
diff --git a/src/Ombi/package-lock.json b/src/Ombi/package-lock.json index 725ac5729..c0f11d739 100644 --- a/src/Ombi/package-lock.json +++ b/src/Ombi/package-lock.json @@ -5061,6 +5061,7 @@ "resolved": "https://registry.npmjs.org/npm/-/npm-5.5.1.tgz", "integrity": "sha512-M3aO8EjHebaCw6uur4C86SZqkypnoaEVo5R63FEEU0dw9wLxf/JlwWtJItShYVyQS2WDxG2It10GEe5GmVEM2Q==", "requires": { + "JSONStream": "1.3.1", "abbrev": "1.1.1", "ansi-regex": "3.0.0", "ansicolors": "0.3.2", @@ -5092,7 +5093,6 @@ "ini": "1.3.4", "init-package-json": "1.10.1", "is-cidr": "1.0.0", - "JSONStream": "1.3.1", "lazy-property": "1.0.0", "libnpx": "9.6.0", "lockfile": "1.0.3", @@ -5167,6 +5167,24 @@ "write-file-atomic": "2.1.0" }, "dependencies": { + "JSONStream": { + "version": "1.3.1", + "bundled": true, + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" + }, + "dependencies": { + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + } + } + }, "abbrev": { "version": "1.1.1", "bundled": true @@ -5540,24 +5558,6 @@ } } }, - "JSONStream": { - "version": "1.3.1", - "bundled": true, - "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" - }, - "dependencies": { - "jsonparse": { - "version": "1.3.1", - "bundled": true - }, - "through": { - "version": "2.3.8", - "bundled": true - } - } - }, "lazy-property": { "version": "1.0.0", "bundled": true @@ -10509,14 +10509,6 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -10527,6 +10519,14 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", diff --git a/src/Ombi/package.json b/src/Ombi/package.json index c1a4807c1..467852c6a 100644 --- a/src/Ombi/package.json +++ b/src/Ombi/package.json @@ -59,7 +59,7 @@ "primeng": "^4.3.0", "reflect-metadata": "0.1.10", "run-sequence": "^2.2.0", - "rxjs": "^5.5.2", + "rxjs": "5.5.2", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", "to-string-loader": "^1.1.5",