diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 467073cd2..6191c7a55 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -68,7 +68,7 @@ jobs:
uses: TriPSs/conventional-changelog-action@v3
with:
version-file: 'version.json'
- release-count: 20
+ release-count: 40
skip-on-empty: 'false'
git-message: 'chore(release): :rocket: {version}'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1ea8fe031..163422bc6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,21 @@
+## [4.10.3](https://github.com/Ombi-app/Ombi/compare/v4.10.1...v4.10.3) (2022-01-31)
+
+
+### Bug Fixes
+
+* fix swagger api key auth ([#4483](https://github.com/Ombi-app/Ombi/issues/4483)) [no ci] ([32ee4e8](https://github.com/Ombi-app/Ombi/commit/32ee4e88ec05bf610150933974408fbe95ccd7bd))
+* **frontend:** add link on logo text ([6d7274a](https://github.com/Ombi-app/Ombi/commit/6d7274a94ea24343f32fc028984bd3fd5d5f2ee3))
+
+
+
+## [4.10.1](https://github.com/Ombi-app/Ombi/compare/v4.10.0...v4.10.1) (2022-01-22)
+
+
+
+## [4.3.3](https://github.com/Ombi-app/Ombi/compare/v4.3.2...v4.3.3) (2021-11-05)
+
+
+
# [4.10.0](https://github.com/Ombi-app/Ombi/compare/v4.9.2...v4.10.0) (2022-01-14)
@@ -181,3 +199,184 @@
+## [4.6.3](https://github.com/Ombi-app/Ombi/compare/v4.6.2...v4.6.3) (2021-11-11)
+
+
+### Bug Fixes
+
+* **discover:** :bug: Display TV + movies on actor page in user language ([#4395](https://github.com/Ombi-app/Ombi/issues/4395)) ([fe635c7](https://github.com/Ombi-app/Ombi/commit/fe635c7106bc487ff879bdc8a73bab16cb389b97))
+* **permissions:** :bug: Improved the security around the role "Manage Own Requests" ([#4397](https://github.com/Ombi-app/Ombi/issues/4397)) ([334a32b](https://github.com/Ombi-app/Ombi/commit/334a32bca42f90198d9b720d2bdb710a583be47f)), closes [#4391](https://github.com/Ombi-app/Ombi/issues/4391)
+* **search:** Fixed some cases where search wouldn't work correctly ([#4398](https://github.com/Ombi-app/Ombi/issues/4398)) ([4410790](https://github.com/Ombi-app/Ombi/commit/4410790bc096826bc11554098f846e3acb59589a))
+
+
+
+## [4.6.2](https://github.com/Ombi-app/Ombi/compare/v4.6.1...v4.6.2) (2021-11-10)
+
+
+### Bug Fixes
+
+* **discover:** TV shows now display on the Actor Pages ([#4388](https://github.com/Ombi-app/Ombi/issues/4388)) ([6b716e7](https://github.com/Ombi-app/Ombi/commit/6b716e722076e3d1e6bf2097c5263645d5ea9edf))
+
+
+
+## [4.6.1](https://github.com/Ombi-app/Ombi/compare/v4.6.0...v4.6.1) (2021-11-10)
+
+
+### Bug Fixes
+
+* :bug: Fixed the MySQL issue after .net 6 upgrade [#4393](https://github.com/Ombi-app/Ombi/issues/4393) ([fea7ff0](https://github.com/Ombi-app/Ombi/commit/fea7ff05139e9ff50c8097fa5389b4ef9ad21a15))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([c6acb45](https://github.com/Ombi-app/Ombi/commit/c6acb45f8d3f371c0b4024c4272849d0d0cc867f))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([18c220a](https://github.com/Ombi-app/Ombi/commit/18c220a0cd0d19e45a07d0c319da2b9512778a8a))
+
+
+
+# [4.6.0](https://github.com/Ombi-app/Ombi/compare/v4.4.0...v4.6.0) (2021-11-09)
+
+
+### Features
+
+* :sparkles: Upgrade Ombi to .NET 6 ([#4390](https://github.com/Ombi-app/Ombi/issues/4390)) ([719eb7d](https://github.com/Ombi-app/Ombi/commit/719eb7dbe37b3a72d264e2f670067518eef70694)), closes [#4392](https://github.com/Ombi-app/Ombi/issues/4392)
+
+
+
+# [4.4.0](https://github.com/Ombi-app/Ombi/compare/v4.3.3...v4.4.0) (2021-11-06)
+
+
+### Bug Fixes
+
+* **request-list:** :bug: Fixed an issue where the request options were not appearing for Music requests ([c0406a2](https://github.com/Ombi-app/Ombi/commit/c0406a2ddebafb03d98ed25cdf7d89dc9a600c7d))
+
+
+### Features
+
+* **mass-email:** :sparkles: Added the ability to configure the Mass Email, we can now send BCC and we are less likely to be rate limited when not using bcc [#4377](https://github.com/Ombi-app/Ombi/issues/4377) ([ca655ae](https://github.com/Ombi-app/Ombi/commit/ca655ae57042dec44106a2f2ef5ba2e6f1019ee4))
+
+
+
+## [4.3.3](https://github.com/Ombi-app/Ombi/compare/v4.3.2...v4.3.3) (2021-11-05)
+
+
+
+## [4.3.2](https://github.com/Ombi-app/Ombi/compare/v4.3.1...v4.3.2) (2021-11-02)
+
+
+### Bug Fixes
+
+* **translations:** 馃寪 Localization - Ensuring all of the app including backend are localized [#4366](https://github.com/Ombi-app/Ombi/issues/4366) ([5e140ab](https://github.com/Ombi-app/Ombi/commit/5e140ab6183b887a7665f5e870eb0bd05d487ace))
+
+
+
+## [4.3.1](https://github.com/Ombi-app/Ombi/compare/v4.3.0...v4.3.1) (2021-10-27)
+
+
+### Bug Fixes
+
+* :bug: Hides no results message during search. ([#4375](https://github.com/Ombi-app/Ombi/issues/4375)) ([b819b0e](https://github.com/Ombi-app/Ombi/commit/b819b0e007e578bf3d8425f19591f87029c64d06))
+
+
+
+# [4.3.0](https://github.com/Ombi-app/Ombi/compare/v4.2.13...v4.3.0) (2021-10-20)
+
+
+### Bug Fixes
+
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([b0f3abb](https://github.com/Ombi-app/Ombi/commit/b0f3abb9ceebdbe5d6c20af98b7355df2999eb58))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([77d017b](https://github.com/Ombi-app/Ombi/commit/77d017b3d8ffd1714a2f6efecc8c900d56d062e4))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([f6e9784](https://github.com/Ombi-app/Ombi/commit/f6e9784367d3678d899ed79bef6caa52005b6661))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([601a877](https://github.com/Ombi-app/Ombi/commit/601a87762a2ad393ee5fa2fe52052ceeeefb1bef))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([a4a80ba](https://github.com/Ombi-app/Ombi/commit/a4a80ba4da49733a65e691003646c0f349bd4c5f))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([2961319](https://github.com/Ombi-app/Ombi/commit/2961319f61e95b2871480152b86ddca3375576a1))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([fc8d108](https://github.com/Ombi-app/Ombi/commit/fc8d108b660d53f499538328bfc271b05ac47d2b))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([1e03651](https://github.com/Ombi-app/Ombi/commit/1e03651c3b0eb77e45f9f6c55d31ee672eacd51e))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([c0dd327](https://github.com/Ombi-app/Ombi/commit/c0dd327426514e305a88750d7c3deb21c194108f))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([2156129](https://github.com/Ombi-app/Ombi/commit/2156129f175335746f204bb123035c070f518e96))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([aef0368](https://github.com/Ombi-app/Ombi/commit/aef0368de3aec306245bd1b16bc0de596a20d451))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([a38090b](https://github.com/Ombi-app/Ombi/commit/a38090b8dde17d1d150af0bca2830ea45d013a0e))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([c5f1d33](https://github.com/Ombi-app/Ombi/commit/c5f1d3355758a5c3648479d44e50397c7f6c1a9d))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([3846d56](https://github.com/Ombi-app/Ombi/commit/3846d56a6e561a1b1dc65c385151d90fdd6217ee))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([dafe9c1](https://github.com/Ombi-app/Ombi/commit/dafe9c1a19d84f00c13f0a51ba90927c24282926))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([edb418a](https://github.com/Ombi-app/Ombi/commit/edb418a6f05887c68a0c24c48decc691996f97e4))
+* **translations:** 馃寪 New translations from Crowdin [skip ci] ([dadabf9](https://github.com/Ombi-app/Ombi/commit/dadabf93e1582a0c39321fd9bf3de3fb11e3f406))
+
+
+### Features
+
+* **request-limits:** :sparkles: Added the new request limit options into the user importer ([01d4f4d](https://github.com/Ombi-app/Ombi/commit/01d4f4d718fe85ac181dae52565fb1b427965b4f))
+* **request-limits:** :sparkles: Added the new request limit options to the bulk edit ([03bc23a](https://github.com/Ombi-app/Ombi/commit/03bc23a74e4308aa6b4c6b25636edcdeb65c1f0e))
+
+
+
+## [4.2.13](https://github.com/Ombi-app/Ombi/compare/v4.2.12...v4.2.13) (2021-10-20)
+
+
+### Bug Fixes
+
+* **translations:** 馃寪 New translations %two_letters_code% from Crowdin [skip ci] ([8fbd267](https://github.com/Ombi-app/Ombi/commit/8fbd267b516ddaa80fd16c091bae532b860fbf45))
+
+
+
+## [4.2.12](https://github.com/Ombi-app/Ombi/compare/v4.2.11...v4.2.12) (2021-10-20)
+
+
+### Bug Fixes
+
+* **newsletter:** :bug: Fixed a few small bugs in the newsletter ([21dba4c](https://github.com/Ombi-app/Ombi/commit/21dba4c524b98b9f2b883d97e7e13329425a8762))
+* **translations:** 馃寪 New translations en.json from Crowdin [skip ci] ([52eda6a](https://github.com/Ombi-app/Ombi/commit/52eda6ab917a73842bc02b0d8e0c442e564ca8f0))
+* **translations:** 馃寪 New translations en.json from Crowdin [skip ci] ([1095d52](https://github.com/Ombi-app/Ombi/commit/1095d524962648a1e427f0bcd8105fa734dd5b60))
+
+
+
+## [4.2.11](https://github.com/Ombi-app/Ombi/compare/v4.2.10...v4.2.11) (2021-10-18)
+
+
+
+## [4.2.10](https://github.com/Ombi-app/Ombi/compare/v4.2.9...v4.2.10) (2021-10-15)
+
+
+### Bug Fixes
+
+* :bug: Really really fix it this time? ([543d36e](https://github.com/Ombi-app/Ombi/commit/543d36e5615341bc8378cac377b843a3dbc1ef99))
+
+
+
+## [4.2.9](https://github.com/Ombi-app/Ombi/compare/v4.2.8...v4.2.9) (2021-10-15)
+
+
+### Bug Fixes
+
+* :fire: Really fix the base url issue this time ([9f36923](https://github.com/Ombi-app/Ombi/commit/9f36923c51bfabf9cb026f2da14f9947050af0d9))
+
+
+
+## [4.2.8](https://github.com/Ombi-app/Ombi/compare/v4.2.7...v4.2.8) (2021-10-15)
+
+
+### Bug Fixes
+
+* :adhesive_bandage: See if this fixes the proxy issue ([74d1aca](https://github.com/Ombi-app/Ombi/commit/74d1acae499707a7e21401f53eb2bb90c5bb9cfa))
+* :bug: Fixed Ombi not writing the baseUrl correctly ([e9cc8b6](https://github.com/Ombi-app/Ombi/commit/e9cc8b6fe71d3e10c1a901e70227989b3362afe3))
+
+
+
+## [4.2.7](https://github.com/Ombi-app/Ombi/compare/v4.2.6...v4.2.7) (2021-10-14)
+
+
+### Bug Fixes
+
+* :bug: Fixed the issue parsing TheMovieDB dates. They have broken something... ([6e397e0](https://github.com/Ombi-app/Ombi/commit/6e397e02e95f894a92e8bf02428efdcac1275b31))
+
+
+
+## [4.2.6](https://github.com/Ombi-app/Ombi/compare/v4.2.5...v4.2.6) (2021-10-14)
+
+
+### Performance Improvements
+
+* :zap: Use ngxs store for the whole customization section of the app ([97b493d](https://github.com/Ombi-app/Ombi/commit/97b493d869feee59d360b484a6c59388a2aead1f))
+
+
+
+## [4.2.5](https://github.com/Ombi-app/Ombi/compare/v4.2.4...v4.2.5) (2021-10-14)
+
+
+
diff --git a/README.md b/README.md
index 6b785e94f..9c0b7dba2 100644
--- a/README.md
+++ b/README.md
@@ -594,6 +594,13 @@ Here are some of the features Ombi has:
Matt
+
+
+
+
+ Maxence Lecanu
+
+ |
@@ -608,13 +615,21 @@ Here are some of the features Ombi has:
Nathan Miller
|
+
+
+
+
+ Qiming Chen
+
+ |
Randall Bruder
- |
+
+
@@ -628,8 +643,7 @@ Here are some of the features Ombi has:
Samuel Bart铆k
- |
-
+
@@ -657,7 +671,8 @@ Here are some of the features Ombi has:
Tim Trott
- |
+
+
@@ -671,8 +686,7 @@ Here are some of the features Ombi has:
Torkil
- |
-
+
@@ -700,7 +714,8 @@ Here are some of the features Ombi has:
Blake Drumm
- |
+
+
@@ -714,8 +729,7 @@ Here are some of the features Ombi has:
Michael DiStaula
- |
-
+
@@ -743,7 +757,8 @@ Here are some of the features Ombi has:
Patrick Weber
- |
+
+
@@ -757,8 +772,7 @@ Here are some of the features Ombi has:
Tdorsey
- |
-
+
diff --git a/makefile b/makefile
index ec70a7815..62c11e5b5 100644
--- a/makefile
+++ b/makefile
@@ -7,8 +7,11 @@ frontend:
install-frontend:
cd src/Ombi/ClientApp && yarn
-install-tests:
+install-frontend-tests:
cd tests && yarn
-tests:
- cd tests && npx cypress open
+frontend-tests:
+ cd tests && npx cypress run
+
+backend-tests:
+ cd src/Ombi.Core.Tests && dotnet test
\ No newline at end of file
diff --git a/src/Ombi.Core.Tests/Rule/Search/EmbyAvailabilityRuleTests.cs b/src/Ombi.Core.Tests/Rule/Search/EmbyAvailabilityRuleTests.cs
index 58db4329b..0e455418a 100644
--- a/src/Ombi.Core.Tests/Rule/Search/EmbyAvailabilityRuleTests.cs
+++ b/src/Ombi.Core.Tests/Rule/Search/EmbyAvailabilityRuleTests.cs
@@ -47,66 +47,6 @@ namespace Ombi.Core.Tests.Rule.Search
Assert.True(search.Available);
}
- [Test]
- public async Task Movie_Has_Custom_Url_When_Specified_In_Settings()
- {
- SettingsMock.Setup(x => x.GetSettingsAsync()).ReturnsAsync(new EmbySettings
- {
- Enable = true,
- Servers = new List
- {
- new EmbyServers
- {
- ServerHostname = "http://test.com/",
- ServerId = "8"
- }
- }
- });
- ContextMock.Setup(x => x.GetByTheMovieDbId(It.IsAny())).ReturnsAsync(new EmbyContent
- {
- ProviderId = "123",
- EmbyId = 1.ToString(),
- });
- var search = new SearchMovieViewModel()
- {
- TheMovieDbId = "123",
- };
- var result = await Rule.Execute(search);
-
- Assert.True(result.Success);
- Assert.That(search.EmbyUrl, Is.EqualTo("http://test.com/web/index.html#!/item?id=1&serverId=8"));
- }
-
- [Test]
- public async Task Movie_Uses_Default_Url_When()
- {
- SettingsMock.Setup(x => x.GetSettingsAsync()).ReturnsAsync(new EmbySettings
- {
- Enable = true,
- Servers = new List
- {
- new EmbyServers
- {
- ServerHostname = string.Empty,
- ServerId = "8"
- }
- }
- });
- ContextMock.Setup(x => x.GetByTheMovieDbId(It.IsAny())).ReturnsAsync(new EmbyContent
- {
- ProviderId = "123",
- EmbyId = 1.ToString()
- });
- var search = new SearchMovieViewModel()
- {
- TheMovieDbId = "123",
- };
- var result = await Rule.Execute(search);
-
- Assert.True(result.Success);
- Assert.That(search.EmbyUrl, Is.EqualTo("https://app.emby.media/web/index.html#!/item?id=1&serverId=8"));
- }
-
[Test]
public async Task Movie_ShouldBe_NotAvailable_WhenNotFoundInEmby()
{
diff --git a/src/Ombi.Core.Tests/Rule/Search/JellyfinAvailabilityRuleTests.cs b/src/Ombi.Core.Tests/Rule/Search/JellyfinAvailabilityRuleTests.cs
index 68c918457..b733b0b2b 100644
--- a/src/Ombi.Core.Tests/Rule/Search/JellyfinAvailabilityRuleTests.cs
+++ b/src/Ombi.Core.Tests/Rule/Search/JellyfinAvailabilityRuleTests.cs
@@ -47,36 +47,6 @@ namespace Ombi.Core.Tests.Rule.Search
Assert.True(search.Available);
}
- [Test]
- public async Task Movie_Has_Custom_Url_When_Specified_In_Settings()
- {
- SettingsMock.Setup(x => x.GetSettingsAsync()).ReturnsAsync(new JellyfinSettings
- {
- Enable = true,
- Servers = new List
- {
- new JellyfinServers
- {
- ServerHostname = "http://test.com/",
- ServerId = "8"
- }
- }
- });
- ContextMock.Setup(x => x.GetByTheMovieDbId(It.IsAny())).ReturnsAsync(new JellyfinContent
- {
- ProviderId = "123",
- JellyfinId = 1.ToString(),
- });
- var search = new SearchMovieViewModel()
- {
- TheMovieDbId = "123",
- };
- var result = await Rule.Execute(search);
-
- Assert.True(result.Success);
- Assert.That(search.JellyfinUrl, Is.EqualTo("http://test.com/web/index.html#!/details?id=1&serverId=8"));
- }
-
[Test]
public async Task Movie_Uses_Default_Url_When()
{
diff --git a/src/Ombi.Core/Rule/Rules/Search/EmbyAvailabilityRule.cs b/src/Ombi.Core/Rule/Rules/Search/EmbyAvailabilityRule.cs
index 027f22e8b..e7a629854 100644
--- a/src/Ombi.Core/Rule/Rules/Search/EmbyAvailabilityRule.cs
+++ b/src/Ombi.Core/Rule/Rules/Search/EmbyAvailabilityRule.cs
@@ -67,19 +67,7 @@ namespace Ombi.Core.Rule.Rules.Search
if (item != null)
{
obj.Available = true;
- var s = await EmbySettings.GetSettingsAsync();
- if (s.Enable)
- {
- var server = s.Servers.FirstOrDefault();
- if ((server?.ServerHostname ?? string.Empty).HasValue())
- {
- obj.EmbyUrl = EmbyHelper.GetEmbyMediaUrl(item.EmbyId, server?.ServerId, server?.ServerHostname);
- }
- else
- {
- obj.EmbyUrl = EmbyHelper.GetEmbyMediaUrl(item.EmbyId, server?.ServerId, null);
- }
- }
+ obj.EmbyUrl = item.Url;
if (obj.Type == RequestType.TvShow)
{
diff --git a/src/Ombi.Core/Rule/Rules/Search/JellyfinAvailabilityRule.cs b/src/Ombi.Core/Rule/Rules/Search/JellyfinAvailabilityRule.cs
index dbbfc8da5..95a2da80b 100644
--- a/src/Ombi.Core/Rule/Rules/Search/JellyfinAvailabilityRule.cs
+++ b/src/Ombi.Core/Rule/Rules/Search/JellyfinAvailabilityRule.cs
@@ -81,20 +81,7 @@ namespace Ombi.Core.Rule.Rules.Search
useTheMovieDb = true;
}
obj.Available = true;
- var s = await JellyfinSettings.GetSettingsAsync();
- if (s.Enable)
- {
- var server = s.Servers.FirstOrDefault(x => x.ServerHostname != null);
- if ((server?.ServerHostname ?? string.Empty).HasValue())
- {
- obj.JellyfinUrl = JellyfinHelper.GetJellyfinMediaUrl(item.JellyfinId, server?.ServerId, server?.ServerHostname);
- }
- else
- {
- var firstServer = s.Servers?.FirstOrDefault();
- obj.JellyfinUrl = JellyfinHelper.GetJellyfinMediaUrl(item.JellyfinId, firstServer.ServerId, firstServer.FullUri);
- }
- }
+ obj.JellyfinUrl = item.Url;
if (obj.Type == RequestType.TvShow)
{
diff --git a/src/Ombi.Core/Rule/Rules/Search/PlexAvailabilityRule.cs b/src/Ombi.Core/Rule/Rules/Search/PlexAvailabilityRule.cs
index c84eb610c..4c05e0fe1 100644
--- a/src/Ombi.Core/Rule/Rules/Search/PlexAvailabilityRule.cs
+++ b/src/Ombi.Core/Rule/Rules/Search/PlexAvailabilityRule.cs
@@ -90,9 +90,17 @@ namespace Ombi.Core.Rule.Rules.Search
useTheMovieDb = true;
}
obj.Available = true;
- obj.PlexUrl = PlexHelper.BuildPlexMediaUrl(item.Url, host);
+ if (item.Url.StartsWith("http"))
+ {
+ obj.PlexUrl = item.Url;
+ }
+ else
+ {
+ // legacy content
+ obj.PlexUrl = PlexHelper.BuildPlexMediaUrl(item.Url, host);
+ }
obj.Quality = item.Quality;
-
+
if (obj.Type == RequestType.TvShow)
{
var search = (SearchTvShowViewModel)obj;
diff --git a/src/Ombi.Notifications.Templates/NewsletterTemplate.cs b/src/Ombi.Notifications.Templates/NewsletterTemplate.cs
index d731c50d3..90b5a217c 100644
--- a/src/Ombi.Notifications.Templates/NewsletterTemplate.cs
+++ b/src/Ombi.Notifications.Templates/NewsletterTemplate.cs
@@ -44,7 +44,7 @@ namespace Ombi.Notifications.Templates
sb.Replace(DateKey, DateTime.Now.ToString("f"));
sb.Replace(Logo, string.IsNullOrEmpty(logo) ? OmbiLogo : logo);
sb.Replace(Unsubscribe, string.IsNullOrEmpty(unsubscribeLink) ? string.Empty : unsubscribeLink);
- sb.Replace(UnsubscribeText, Texts.Unsubscribe);
+ sb.Replace(UnsubscribeText, string.IsNullOrEmpty(unsubscribeLink) ? string.Empty : "Unsubscrible");
sb.Replace(PoweredByText, Texts.PoweredBy);
return sb.ToString();
diff --git a/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs b/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs
index 83788f1b4..9dc6c64a6 100644
--- a/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs
+++ b/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs
@@ -265,7 +265,7 @@ namespace Ombi.Schedule.Jobs.Ombi
recentlyAddedLog.Add(new RecentlyAddedLog
{
AddedAt = DateTime.Now,
- Type = p.Series.RecentlyAddedType,
+ Type = p.Series.RecentlyAddedType,
ContentType = ContentType.Episode,
ContentId = StringHelper.IntParseLinq(p.Series.TvDbId),
EpisodeNumber = p.EpisodeNumber,
@@ -312,7 +312,7 @@ namespace Ombi.Schedule.Jobs.Ombi
private HashSet GetSeriesContent(IMediaServerContentRepository repository, bool test) where T : class, IMediaServerContent
{
var content = repository.GetAllEpisodes().Include(x => x.Series).OrderByDescending(x => x.Series.AddedAt).AsNoTracking();
-
+
HashSet episodesToSend;
if (test)
{
diff --git a/src/Ombi.Store/Entities/EmbyContent.cs b/src/Ombi.Store/Entities/EmbyContent.cs
index 4005e7a48..08118b6df 100644
--- a/src/Ombi.Store/Entities/EmbyContent.cs
+++ b/src/Ombi.Store/Entities/EmbyContent.cs
@@ -35,9 +35,7 @@ namespace Ombi.Store.Entities
public class EmbyContent : MediaServerContent
{
- ///
- /// OBSOLETE, Cannot delete due to DB migration issues with SQLite
- ///
+ [Obsolete("Cannot delete due to DB migration issues with SQLite")]
public string ProviderId { get; set; }
public string EmbyId { get; set; }
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Emby;
diff --git a/src/Ombi.Store/Entities/JellyfinContent.cs b/src/Ombi.Store/Entities/JellyfinContent.cs
index da77c910c..b2bb63959 100644
--- a/src/Ombi.Store/Entities/JellyfinContent.cs
+++ b/src/Ombi.Store/Entities/JellyfinContent.cs
@@ -35,9 +35,8 @@ namespace Ombi.Store.Entities
public class JellyfinContent : MediaServerContent
{
- ///
- /// OBSOLETE, Cannot delete due to DB migration issues with SQLite
- ///
+
+ [Obsolete("Cannot delete due to DB migration issues with SQLite")]
public string ProviderId { get; set; }
public string JellyfinId { get; set; }
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Jellyfin;
diff --git a/src/Ombi.Store/Entities/PlexServerContent.cs b/src/Ombi.Store/Entities/PlexServerContent.cs
index a9116ad16..cba02c68c 100644
--- a/src/Ombi.Store/Entities/PlexServerContent.cs
+++ b/src/Ombi.Store/Entities/PlexServerContent.cs
@@ -45,13 +45,6 @@ namespace Ombi.Store.Entities
public int? RequestId { get; set; }
- [NotMapped]
- public ICollection PlexEpisodes
- {
- get => (ICollection)Episodes;
- set => Episodes = (ICollection)value;
- }
-
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Plex;
}
diff --git a/src/Ombi/ClientApp/src/app/my-nav/my-nav.component.html b/src/Ombi/ClientApp/src/app/my-nav/my-nav.component.html
index 85abdbf0a..f35a8f612 100644
--- a/src/Ombi/ClientApp/src/app/my-nav/my-nav.component.html
+++ b/src/Ombi/ClientApp/src/app/my-nav/my-nav.component.html
@@ -3,7 +3,12 @@
[attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'" [mode]="(isHandset$ | async) ? 'over' : 'side'"
[opened]="!(isHandset$ | async)">
- {{applicationName}}
+
+ {{applicationName}}
+
+
+ {{applicationName}}
+
diff --git a/src/Ombi/ClientApp/src/app/my-nav/my-nav.component.scss b/src/Ombi/ClientApp/src/app/my-nav/my-nav.component.scss
index e83ae2d66..80a00c6bb 100644
--- a/src/Ombi/ClientApp/src/app/my-nav/my-nav.component.scss
+++ b/src/Ombi/ClientApp/src/app/my-nav/my-nav.component.scss
@@ -165,6 +165,15 @@
display: flex;
white-space: normal;
word-break: break-word;
+
+ .application-name-link {
+ text-decoration: none;
+ color: inherit;
+
+ &:active, &:hover, &:focus {
+ color: inherit;
+ }
+ }
}
.outer-profile {
diff --git a/src/Ombi/Extensions/StartupExtensions.cs b/src/Ombi/Extensions/StartupExtensions.cs
index e3253045a..296339dd0 100644
--- a/src/Ombi/Extensions/StartupExtensions.cs
+++ b/src/Ombi/Extensions/StartupExtensions.cs
@@ -41,6 +41,21 @@ namespace Ombi
Type = SecuritySchemeType.ApiKey
});
+ c.AddSecurityRequirement(new OpenApiSecurityRequirement
+ {
+ {
+ new OpenApiSecurityScheme
+ {
+ Reference = new OpenApiReference
+ {
+ Type = ReferenceType.SecurityScheme,
+ Id = "ApiKey"
+ }
+ },
+ new string[] {}
+ }
+ });
+
c.CustomSchemaIds(x => x.FullName);
try
diff --git a/src/Ombi/wwwroot/translations/es.json b/src/Ombi/wwwroot/translations/es.json
index 8bf684664..a09d958d0 100644
--- a/src/Ombi/wwwroot/translations/es.json
+++ b/src/Ombi/wwwroot/translations/es.json
@@ -38,7 +38,7 @@
"Update": "Actualizaci贸n",
"tvShow": "Programa de televisi贸n",
"movie": "Pel铆cula",
- "album": "Album"
+ "album": "脕lbum"
},
"PasswordReset": {
"EmailAddressPlaceholder": "Correo electr贸nico",
@@ -204,7 +204,7 @@
"Approved": "Los elementos seleccionados ha sido aprobados correctamente"
},
"SuccessfullyApproved": "Se ha aprobado con 茅xito",
- "SuccessfullyDeleted": "Request successfully deleted",
+ "SuccessfullyDeleted": "Solicitud eliminada con 茅xito",
"NowAvailable": "La solicitud est谩 disponible",
"NowUnavailable": "La solicitud no est谩 disponible",
"SuccessfullyReprocessed": "La solicitud ha sido procesada correctamente",
@@ -214,21 +214,21 @@
"NeedToSelectEpisodes": "隆Necesitas seleccionar algunos episodios!",
"RequestAddedSuccessfully": "La solicitud de {{title}} se ha a帽adido correctamente",
"ErrorCodes": {
- "AlreadyRequested": "This has already been requested",
+ "AlreadyRequested": "Ya se ha solicitado",
"EpisodesAlreadyRequested": "We already have episodes requested from this series",
"NoPermissionsOnBehalf": "You do not have the correct permissions to request on behalf of users!",
"NoPermissions": "You do not have the correct permissions!",
- "RequestDoesNotExist": "Request does not exist",
+ "RequestDoesNotExist": "Esta petici贸n no existe",
"ChildRequestDoesNotExist": "Child Request does not exist",
"NoPermissionsRequestMovie": "You do not have permissions to Request a Movie",
- "NoPermissionsRequestTV": "You do not have permissions to Request a TV Show",
- "NoPermissionsRequestAlbum": "You do not have permissions to Request an Album",
- "MovieRequestQuotaExceeded": "You have exceeded your Movie request quota!",
+ "NoPermissionsRequestTV": "No tienes permiso para solicitar un Programa de televisi贸n",
+ "NoPermissionsRequestAlbum": "No tienes permiso para solicitar un 脕lbum",
+ "MovieRequestQuotaExceeded": "隆Has superado tu cuota de solicitudes de pel铆culas!",
"TvRequestQuotaExceeded": "You have exceeded your Episode request quota!",
"AlbumRequestQuotaExceeded": "You have exceeded your Album request quota!"
},
- "Notify": "Notify",
- "RemoveNotification": "Remove Notifications",
+ "Notify": "Notificar",
+ "RemoveNotification": "Eliminar notificaci贸n",
"SuccessfulNotify": "You will now be notified for title {{title}}",
"SuccessfulUnNotify": "You will no longer be notified for title {{title}}",
"CouldntNotify": "Couldn't notify title {{title}}"
@@ -317,7 +317,7 @@
"Rumored": "Rumored",
"Planned": "Planificado",
"In Production": "En Producci贸n",
- "Post Production": "Post Production",
+ "Post Production": "Post-Producci贸n",
"Released": "En cines",
"Running": "Running",
"Returning Series": "Returning Series",
@@ -331,18 +331,18 @@
"Quality": "Calidad:",
"RootFolderOverride": "Root Folder Override:",
"QualityOverride": "Quality Override:",
- "Network": "Network:",
+ "Network": "Cadena:",
"GenresLabel": "G茅neros:",
"Genres": "G茅neros",
- "FirstAired": "First Aired:",
- "TheatricalRelease": "Release:",
- "DigitalRelease": "Digital Release:",
- "Votes": "Votes:",
- "Runtime": "Runtime:",
+ "FirstAired": "Emitido por primera vez:",
+ "TheatricalRelease": "Lanzamiento:",
+ "DigitalRelease": "Estreno Digital:",
+ "Votes": "Votos:",
+ "Runtime": "Duraci贸n:",
"Minutes": "{{runtime}} Minutos",
- "Revenue": "Revenue:",
- "Budget": "Budget:",
- "Keywords": "Keywords/Tags:",
+ "Revenue": "Ingresos:",
+ "Budget": "Presupuesto:",
+ "Keywords": "Palabras clave/Etiquetas:",
"Casts": {
"CastTitle": "Enviar pantalla"
},
@@ -350,22 +350,22 @@
"AllSeasonsTooltip": "Esto solicitar谩 cada temporada para este programa",
"FirstSeasonTooltip": "Esto solo solicitar谩 la primera temporada para este programa",
"LatestSeasonTooltip": "Esto solo solicitar谩 la 煤ltima temporada para este programa",
- "NoEpisodes": "There unfortunately is no episode data for this show yet!",
- "SeasonNumber": "Season {{number}}"
+ "NoEpisodes": "Lamentablemente, no hay datos de episodio para este programa de televisi贸n todav铆a!",
+ "SeasonNumber": "Temporada {{number}}"
},
- "SonarrConfiguration": "Sonarr Configuration",
- "RadarrConfiguration": "Radarr Configuration",
- "RequestOnBehalf": "Request on behalf of",
- "PleaseSelectUser": "Please select a user",
+ "SonarrConfiguration": "Configuraci贸n de Sonarr",
+ "RadarrConfiguration": "Configuraci贸n de Radarr",
+ "RequestOnBehalf": "Solicitar en nombre de",
+ "PleaseSelectUser": "Seleccione un usuario",
"StreamingOn": "Streaming On:",
- "RequestedBy": "Requested By:",
+ "RequestedBy": "Solicitado por:",
"RequestedByOn": "Solicitado por {{user}} el {{date}}",
- "RequestDate": "Request Date:",
+ "RequestDate": "Fecha de solicitud:",
"DeniedReason": "Denied Reason:",
"ReProcessRequest": "Re-Process Request",
"Music": {
- "Type": "Type:",
- "Country": "Country:",
+ "Type": "Tipo:",
+ "Country": "Pa铆s:",
"StartDate": "Start Date:",
"EndDate": "EndDate:"
}
@@ -375,7 +375,7 @@
"TrendingTab": "Tendencias",
"UpcomingTab": "Pr贸ximamente",
"SeasonalTab": "Seasonal",
- "RecentlyRequestedTab": "Recently Requested",
+ "RecentlyRequestedTab": "Solicitudes recientes",
"Movies": "Pel铆culas",
"Combined": "Combinado",
"Tv": "TV",
@@ -391,36 +391,36 @@
"Writer": "Guionistas",
"ExecProducer": "Productor ejecutivo"
},
- "NoSearch": "Sorry, nothing matches your search!"
+ "NoSearch": "隆Lo sentimos, nada coincide con tu b煤squeda!"
},
"UserPreferences": {
"Welcome": "Bienvenido {{username}}!",
"OmbiLanguage": "Idioma",
"DarkMode": "Modo Oscuro",
- "Updated": "Successfully Updated",
- "StreamingCountry": "Streaming Country",
- "StreamingCountryDescription": "This is the country code that we will display streaming information for. If you are in the US please select US and you will get US related streaming information.",
- "LanguageDescription": "This is the language you would like the Ombi interface to be displayed in.",
+ "Updated": "Actualizado correctamente",
+ "StreamingCountry": "Pa铆s de emisi贸n",
+ "StreamingCountryDescription": "Este es el c贸digo de pa铆s desde el que mostraremos informaci贸n de emisi贸n. Si est谩s en Espa帽a, por favor selecciona ES y tendr谩s informaci贸n relacionada con la emisi贸n en Espa帽a.",
+ "LanguageDescription": "Este es el idioma en el que desea mostrar la interfaz de Ombi.",
"MobileQRCode": "Mobile QR Code",
"LegacyApp": "Launch Legacy App",
"NoQrCode": "Please contact your administrator to enable QR codes",
"UserType": "User Type:",
- "ChangeDetails": "Change Details",
+ "ChangeDetails": "Modificar mis datos",
"NeedCurrentPassword": "You need your current password to make any changes here",
- "CurrentPassword": "Current Password",
- "EmailAddress": "Email Address",
- "NewPassword": "New Password",
- "NewPasswordConfirm": "New Password Confirm",
- "Security": "Security",
- "Profile": "Profile",
- "UpdatedYourInformation": "Updated your information",
+ "CurrentPassword": "Contrase帽a actual",
+ "EmailAddress": "Correo electr贸nico",
+ "NewPassword": "Nueva Contrase帽a",
+ "NewPasswordConfirm": "Confirmar contrase帽a",
+ "Security": "Seguridad",
+ "Profile": "Perfil",
+ "UpdatedYourInformation": "Informaci贸n actualizada",
"Unsubscribed": "No suscrito!"
},
"UserTypeLabel": {
"1": "Usuario local",
"2": "Usuario de Plex",
"3": "Usuario de Emby",
- "4": "Emby Connect User",
+ "4": "Conectar usuario de Emby",
"5": "Usuario de Jellyfin"
},
"Paginator": {
diff --git a/version.json b/version.json
index 8e1cf1a5b..55747f7f1 100644
--- a/version.json
+++ b/version.json
@@ -1,3 +1,3 @@
{
- "version": "4.10.0"
+ "version": "4.10.3"
}
\ No newline at end of file
|