diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/tr.json index 25a87e6648..4275bb3771 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/tr.json @@ -22,17 +22,13 @@ "Features": "Özellikler", "GetStarted": "Başlayın", "Documents": "Dokümanlar", - "Community": "Topluluk", "ContributionGuide": "Katkı Rehberi", "Blog": "Blog", - "Commercial": "Ticari", "MyAccount": "Hesabım", "Permission:License": "Lisans", "Permission:UserInfo": "kullanıcı bilgisi", "SeeDocuments": "Dokümanlara Göz Atın", "Samples": "Örnekler", - "Framework": "Çerçeve", - "Support": "Destek", "FreeDDDBook": "Ücretsiz DDD Kitabı", "New": "Yeni", "Volo.AbpIo.Domain:020005": "Lisans uzatma yılı {MinExtendLicenseYear} yıldan az {MaxExtendLicenseYear} yıldan fazla olamaz.", diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json index aa81f6978a..96375db1f6 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json @@ -417,7 +417,6 @@ "RenewLicenseEarly": "Lisansımı erken yenilersem, tüm yılı alacak mıyım?", "RenewLicenseEarylExplanation": "Lisansınızı lisans bitiş tarihinizden önce yenilediğinizde, lisans bitiş tarihinize 1 yıl eklenecektir. Örneğin, lisansınızın süresi {0}-06-06 tarihinde doluyorsa ve lisansınızı {0}-01-01 tarihinde yenilediyseniz, yeni lisans bitiş tarihiniz {1}-06-06 olacaktır.", "OpenSourceWebApplication": "Açık Kaynak Web Uygulaması", - "CompleteWebDevelopment": "Tam Web Geliştirme", "ABPFrameworkDescription": "ABP Framework, yazılım geliştirme ve sözleşmelerin en iyi uygulamalarını takip ederek modern web uygulamaları oluşturmak için eksiksiz bir altyapıdır.", "CommunityDescription": "ABP Çerçevesi ile ilgili deneyimlerinizi paylaşın!", "GetStarted": "Başlayın", diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/tr.json index 0c29490e88..2d52d01ed2 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/tr.json @@ -93,7 +93,6 @@ "NoThanks": "Hayır teşekkürler", "MaybeLater": "Belki sonra", "JoinOurPostNewsletter": "Makale bültenimize katılın", - "Community": "Topluluk", "Marketing": "Pazarlama", "CommunityPrivacyPolicyConfirmation": "Şartlar ve Koşullar ile Gizlilik Politikası'nı kabul ediyorum.", "PostRequestMessageTitle": "Bu web sitesinde görmek istediğiniz bir makaleyi/eğiticiyi istemek için GitHub'da bir sorun açın.", @@ -143,7 +142,6 @@ "Volo.AbpIo.Domain:060002": "Makale İçeriği Github(\"{PostUrl}\") kaynağında mevcut değil.", "Volo.AbpIo.Domain:060003": "Makale içeriği bulunamadı!", "MemberNotPublishedPostYet": "Bu üye henüz bir gönderi yayınlamadı.", - "WelcomeToABP": "ABP'ye Hoşgeldiniz", "Browse": "Göz at", "ArticleRequestsDescription": "Burada belirli bir içerik mi görmek istiyorsunuz? Topluluktan bunu oluşturmasını isteyebilirsiniz!", "LatestContentRequests": "Son İçerik Talepleri", diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/tr.json index 4bd286623d..dcc04e9f79 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/tr.json @@ -285,7 +285,6 @@ "Database": "Veritabanı", "Saas": "Saas", "OpenSourceWebApp": " Açık kaynak
web uygulaması", - "Framework": "Çerçeve", "AuditLoggingExplanation": "Sisteminizdeki tüm işlemleri ve veri değişikliklerini otomatik olarak izleyin.", "AbpNewCommandExplanation": "ABP başlangıç şablonlarını kullanarak yeni çözümler oluşturur.", "AbpAddModuleCommandExplanation": "Çözümünüze önceden oluşturulmuş uygulama modülleri yükler", @@ -300,10 +299,8 @@ "Preview": "Önizleme", "CreateANewSolution": "Yeni bir çözüm oluşturun", "ABPFrameworkFeatures": "ABP Çerçevesi Özellikleri", - "Commercial": "Ticari", "ThirdPartyTools": "Üçüncü taraf araçlar", "Back": "Geri", - "Community": "Topluluk", "SeeMore": "Daha fazla göster", "DetailsOfTheEBook": "E-kitap detayları", "JoinOurMarketingNewsletter": "Pazarlama bültenimize katılın", diff --git a/docs/en/Getting-Started-React-Native.md b/docs/en/Getting-Started-React-Native.md index be0505b9f1..df8fb355a5 100644 --- a/docs/en/Getting-Started-React-Native.md +++ b/docs/en/Getting-Started-React-Native.md @@ -56,7 +56,7 @@ Please do the following: > When you are using OpenIddict, You should remove 'clientSecret' on Environment.js (if exists) and disable "HTTPS-only" settings. (Openiddict has default since Version 6.0) ### How to disable Https-only in Openiddict. -You should add this code on `MyProjectName`HttpApiHostModule. +You should add this code on {{ if Tiered == "No" }}`MyProjectNameHttpApiHostModule`{{ else if Tiered == "Yes" }}`MyProjectNameAuthServerModule`{{ end }}. ```csharp public override void PreConfigureServices(ServiceConfigurationContext context) diff --git a/docs/en/Migration-Guides/Abp-7_1.md b/docs/en/Migration-Guides/Abp-7_1.md index 7e579af217..711f520800 100644 --- a/docs/en/Migration-Guides/Abp-7_1.md +++ b/docs/en/Migration-Guides/Abp-7_1.md @@ -2,6 +2,8 @@ This document is a guide for upgrading ABP v7.0 solutions to ABP v7.1. There are a few changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. +> **Note**: Entity Framework developers may need to add a new code-first database migration to their projects since we made some improvements to the existing entities of some application modules. + ## Navigation Menu - `CustomData` type changed to `Dictionary` `ApplicationMenu` and `ApplicationMenuItem` classes' `CustomData` property type has been changed to `Dictionary`. So, if you use the optional `CustomData` property of these classes, change it accordingly. See [#15608](https://github.com/abpframework/abp/pull/15608) for more information. @@ -16,4 +18,4 @@ var menu = new ApplicationMenu("Home", L["Home"], "/", customData: new MyCustomD ```csharp var menu = new ApplicationMenu("Home", L["Home"], "/").WithCustomData("CustomDataKey", new MyCustomData()); -``` \ No newline at end of file +``` diff --git a/docs/en/Migration-Guides/Abp-7_2.md b/docs/en/Migration-Guides/Abp-7_2.md new file mode 100644 index 0000000000..5c99e8e604 --- /dev/null +++ b/docs/en/Migration-Guides/Abp-7_2.md @@ -0,0 +1,13 @@ +# ABP Version 7.2 Migration Guide + +This document is a guide for upgrading ABP v7.1 solutions to ABP v7.2. There are a few changes in this version that may affect your applications, please read it carefully and apply the necessary changes to your application. + +## `LastPasswordChangeTime` and `ShouldChangePasswordOnNextLogin` Properties Added to the `IdentityUser` Class + +In this version, two new properties, which are `LastPasswordChangeTime` and `ShouldChangePasswordOnNextLogin` have been added to the `IdentityUser` class and to the corresponding entity. Therefore, you may need to create a new migration and apply it to your database. + +## Renamed `OnRegistered` Method + +There was a typo in an extension method, named as `OnRegistred`. In this version, we have fixed the typo and renamed the method as `OnRegistered`. Also, we have updated the related places in our modules that use this method. + +However, if you have used this method in your projects, you need to rename it as `OnRegistered` in your code. \ No newline at end of file diff --git a/docs/en/Migration-Guides/Index.md b/docs/en/Migration-Guides/Index.md index 8a693970b2..7d85d3f46f 100644 --- a/docs/en/Migration-Guides/Index.md +++ b/docs/en/Migration-Guides/Index.md @@ -2,6 +2,7 @@ The following documents explain how to migrate your existing ABP applications. We write migration documents only if you need to take an action while upgrading your solution. Otherwise, you can easily upgrade your solution using the [abp update command](../Upgrading.md). +- [7.1 to 7.2](Abp-7_2.md) - [7.0 to 7.1](Abp-7_1.md) - [6.0 to 7.0](Abp-7_0.md) - [5.3 to 6.0](Abp-6_0.md) diff --git a/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Cors/AbpCorsPolicyBuilderExtensions.cs b/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Cors/AbpCorsPolicyBuilderExtensions.cs index 97a6f55978..2ef9939c73 100644 --- a/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Cors/AbpCorsPolicyBuilderExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Cors/AbpCorsPolicyBuilderExtensions.cs @@ -1,11 +1,11 @@ using Microsoft.AspNetCore.Cors.Infrastructure; - +using Volo.Abp.Http; namespace Microsoft.AspNetCore.Cors; public static class AbpCorsPolicyBuilderExtensions { public static CorsPolicyBuilder WithAbpExposedHeaders(this CorsPolicyBuilder corsPolicyBuilder) { - return corsPolicyBuilder.WithExposedHeaders("_AbpErrorFormat"); + return corsPolicyBuilder.WithExposedHeaders(AbpHttpConsts.AbpErrorFormat).WithExposedHeaders(AbpHttpConsts.AbpTenantResolveError); } } diff --git a/framework/src/Volo.Abp.Castle.Core/Volo.Abp.Castle.Core.csproj b/framework/src/Volo.Abp.Castle.Core/Volo.Abp.Castle.Core.csproj index 5b52e2b9e4..83a3253b07 100644 --- a/framework/src/Volo.Abp.Castle.Core/Volo.Abp.Castle.Core.csproj +++ b/framework/src/Volo.Abp.Castle.Core/Volo.Abp.Castle.Core.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs index 6e33882a30..0e617d7ae8 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpConsts.cs @@ -3,4 +3,5 @@ public static class AbpHttpConsts { public const string AbpErrorFormat = "_AbpErrorFormat"; + public const string AbpTenantResolveError = "Abp-Tenant-Resolve-Error"; } diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/AbpAspNetCoreMvcUiBootstrapDemoModule.cs b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/AbpAspNetCoreMvcUiBootstrapDemoModule.cs index 8437109aba..c0c03a8dfe 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/AbpAspNetCoreMvcUiBootstrapDemoModule.cs +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/AbpAspNetCoreMvcUiBootstrapDemoModule.cs @@ -1,8 +1,12 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Hosting; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.Menus; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling; using Volo.Abp.Autofac; using Volo.Abp.Modularity; +using Volo.Abp.UI.Navigation; namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo; @@ -26,4 +30,31 @@ public class AbpAspNetCoreMvcUiBootstrapDemoModule : AbpModule app.UseStaticFiles(); app.UseConfiguredEndpoints(); } + + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.StyleBundles + .Get(StandardBundles.Styles.Global) + .AddFiles("/css/demo.css"); + } ); + + Configure(options => + { + options.MenuContributors.Add(new BootstrapDemoMenuContributor()); + }); + + Configure(options => + { + options.StyleBundles.Configure( + StandardBundles.Styles.Global, + bundleConfiguration => + { + bundleConfiguration.AddFiles("/styles/my-global-styles.css"); + } + ); + }); + + } } diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/BootstrapDemoBrandingProvider.cs b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/BootstrapDemoBrandingProvider.cs new file mode 100644 index 0000000000..b3fea361e8 --- /dev/null +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/BootstrapDemoBrandingProvider.cs @@ -0,0 +1,10 @@ +using Volo.Abp.Ui.Branding; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo; + +public class BootstrapDemoBrandingProvider : DefaultBrandingProvider +{ + public override string AppName => "Bootstrap Tag Helpers"; + + public override string LogoUrl => "/imgs/demo/abp-io-light.png"; +} \ No newline at end of file diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Menus/BootstrapDemoMenuContributor.cs b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Menus/BootstrapDemoMenuContributor.cs new file mode 100644 index 0000000000..b6fce0dce0 --- /dev/null +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Menus/BootstrapDemoMenuContributor.cs @@ -0,0 +1,93 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Menus; +using Volo.Abp.UI.Navigation; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.Menus; + +public class BootstrapDemoMenuContributor : IMenuContributor +{ + public Task ConfigureMenuAsync(MenuConfigurationContext context) + { + if (context.Menu.Name == StandardMenus.Main) + { + AddMainMenuItems(context); + } + + return Task.CompletedTask; + } + private void AddMainMenuItems(MenuConfigurationContext context) + { + var menuItem = new ApplicationMenuItem(BootstrapDemoMenus.Components.Root, "Components"); + + var items = new List() + { + new ApplicationMenuItem(BootstrapDemoMenus.Components.Alerts, "Alerts", url: "/Components/Alerts"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Badges, "Badges", url: "/Components/Badges"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Borders, "Borders", url: "/Components/Borders"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Breadcrumbs, "Breadcrumbs", url: "/Components/Breadcrumbs"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Buttons, "Buttons", url: "/Components/Buttons"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.ButtonGroups, "Button Groups", url: "/Components/ButtonGroups"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Cards, "Cards", url: "/Components/Cards"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Carousel, "Carousel", url: "/Components/Carousel"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Collapse, "Collapse", url: "/Components/Collapse"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Dropdowns, "Dropdowns", url: "/Components/Dropdowns"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.DynamicForms, "Dynamic Forms", url: "/Components/DynamicForms"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.FormElements, "Form Elements", url: "/Components/FormElements"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Grids, "Grids", url: "/Components/Grids"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.ListGroups, "List Groups", url: "/Components/ListGroup"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Modals, "Modals", url: "/Components/Modals"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Navbars, "Navbars", url: "/Components/Navs"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Paginator, "Paginator", url: "/Components/Paginator"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Popovers, "Popovers", url: "/Components/Popovers"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.ProgressBars, "Progress Bars", url: "/Components/ProgressBars"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Tables, "Tables", url: "/Components/Tables"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Tabs, "Tabs", url: "/Components/Tabs"), + new ApplicationMenuItem(BootstrapDemoMenus.Components.Tooltips, "Tooltips", url: "/Components/Tooltips") + }; + + items.OrderBy(x => x.Name) + .ToList() + .ForEach(x => menuItem.AddItem(x)); + + context.Menu.AddItem(menuItem); + + context.Menu.AddItem( + new ApplicationMenuItem( + name: "Framework", + displayName: "Framework", + url: "https://abp.io" + ) + ); + context.Menu.AddItem( + new ApplicationMenuItem( + name: "Community", + displayName: "Community", + url: "https://community.abp.io" + ) + ); + context.Menu.AddItem( + new ApplicationMenuItem( + name: "Commercial", + displayName: "Commercial", + url: "https://commercial.abp.io" + ) + ); + context.Menu.AddItem( + new ApplicationMenuItem( + name: "Documents", + displayName: "Documents", + url: "https://Docs.abp.io" + ) + ); + context.Menu.AddItem( + new ApplicationMenuItem( + name: "Github", + displayName: "Github", + url: "https://github.com/abpframework/abp", + icon:"fa fa-github" + ) + ); + } +} diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Menus/BootstrapDemoMenus.cs b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Menus/BootstrapDemoMenus.cs new file mode 100644 index 0000000000..4227c807c6 --- /dev/null +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Menus/BootstrapDemoMenus.cs @@ -0,0 +1,34 @@ +namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Menus; + +public class BootstrapDemoMenus +{ + private const string Prefix = "BootstrapDemo"; + public const string Home = Prefix + ".Home"; + + public static class Components + { + public const string Root = Prefix + ".Components"; + public const string Alerts = Root + ".Alerts"; + public const string Badges = Root + ".Badges"; + public const string Borders = Root + ".Borders"; + public const string Breadcrumbs = Root + ".Breadcrumbs"; + public const string ButtonGroups = Root + ".ButtonGroups"; + public const string Buttons = Root + ".Buttons"; + public const string Cards = Root + ".Cards"; + public const string Carousel = Root + ".Carousel"; + public const string Collapse = Root + ".Collapse"; + public const string Dropdowns = Root + ".Dropdowns"; + public const string DynamicForms = Root + ".DynamicForms"; + public const string FormElements = Root + ".FormElements"; + public const string Grids = Root + ".Grids"; + public const string ListGroups = Root + ".ListGroups"; + public const string Modals = Root + ".Modals"; + public const string Navbars = Root + ".Navbars"; + public const string Paginator = Root + ".Paginator"; + public const string Popovers = Root + ".Popovers"; + public const string ProgressBars = Root + ".ProgressBars"; + public const string Tables = Root + ".Tables"; + public const string Tabs = Root + ".Tabs"; + public const string Tooltips = Root + ".Tooltips"; + } +} \ No newline at end of file diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/_ViewStart.cshtml b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/_ViewStart.cshtml deleted file mode 100644 index 821d04a80b..0000000000 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "~/Pages/_Layout.cshtml"; -} diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/imgs/demo/abp-io-light.png b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/imgs/demo/abp-io-light.png new file mode 100644 index 0000000000..6a671a31be Binary files /dev/null and b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/imgs/demo/abp-io-light.png differ diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/styles/my-global-styles.css b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/styles/my-global-styles.css new file mode 100644 index 0000000000..538e75d469 --- /dev/null +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/styles/my-global-styles.css @@ -0,0 +1,10 @@ +.navbar-brand{ + padding-right: 1em; + padding-top: 0.50em; +} +.navbar-brand img{ + padding-right: 2em; +} +.nav-item{ + padding-left: 2.2em; +} \ No newline at end of file diff --git a/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts b/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts index ce5647bccd..4f833fe0f1 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts @@ -147,6 +147,8 @@ export class ErrorHandler { this.navigateToLogin(); }); } + } if(err instanceof HttpErrorResponse && err.headers.get('Abp-Tenant-Resolve-Error')){ + this.authService.logout().subscribe(); } else { switch (err.status) { case 401: @@ -176,7 +178,7 @@ export class ErrorHandler { status: 403, }); break; - case 404: + case 404:{ this.canCreateCustomError(404) ? this.show404Page() : this.showError( @@ -189,7 +191,9 @@ export class ErrorHandler { defaultValue: DEFAULT_ERROR_MESSAGES.defaultError404.title, }, ); - break; + break; + } + case 500: this.createErrorComponent({ title: { diff --git a/nupkg/pack.ps1 b/nupkg/pack.ps1 index 13f2c043f1..4c45e9e8c3 100644 --- a/nupkg/pack.ps1 +++ b/nupkg/pack.ps1 @@ -24,8 +24,8 @@ foreach($project in $projects) { Set-Location $projectFolder #dotnet clean - dotnet pack -c Release --no-build - + dotnet pack -c Release --no-build -- /maxcpucount + if (-Not $?) { Write-Error "Packaging failed for the project: $projectName" exit $LASTEXITCODE