diff --git a/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AbpAuditingOptions.cs b/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AbpAuditingOptions.cs index db13bdaf74..58a0713014 100644 --- a/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AbpAuditingOptions.cs +++ b/framework/src/Volo.Abp.Auditing/Volo/Abp/Auditing/AbpAuditingOptions.cs @@ -30,10 +30,10 @@ namespace Volo.Abp.Auditing /// Default: true. /// public bool IsEnabledForAnonymousUsers { get; set; } - - /// - /// Audit log on exceptions. - /// Default: true. + + /// + /// Audit log on exceptions. + /// Default: true. /// public bool AlwaysLogOnException { get; set; } 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 b6bfe203db..3c8d5dc4db 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 @@ -1,35 +1,35 @@ -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Options; -using Volo.Abp.Auditing; - -namespace Volo.Abp.AspNetCore.Mvc.Auditing -{ - [Route("api/audit-test")] - [Audited] - public class AuditTestController : AbpController - { - private readonly AbpAuditingOptions _options; - - public AuditTestController(IOptions options) - { - _options = options.Value; - } - - [Route("audit-success")] - public IActionResult AuditSuccessForGetRequests() - { - return Ok(); - } - - [Route("audit-fail")] - public IActionResult AuditFailForGetRequests() - { - throw new UserFriendlyException("Exception occurred!"); - } - [Route("audit-fail-object")] - public object AuditFailForGetRequestsReturningObject() - { - throw new UserFriendlyException("Exception occurred!"); - } - } -} +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; +using Volo.Abp.Auditing; + +namespace Volo.Abp.AspNetCore.Mvc.Auditing +{ + [Route("api/audit-test")] + [Audited] + public class AuditTestController : AbpController + { + private readonly AbpAuditingOptions _options; + + public AuditTestController(IOptions options) + { + _options = options.Value; + } + + [Route("audit-success")] + public IActionResult AuditSuccessForGetRequests() + { + return Ok(); + } + + [Route("audit-fail")] + public IActionResult AuditFailForGetRequests() + { + throw new UserFriendlyException("Exception occurred!"); + } + [Route("audit-fail-object")] + public object AuditFailForGetRequestsReturningObject() + { + throw new UserFriendlyException("Exception occurred!"); + } + } +} 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 f0371ef51a..49bc689e14 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 @@ -1,65 +1,65 @@ -using System; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.DependencyInjection.Extensions; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Options; -using NSubstitute; -using System.Threading.Tasks; -using Volo.Abp.Auditing; -using Xunit; - -namespace Volo.Abp.AspNetCore.Mvc.Auditing -{ - public class AuditTestController_Tests : AspNetCoreMvcTestBase - { - private readonly AbpAuditingOptions _options; - private IAuditingStore _auditingStore; - - public AuditTestController_Tests() - { - _options = ServiceProvider.GetRequiredService>().Value; - _auditingStore = ServiceProvider.GetRequiredService(); - } - - protected override void ConfigureServices(HostBuilderContext context, IServiceCollection services) - { - _auditingStore = Substitute.For(); - services.Replace(ServiceDescriptor.Singleton(_auditingStore)); - base.ConfigureServices(context, services); - } - - [Fact] - public async Task Should_Trigger_Middleware_And_AuditLog_Success_For_GetRequests() - { - _options.IsEnabledForGetRequests = true; - _options.AlwaysLogOnException = false; - await GetResponseAsync("api/audit-test/audit-success"); - await _auditingStore.Received().SaveAsync(Arg.Any()); - } - - [Fact] - public async Task Should_Trigger_Middleware_And_AuditLog_Exception_Always() - { - _options.IsEnabled = true; - _options.AlwaysLogOnException = true; - - try - { - await GetResponseAsync("api/audit-test/audit-fail", System.Net.HttpStatusCode.Forbidden); - } - catch { } - - await _auditingStore.Received().SaveAsync(Arg.Any()); - } - [Fact] - public async Task Should_Trigger_Middleware_And_AuditLog_Exception_When_Returns_Object() - { - _options.IsEnabled = true; - _options.AlwaysLogOnException = true; - - await GetResponseAsync("api/audit-test/audit-fail-object", System.Net.HttpStatusCode.Forbidden); - - await _auditingStore.Received().SaveAsync(Arg.Any()); - } - } -} +using System; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Options; +using NSubstitute; +using System.Threading.Tasks; +using Volo.Abp.Auditing; +using Xunit; + +namespace Volo.Abp.AspNetCore.Mvc.Auditing +{ + public class AuditTestController_Tests : AspNetCoreMvcTestBase + { + private readonly AbpAuditingOptions _options; + private IAuditingStore _auditingStore; + + public AuditTestController_Tests() + { + _options = ServiceProvider.GetRequiredService>().Value; + _auditingStore = ServiceProvider.GetRequiredService(); + } + + protected override void ConfigureServices(HostBuilderContext context, IServiceCollection services) + { + _auditingStore = Substitute.For(); + services.Replace(ServiceDescriptor.Singleton(_auditingStore)); + base.ConfigureServices(context, services); + } + + [Fact] + public async Task Should_Trigger_Middleware_And_AuditLog_Success_For_GetRequests() + { + _options.IsEnabledForGetRequests = true; + _options.AlwaysLogOnException = false; + await GetResponseAsync("api/audit-test/audit-success"); + await _auditingStore.Received().SaveAsync(Arg.Any()); + } + + [Fact] + public async Task Should_Trigger_Middleware_And_AuditLog_Exception_Always() + { + _options.IsEnabled = true; + _options.AlwaysLogOnException = true; + + try + { + await GetResponseAsync("api/audit-test/audit-fail", System.Net.HttpStatusCode.Forbidden); + } + catch { } + + await _auditingStore.Received().SaveAsync(Arg.Any()); + } + [Fact] + public async Task Should_Trigger_Middleware_And_AuditLog_Exception_When_Returns_Object() + { + _options.IsEnabled = true; + _options.AlwaysLogOnException = true; + + await GetResponseAsync("api/audit-test/audit-fail-object", System.Net.HttpStatusCode.Forbidden); + + await _auditingStore.Received().SaveAsync(Arg.Any()); + } + } +} diff --git a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs index 13f29184a9..5b7309a310 100644 --- a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs +++ b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs @@ -5,7 +5,9 @@ using Microsoft.Extensions.Options; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.AspNetCore.Mvc.UI.Packages; using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AutoMapper; using Volo.Abp.Modularity; using Volo.Abp.VirtualFileSystem; @@ -18,7 +20,11 @@ namespace Volo.Docs { [DependsOn( typeof(DocsHttpApiModule), - typeof(AbpAspNetCoreMvcUiBootstrapModule) + typeof(AbpAutoMapperModule), + typeof(AbpAspNetCoreMvcUiBootstrapModule), + typeof(AbpAspNetCoreMvcUiThemeSharedModule), + typeof(AbpAspNetCoreMvcUiPackagesModule), + typeof(AbpAspNetCoreMvcUiBundlingModule) )] public class DocsWebModule : AbpModule { diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml index 3430503f7d..7029cc410a 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml @@ -5,6 +5,7 @@ @using Volo.Abp.AspNetCore.Mvc.UI.Packages.Clipboard @using Volo.Abp.AspNetCore.Mvc.UI.Packages.MalihuCustomScrollbar @using Volo.Abp.AspNetCore.Mvc.UI.Packages.Popper +@using Volo.Docs.Pages.Documents.Shared.DocumentNotFoundComponent @using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs @using Volo.Abp.AspNetCore.Mvc.UI.Theming @using Volo.Docs @@ -39,269 +40,284 @@ } -
-
-
-
- -
- +
-
+
- @if (Model.ShowProjectsCombobox && Model.ProjectSelectItems.Count > 1) - { -
-
-
-
- -
+ @if (Model.ShowProjectsCombobox && Model.ProjectSelectItems.Count > 1) + { +
+
+
+
+ +
- + +
-
- } + } -
- @if (Model.VersionSelectItems.Any()) - { -
-
-
-
-
- -
+
+ @if (Model.VersionSelectItems.Any()) + { +
+
+
+
+
+ +
- + +
-
- } + } - @if (Model.LanguageSelectListItems.Count > 1) - { -
-
-
-
-
- + @if (Model.LanguageSelectListItems.Count > 1) + { +
+
+
+
+
+ +
+
-
-
- } -
+ } +
-
-
-
-
- -
+
+
+
+
+ +
- + +
-
- @if (Model.Navigation == null || !Model.Navigation.HasChildItems) - { -
- @L["NavigationDocumentNotFound"] -
- } - else - { - - } -
- -
-
- - @if (Model.Document != null) - { -
- +
+ + @if (Model.Document != null) + { +
+