Merge branch 'develop' of https://github.com/tidusjar/Ombi into develop

pull/4590/head
tidusjar 3 years ago
commit 63fe3c97e9

@ -1,3 +1,12 @@
## [4.16.3](https://github.com/Ombi-app/Ombi/compare/v4.16.2...v4.16.3) (2022-04-08)
### Bug Fixes
* **plex-watchlist:** :bug: Fixed the issue where the watchlist didn't work for users logging in via OAuth ([6398f6a](https://github.com/Ombi-app/Ombi/commit/6398f6a4f7755281ebeac537e3ff623df5cfa0f3))
## [4.16.2](https://github.com/Ombi-app/Ombi/compare/v4.16.1...v4.16.2) (2022-04-07) ## [4.16.2](https://github.com/Ombi-app/Ombi/compare/v4.16.1...v4.16.2) (2022-04-07)
@ -309,14 +318,3 @@
## [4.9.2](https://github.com/Ombi-app/Ombi/compare/v4.9.1...v4.9.2) (2022-01-14)
### Bug Fixes
* :bug: Add UI for Emby recently added cronjob settings ([#4469](https://github.com/Ombi-app/Ombi/issues/4469)) ([7d47bbe](https://github.com/Ombi-app/Ombi/commit/7d47bbe92204855bf75d70b8fa548f9c3f3612bc))
* **sonarr:** :bug: Fixed an issue where we could attempt to add a series to sonarr before sonarr has got all the metadata [#4459](https://github.com/Ombi-app/Ombi/issues/4459) ([5c691dc](https://github.com/Ombi-app/Ombi/commit/5c691dc98437a4cd24560ff625414fe05dd22f89))
* **wizard:** :bug: Fixed the issue where the Application Url wasn't validated in the wizard ([33b8d11](https://github.com/Ombi-app/Ombi/commit/33b8d1111a1c6663d8c0bbd912be4660da7d013f)), closes [#4417](https://github.com/Ombi-app/Ombi/issues/4417)

@ -310,7 +310,6 @@ namespace Ombi.Core.Engine.V2
item.Available = oldModel.Available; item.Available = oldModel.Available;
item.Denied = oldModel.Denied; item.Denied = oldModel.Denied;
item.DeniedReason = oldModel.DeniedReason; item.DeniedReason = oldModel.DeniedReason;
item.FullyDenied = oldModel.FullyDenied;
item.Approved = oldModel.Approved; item.Approved = oldModel.Approved;
item.SeasonRequests = oldModel.SeasonRequests; item.SeasonRequests = oldModel.SeasonRequests;
item.RequestId = oldModel.RequestId; item.RequestId = oldModel.RequestId;

@ -56,7 +56,6 @@ namespace Ombi.Core.Models.Search
public bool FullyAvailable { get; set; } public bool FullyAvailable { get; set; }
// We only have some episodes // We only have some episodes
public bool PartlyAvailable { get; set; } public bool PartlyAvailable { get; set; }
public bool FullyDenied { get; set; }
public override RequestType Type => RequestType.TvShow; public override RequestType Type => RequestType.TvShow;
public string BackdropPath { get; set; } public string BackdropPath { get; set; }

@ -48,7 +48,6 @@ namespace Ombi.Core.Models.Search.V2
public bool FullyAvailable { get; set; } public bool FullyAvailable { get; set; }
// We only have some episodes // We only have some episodes
public bool PartlyAvailable { get; set; } public bool PartlyAvailable { get; set; }
public bool FullyDenied { get; set; }
public override RequestType Type => RequestType.TvShow; public override RequestType Type => RequestType.TvShow;
} }

@ -61,8 +61,6 @@ namespace Ombi.Core.Rule.Rules.Search
request.RequestId = tvRequests.Id; request.RequestId = tvRequests.Id;
request.Requested = true; request.Requested = true;
request.Approved = tvRequests.ChildRequests.Any(x => x.Approved); request.Approved = tvRequests.ChildRequests.Any(x => x.Approved);
request.Denied = tvRequests.ChildRequests.Any(x => x.Denied ?? false);
request.DeniedReason = tvRequests.ChildRequests.FirstOrDefault(x => x.Denied ?? false)?.DeniedReason;
// Let's modify the seasonsrequested to reflect what we have requested... // Let's modify the seasonsrequested to reflect what we have requested...
foreach (var season in request.SeasonRequests) foreach (var season in request.SeasonRequests)
@ -86,7 +84,8 @@ namespace Ombi.Core.Rule.Rules.Search
episodeSearching.Requested = true; episodeSearching.Requested = true;
episodeSearching.Available = ep.Available; episodeSearching.Available = ep.Available;
episodeSearching.Approved = ep.Season.ChildRequest.Approved; episodeSearching.Approved = ep.Season.ChildRequest.Approved;
episodeSearching.Denied = request.Denied; episodeSearching.Denied = ep.Season.ChildRequest.Denied;
episodeSearching.DeniedReason = ep.Season.ChildRequest.DeniedReason;
} }
} }
} }
@ -103,7 +102,8 @@ namespace Ombi.Core.Rule.Rules.Search
if (request.SeasonRequests.Any() && request.SeasonRequests.All(x => x.Episodes.All(e => e.Denied ?? false))) if (request.SeasonRequests.Any() && request.SeasonRequests.All(x => x.Episodes.All(e => e.Denied ?? false)))
{ {
request.FullyDenied = true; request.Denied = true;
request.DeniedReason = tvRequests.ChildRequests.FirstOrDefault(x => x.Denied ?? false)?.DeniedReason;
} }
var hasUnairedRequests = request.SeasonRequests.Any() && request.SeasonRequests.All(x => x.Episodes.Any(e => e.AirDate >= DateTime.UtcNow)); var hasUnairedRequests = request.SeasonRequests.Any() && request.SeasonRequests.All(x => x.Episodes.Any(e => e.AirDate >= DateTime.UtcNow));

@ -31,6 +31,8 @@ namespace Ombi.Store.Repository.Requests
public bool Requested { get; set; } public bool Requested { get; set; }
[NotMapped] [NotMapped]
public bool? Denied { get; set; } public bool? Denied { get; set; }
[NotMapped]
public string DeniedReason { get; set; }
public int SeasonId { get; set; } public int SeasonId { get; set; }
[ForeignKey(nameof(SeasonId))] [ForeignKey(nameof(SeasonId))]

@ -213,11 +213,11 @@ small {
} }
.top-right.approved span.indicator:before{ .top-right.approved span.indicator:before{
background-color: #ff5722; background-color: #ffd740;
} }
.top-right.denied span.indicator:before{ .top-right.denied span.indicator:before{
background-color: #ff5722; background-color: #660202;
} }
.top-right.partly-available span.indicator:before{ .top-right.partly-available span.indicator:before{
@ -225,7 +225,7 @@ small {
} }
.top-right.requested span.indicator:before{ .top-right.requested span.indicator:before{
background-color: #ffd740; background-color: #ff5722;
} }
::ng-deep a.poster-overlay{ ::ng-deep a.poster-overlay{

@ -213,7 +213,7 @@ export class DiscoverCardComponent implements OnInit {
this.result.overview = updated.overview; this.result.overview = updated.overview;
this.result.approved = updated.approved; this.result.approved = updated.approved;
this.result.available = updated.fullyAvailable; this.result.available = updated.fullyAvailable;
this.result.denied = updated.fullyDenied; this.result.denied = updated.denied;
this.fullyLoaded = true; this.fullyLoaded = true;
} }

@ -27,7 +27,6 @@ export interface ISearchTvResultV2 {
approved: boolean; approved: boolean;
denied: boolean; denied: boolean;
deniedReason: string; deniedReason: string;
fullyDenied: boolean;
requested: boolean; requested: boolean;
available: boolean; available: boolean;
plexUrl: string; plexUrl: string;

@ -31,7 +31,7 @@
.top-right.approved span:before{ .top-right.approved span:before{
display: inline-block; display: inline-block;
background-color: #ff5722; background-color: #ffd740;
} }
.top-right.requested span { .top-right.requested span {
@ -40,10 +40,10 @@
.top-right.requested span:before{ .top-right.requested span:before{
display: inline-block; display: inline-block;
background-color: #ffd740; background-color: #ff5722;
} }
.top-right.denied span:before{ .top-right.denied span:before{
display: inline-block; display: inline-block;
background-color: #ff4040; background-color: #660202;
} }

@ -65,7 +65,7 @@
(click)="request()"><i class="fas fa-plus"></i> (click)="request()"><i class="fas fa-plus"></i>
{{ 'Common.Request' | translate }}</button> {{ 'Common.Request' | translate }}</button>
<button *ngIf="!tv.fullyDenied && allEpisodesRequested()" mat-raised-button class="btn-spacing" color="warn" [disabled]> <button *ngIf="!tv.denied && allEpisodesRequested()" mat-raised-button class="btn-spacing" color="warn" [disabled]>
<i class="fas fa-check"></i> <i class="fas fa-check"></i>
{{ 'Common.Requested' | translate }}</button> {{ 'Common.Requested' | translate }}</button>
@ -83,7 +83,7 @@
<i class="fas fa-check"></i> {{'Common.PartiallyAvailable' | translate }}</button> <i class="fas fa-check"></i> {{'Common.PartiallyAvailable' | translate }}</button>
<!-- end unaired episodes--> <!-- end unaired episodes-->
<button id="deniedButton" *ngIf="tv.fullyDenied" [matTooltip]="tv.deniedReason" mat-raised-button class="btn-spacing" color="warn"> <button id="deniedButton" *ngIf="tv.denied" [matTooltip]="tv.deniedReason" mat-raised-button class="btn-spacing" color="warn">
<i class="fas fa-times"></i> {{'Common.Denied' | translate }} <i class="fas fa-times"></i> {{'Common.Denied' | translate }}
</button> </button>

@ -1,3 +1,3 @@
{ {
"version": "4.16.2" "version": "4.16.3"
} }
Loading…
Cancel
Save