From ad0c63b965706ab862c8bb73917d1d84250929a1 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Thu, 1 Apr 2021 11:24:06 +0200 Subject: [PATCH 1/3] Show Autocomplete dropdown on focus --- .../ObjectExtending/LookupExtensionProperty.razor | 3 ++- .../LookupExtensionProperty.razor.cs | 14 +++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor b/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor index a8257b9570..4a305d606d 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor +++ b/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor @@ -12,7 +12,8 @@ ValueField="item=>item.Value" SelectedValue="@SelectedValue" SelectedValueChanged="@SelectedValueChanged" - SearchChanged="@SearchFilterChangedAsync"> + SearchChanged="@SearchFilterChangedAsync" + MinLength="0"> \ No newline at end of file diff --git a/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor.cs b/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor.cs index b4e74b16d9..bd8c1869cc 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/LookupExtensionProperty.razor.cs @@ -96,14 +96,26 @@ namespace Volo.Abp.BlazoriseUI.Components.ObjectExtending return selectItems; } - protected virtual void SelectedValueChanged(object selectedItem) + protected virtual Task SelectedValueChanged(object selectedItem) { SelectedValue = selectedItem; + + return Task.CompletedTask; } protected async Task SearchFilterChangedAsync(string filter) { lookupItems = await GetLookupItemsAsync(filter); } + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + await base.OnAfterRenderAsync(firstRender); + + if (firstRender) + { + await SearchFilterChangedAsync(string.Empty); + } + } } } \ No newline at end of file From daf70c52894115c79b123cc1b1ea47026805c135 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 8 Apr 2021 11:41:00 +0800 Subject: [PATCH 2/3] Add exception to audit log if it not record. --- .../AspNetCore/Auditing/AbpAuditingMiddleware.cs | 11 +++++++++-- .../Mvc/Auditing/AuditTestController.cs | 8 ++++++++ .../Mvc/Auditing/AuditTestController_Tests.cs | 15 +++++++++++++++ .../Mvc/Auditing/AuditTestPage.cshtml.cs | 5 +++++ .../Mvc/Auditing/AuditTestPage_Tests.cs | 15 +++++++++++++++ 5 files changed, 52 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs index 99c9ccb2d5..72e5d36b3f 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Auditing/AbpAuditingMiddleware.cs @@ -45,19 +45,26 @@ namespace Volo.Abp.AspNetCore.Auditing var hasError = false; using (var saveHandle = _auditingManager.BeginScope()) { + Debug.Assert(_auditingManager.Current != null); + try { await next(context); - Debug.Assert(_auditingManager.Current != null); if (_auditingManager.Current.Log.Exceptions.Any()) { hasError = true; } } - catch (Exception) + catch (Exception ex) { hasError = true; + + if (!_auditingManager.Current.Log.Exceptions.Contains(ex)) + { + _auditingManager.Current.Log.Exceptions.Add(ex); + } + throw; } finally diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestController.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestController.cs index 94e57403f5..e67bbcb1ae 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestController.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestController.cs @@ -31,10 +31,18 @@ namespace Volo.Abp.AspNetCore.Mvc.Auditing { throw new UserFriendlyException("Exception occurred!"); } + [Route("audit-fail-object")] public object AuditFailForGetRequestsReturningObject() { throw new UserFriendlyException("Exception occurred!"); } + + [HttpGet] + [Route("audit-activate-failed")] + public IActionResult AuditActivateFailed([FromServices] AbpAuditingOptions options) + { + return Ok(); + } } } diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestController_Tests.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestController_Tests.cs index 9d3da08095..b76e71de52 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestController_Tests.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestController_Tests.cs @@ -74,5 +74,20 @@ namespace Volo.Abp.AspNetCore.Mvc.Auditing await _auditingStore.Received().SaveAsync(Arg.Any()); } + + [Fact] + public async Task Should_Trigger_Middleware_And_AuditLog_Exception_When_Activate_Controller_Failed() + { + _options.IsEnabledForGetRequests = true; + _options.AlwaysLogOnException = true; + + try + { + await GetResponseAsync("api/audit-test/audit-activate-failed", System.Net.HttpStatusCode.InternalServerError); + } + catch { } + + await _auditingStore.Received().SaveAsync(Arg.Is(x => x.Exceptions.Any())); + } } } diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestPage.cshtml.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestPage.cshtml.cs index 7dc1967a2e..10e28a4bb1 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestPage.cshtml.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestPage.cshtml.cs @@ -34,5 +34,10 @@ namespace Volo.Abp.AspNetCore.Mvc.Auditing { throw new UserFriendlyException("Exception occurred!"); } + + public IActionResult OnGetAuditActivateFailed([FromServices] AbpAuditingOptions options) + { + return new OkResult(); + } } } diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestPage_Tests.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestPage_Tests.cs index 311abe5aa5..24d7a58dd3 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestPage_Tests.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Auditing/AuditTestPage_Tests.cs @@ -73,5 +73,20 @@ namespace Volo.Abp.AspNetCore.Mvc.Auditing await _auditingStore.Received().SaveAsync(Arg.Any()); } + + [Fact] + public async Task Should_Trigger_Middleware_And_AuditLog_Exception_When_Activate_Page_Failed() + { + _options.IsEnabledForGetRequests = true; + _options.AlwaysLogOnException = true; + + try + { + await GetResponseAsync("/Auditing/AuditTestPage?handler=AuditActivateFailed", System.Net.HttpStatusCode.InternalServerError); + } + catch { } + + await _auditingStore.Received().SaveAsync(Arg.Is(x => x.Exceptions.Any())); + } } } From 131b116426c2e9e3bd158e404c6437f9b3398ce3 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Thu, 8 Apr 2021 09:27:20 +0200 Subject: [PATCH 3/3] Update Blazorise 0.9.3.4 --- .../src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj | 8 ++++---- ...yCompanyName.MyProjectName.Blazor.Server.Tiered.csproj | 4 ++-- .../MyCompanyName.MyProjectName.Blazor.Server.csproj | 4 ++-- .../MyCompanyName.MyProjectName.Blazor.csproj | 4 ++-- .../MyCompanyName.MyProjectName.Blazor.Host.csproj | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj b/framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj index a80679cdca..e042047563 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj +++ b/framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj @@ -14,10 +14,10 @@ - - - - + + + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj index b691486fc0..cd4877cbd4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index f764a3f82f..b514d70d25 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj index 32edf49026..d4898cb678 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj index 1235886462..c71d10e65a 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj @@ -8,8 +8,8 @@ - - + +