mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-03-12 04:35:27 -07:00
fix(radarr-4k): 🐛 Fixed an issue when using Radarr 4k with user set quality profiles. There are now user quality profiles for 4k profile #5025
This commit is contained in:
parent
d0744ce87b
commit
62b9a1f65f
src
@ -69,7 +69,7 @@ namespace Ombi.Core.Senders
|
||||
}
|
||||
if (radarrSettings.Enabled)
|
||||
{
|
||||
return await SendToRadarr(model, radarrSettings);
|
||||
return await SendToRadarr(model, radarrSettings, is4K);
|
||||
}
|
||||
|
||||
var dogSettings = await _dogNzbSettings.GetSettingsAsync();
|
||||
@ -133,7 +133,7 @@ namespace Ombi.Core.Senders
|
||||
return await _dogNzbApi.AddMovie(settings.ApiKey, id);
|
||||
}
|
||||
|
||||
private async Task<SenderResult> SendToRadarr(MovieRequests model, RadarrSettings settings)
|
||||
private async Task<SenderResult> SendToRadarr(MovieRequests model, RadarrSettings settings, bool is4k)
|
||||
{
|
||||
var qualityToUse = int.Parse(settings.DefaultQualityProfile);
|
||||
|
||||
@ -142,17 +142,35 @@ namespace Ombi.Core.Senders
|
||||
var profiles = await _userProfiles.GetAll().FirstOrDefaultAsync(x => x.UserId == model.RequestedUserId);
|
||||
if (profiles != null)
|
||||
{
|
||||
if (profiles.RadarrRootPath > 0)
|
||||
if (is4k)
|
||||
{
|
||||
var tempPath = await RadarrRootPath(profiles.RadarrRootPath, settings);
|
||||
if (tempPath.HasValue())
|
||||
if (profiles.Radarr4KRootPath > 0)
|
||||
{
|
||||
rootFolderPath = tempPath;
|
||||
var tempPath = await RadarrRootPath(profiles.Radarr4KRootPath, settings);
|
||||
if (tempPath.HasValue())
|
||||
{
|
||||
rootFolderPath = tempPath;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (profiles.RadarrQualityProfile > 0)
|
||||
if (profiles.Radarr4KQualityProfile > 0)
|
||||
{
|
||||
qualityToUse = profiles.Radarr4KQualityProfile;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qualityToUse = profiles.RadarrQualityProfile;
|
||||
if (profiles.RadarrRootPath > 0)
|
||||
{
|
||||
var tempPath = await RadarrRootPath(profiles.RadarrRootPath, settings);
|
||||
if (tempPath.HasValue())
|
||||
{
|
||||
rootFolderPath = tempPath;
|
||||
}
|
||||
}
|
||||
if (profiles.RadarrQualityProfile > 0)
|
||||
{
|
||||
qualityToUse = profiles.RadarrQualityProfile;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Newtonsoft.Json;
|
||||
using Ombi.Helpers;
|
||||
|
||||
namespace Ombi.Store.Entities
|
||||
{
|
||||
@ -15,6 +14,8 @@ namespace Ombi.Store.Entities
|
||||
public int SonarrQualityProfile { get; set; }
|
||||
public int RadarrRootPath { get; set; }
|
||||
public int RadarrQualityProfile { get; set; }
|
||||
public int Radarr4KRootPath { get; set; }
|
||||
public int Radarr4KQualityProfile { get; set; }
|
||||
|
||||
[ForeignKey(nameof(UserId))]
|
||||
[JsonIgnore]
|
||||
|
1308
src/Ombi.Store/Migrations/OmbiMySql/20231118220121_Radarr4kUserQualityProfile.Designer.cs
generated
Normal file
1308
src/Ombi.Store/Migrations/OmbiMySql/20231118220121_Radarr4kUserQualityProfile.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,37 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Ombi.Store.Migrations.OmbiMySql
|
||||
{
|
||||
public partial class Radarr4kUserQualityProfile : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "Radarr4KQualityProfile",
|
||||
table: "UserQualityProfiles",
|
||||
type: "int",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "Radarr4KRootPath",
|
||||
table: "UserQualityProfiles",
|
||||
type: "int",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Radarr4KQualityProfile",
|
||||
table: "UserQualityProfiles");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Radarr4KRootPath",
|
||||
table: "UserQualityProfiles");
|
||||
}
|
||||
}
|
||||
}
|
@ -923,6 +923,12 @@ namespace Ombi.Store.Migrations.OmbiMySql
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Radarr4KQualityProfile")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Radarr4KRootPath")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("RadarrQualityProfile")
|
||||
.HasColumnType("int");
|
||||
|
||||
|
1306
src/Ombi.Store/Migrations/OmbiSqlite/20231118214929_Radarr4kUserQualityProfile.Designer.cs
generated
Normal file
1306
src/Ombi.Store/Migrations/OmbiSqlite/20231118214929_Radarr4kUserQualityProfile.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,37 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Ombi.Store.Migrations.OmbiSqlite
|
||||
{
|
||||
public partial class Radarr4kUserQualityProfile : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "Radarr4KQualityProfile",
|
||||
table: "UserQualityProfiles",
|
||||
type: "INTEGER",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "Radarr4KRootPath",
|
||||
table: "UserQualityProfiles",
|
||||
type: "INTEGER",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Radarr4KQualityProfile",
|
||||
table: "UserQualityProfiles");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Radarr4KRootPath",
|
||||
table: "UserQualityProfiles");
|
||||
}
|
||||
}
|
||||
}
|
@ -921,6 +921,12 @@ namespace Ombi.Store.Migrations.OmbiSqlite
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("Radarr4KQualityProfile")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("Radarr4KRootPath")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("RadarrQualityProfile")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
|
@ -50,6 +50,8 @@ export interface IUserQualityProfiles {
|
||||
sonarrQualityProfile: number;
|
||||
radarrRootPath: number;
|
||||
radarrQualityProfile: number;
|
||||
radarr4KRootPath: number;
|
||||
radarr4KQualityProfile: number;
|
||||
}
|
||||
|
||||
export interface ICreateWizardUser {
|
||||
|
@ -141,6 +141,24 @@
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="radarr4KQualities">
|
||||
<mat-label>Radarr 4K Quality Profiles</mat-label>
|
||||
<mat-select [(ngModel)]="user.userQualityProfiles.radarr4KQualityProfile">
|
||||
<mat-option *ngFor="let folder of radarr4KQualities" [value]="folder.id">
|
||||
{{folder.name}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="radarr4KRootFolders">
|
||||
<mat-label>Radarr 4K Root Folder</mat-label>
|
||||
<mat-select [(ngModel)]="user.userQualityProfiles.radarr4KRootPath">
|
||||
<mat-option *ngFor="let folder of radarr4KRootFolders" [value]="folder.id">
|
||||
{{folder.path}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 col-sm-12">
|
||||
|
@ -24,6 +24,8 @@ export class UserManagementUserComponent implements OnInit {
|
||||
public sonarrRootFolders: ISonarrRootFolder[];
|
||||
public radarrQualities: IRadarrProfile[];
|
||||
public radarrRootFolders: IRadarrRootFolder[];
|
||||
public radarr4KQualities: IRadarrProfile[];
|
||||
public radarr4KRootFolders: IRadarrRootFolder[];
|
||||
|
||||
public NotificationAgent = INotificationAgent;
|
||||
public edit: boolean;
|
||||
@ -93,6 +95,17 @@ export class UserManagementUserComponent implements OnInit {
|
||||
this.radarrRootFolders.unshift({id: 0, path: "None"});
|
||||
});
|
||||
|
||||
if (is4KEnabled) {
|
||||
this.radarrService.getRootFolders4kFromSettings().subscribe(x => {
|
||||
this.radarr4KRootFolders = x;
|
||||
this.radarr4KRootFolders.unshift({id: 0, path: "None"});
|
||||
});
|
||||
this.radarrService.getQualityProfiles4kFromSettings().subscribe(x => {
|
||||
this.radarr4KQualities = x;
|
||||
this.radarr4KQualities.unshift({id: 0, name: "None"});
|
||||
});
|
||||
}
|
||||
|
||||
this.identityService.getUserAccessToken(this.userId).subscribe(x => this.accessToken = x);
|
||||
|
||||
if(!this.edit) {
|
||||
@ -118,6 +131,8 @@ export class UserManagementUserComponent implements OnInit {
|
||||
userQualityProfiles: {
|
||||
radarrQualityProfile: 0,
|
||||
radarrRootPath: 0,
|
||||
radarr4KQualityProfile: 0,
|
||||
radarr4KRootPath: 0,
|
||||
sonarrQualityProfile: 0,
|
||||
sonarrQualityProfileAnime: 0,
|
||||
sonarrRootPath: 0,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -691,6 +691,8 @@ namespace Ombi.Controllers.V1
|
||||
currentQualityProfiles.SonarrQualityProfileAnime = ui.UserQualityProfiles.SonarrQualityProfileAnime;
|
||||
currentQualityProfiles.SonarrRootPath = ui.UserQualityProfiles.SonarrRootPath;
|
||||
currentQualityProfiles.SonarrRootPathAnime = ui.UserQualityProfiles.SonarrRootPathAnime;
|
||||
currentQualityProfiles.Radarr4KRootPath = ui.UserQualityProfiles.Radarr4KRootPath;
|
||||
currentQualityProfiles.Radarr4KQualityProfile = ui.UserQualityProfiles.Radarr4KQualityProfile;
|
||||
if (add)
|
||||
{
|
||||
await _userQualityProfiles.Add(currentQualityProfiles);
|
||||
|
@ -51,6 +51,14 @@
|
||||
<None Remove="wwwroot\dist\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Remove="database.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="database.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="..\.editorconfig" Link=".editorconfig" />
|
||||
</ItemGroup>
|
||||
|
Loading…
x
Reference in New Issue
Block a user