From 36028cebcc1c430c8f53ce3e9c2c94a985d89084 Mon Sep 17 00:00:00 2001 From: magicjar <9734293+magicjar@users.noreply.github.com> Date: Sun, 26 Jan 2025 17:42:13 +0700 Subject: [PATCH 1/5] Ensure Previous Pagination Button is Disabled for Invalid Page --- .../Pagination/AbpPaginationTagHelperService.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelperService.cs index 9d1bac7f5f0..115d6eeb021 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelperService.cs @@ -106,11 +106,11 @@ protected virtual async Task GetPageAsync(TagHelperContext context, TagH protected virtual async Task GetPreviousButtonAsync(TagHelperContext context, TagHelperOutput output) { var localizationKey = "PagerPrevious"; - var currentPage = TagHelper.Model.CurrentPage == 1 - ? TagHelper.Model.CurrentPage.ToString() - : (TagHelper.Model.CurrentPage - 1).ToString(); + var currentPage = TagHelper.Model.CurrentPage > 1 + ? (TagHelper.Model.CurrentPage - 1).ToString() + : "1"; return - "
  • \r\n" + + "
  • \r\n" + (await RenderAnchorTagHelperLinkHtmlAsync(context, output, currentPage, localizationKey)) + "
  • "; } From 76e93705c92437e3f514a015c3908345991e9440 Mon Sep 17 00:00:00 2001 From: Mansur Besleney Date: Thu, 30 Jan 2025 09:47:22 +0300 Subject: [PATCH 2/5] Update en.json --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index e48a677ee75..2fc0859b589 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -685,6 +685,7 @@ "RedisManagement": "Redis Management", "Permission:RedisManagement": "Redis Management", "UserCleanUp": "User Clean Up", - "Permission:UserCleanUp": "User Clean Up" + "Permission:UserCleanUp": "User Clean Up", + "AllowPrivateQuestion": "Allow Private Question" } } From 8b4ddcce33581dab25a8f72c0fe074ec223a3a95 Mon Sep 17 00:00:00 2001 From: Berkan Sasmaz Date: Thu, 30 Jan 2025 14:09:15 +0300 Subject: [PATCH 3/5] Add security info to OpenAI integration article --- .../en/Community-Articles/2024-12-01-OpenAI-Integration/POST.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/en/Community-Articles/2024-12-01-OpenAI-Integration/POST.md b/docs/en/Community-Articles/2024-12-01-OpenAI-Integration/POST.md index c07509d2e3a..4706e79f49f 100644 --- a/docs/en/Community-Articles/2024-12-01-OpenAI-Integration/POST.md +++ b/docs/en/Community-Articles/2024-12-01-OpenAI-Integration/POST.md @@ -62,6 +62,8 @@ dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease > Replace the value of the `Key` with your OpenAI API key. +> **Important Security Note**: Storing sensitive information like API keys in `appsettings.json` is not recommended due to security concerns. Please refer to the [official Microsoft documentation](https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets) for secure secret management best practices. + Next, add the following code to the `ConfigureServices` method in `OpenAIIntegrationBlazorModule`: ```csharp From ec77c4f1f0e169004c3b066ac9cee0deb52cb204 Mon Sep 17 00:00:00 2001 From: Eric Johnson Date: Thu, 30 Jan 2025 09:33:15 -0600 Subject: [PATCH 4/5] Update form-elements.md to link to en-us language page of Microsoft --- .../ui/mvc-razor-pages/tag-helpers/form-elements.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/form-elements.md b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/form-elements.md index 9230075ed30..b59ecf8dd3b 100644 --- a/docs/en/framework/ui/mvc-razor-pages/tag-helpers/form-elements.md +++ b/docs/en/framework/ui/mvc-razor-pages/tag-helpers/form-elements.md @@ -10,7 +10,7 @@ See the [form elements demo page](https://bootstrap-taghelpers.abp.io/Components ## abp-input -`abp-input` tag creates a Bootstrap form input for a given c# property. It uses [Asp.Net Core Input Tag Helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/working-with-forms?view=aspnetcore-7.0#the-input-tag-helper) in background, so every data annotation attribute of `input` tag helper of Asp.Net Core is also valid for `abp-input`. +`abp-input` tag creates a Bootstrap form input for a given c# property. It uses [Asp.Net Core Input Tag Helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/working-with-forms?view=aspnetcore-9.0#the-input-tag-helper) in background, so every data annotation attribute of `input` tag helper of Asp.Net Core is also valid for `abp-input`. Usage: @@ -89,7 +89,7 @@ You can set some of the attributes on your c# property, or directly on HTML tag. * `required-symbol`: Adds the required symbol `(*)` to the label when the input is required. The default value is `True`. * `floating-label`: Sets the label as floating label. The default value is `False`. -`asp-format`, `name` and `value` attributes of [Asp.Net Core Input Tag Helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/working-with-forms?view=aspnetcore-7.0#the-input-tag-helper) are also valid for `abp-input` tag helper. +`asp-format`, `name` and `value` attributes of [Asp.Net Core Input Tag Helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/working-with-forms?view=aspnetcore-9.0#the-input-tag-helper) are also valid for `abp-input` tag helper. ### Label & Localization @@ -101,7 +101,7 @@ You can set the label of the input in several ways: ## abp-select -`abp-select` tag creates a Bootstrap form select for a given c# property. It uses [ASP.NET Core Select Tag Helper](https://docs.microsoft.com/tr-tr/aspnet/core/mvc/views/working-with-forms?view=aspnetcore-3.1#the-select-tag-helper) in background, so every data annotation attribute of `select` tag helper of ASP.NET Core is also valid for `abp-select`. +`abp-select` tag creates a Bootstrap form select for a given c# property. It uses [ASP.NET Core Select Tag Helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/working-with-forms?view=aspnetcore-9.0#the-select-tag-helper) in background, so every data annotation attribute of `select` tag helper of ASP.NET Core is also valid for `abp-select`. `abp-select` tag needs a list of `Microsoft.AspNetCore.Mvc.Rendering.SelectListItem ` to work. It can be provided by `asp-items` attriube on the tag or `[SelectItems()]` attribute on c# property. (if you are using [abp-dynamic-form](dynamic-forms.md), c# attribute is the only way.) @@ -432,4 +432,4 @@ newPicker.insertAfter($('body')); * `startDateName`: Sets the name of the hidden start date input. * `endDateName`: Sets the name of the hidden end date input. * `dateName`: Sets the name of the hidden date input. -* Other [datepicker options](https://www.daterangepicker.com/#options). Eg: `startDate: "2020-01-01"`. \ No newline at end of file +* Other [datepicker options](https://www.daterangepicker.com/#options). Eg: `startDate: "2020-01-01"`. From 63991df74cba5703fe125d331bfc8480b4ee2114 Mon Sep 17 00:00:00 2001 From: Jeffrey Andersen <47866143+anderjef@users.noreply.github.com> Date: Sat, 1 Feb 2025 16:29:33 -0600 Subject: [PATCH 5/5] Update idle-session-timeout.md --- docs/en/modules/account/idle-session-timeout.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/modules/account/idle-session-timeout.md b/docs/en/modules/account/idle-session-timeout.md index 069e6db665e..231ea31e7dc 100644 --- a/docs/en/modules/account/idle-session-timeout.md +++ b/docs/en/modules/account/idle-session-timeout.md @@ -6,7 +6,7 @@ The `Idle Session Timeout` feature allows you to automatically log out users aft You can enable/disable the `Idle Session Timeout` feature in the `Setting > Account > Idle Session Timeout` page. -The default idle session timeout is 1 hour. You can change it by selecting a different value from the dropdown list or entering a custom value(in minutes). +The default idle session timeout is 1 hour. You can change it by selecting a different value from the dropdown list or entering a custom value (in minutes). ![idle-setting](../../images/idle-setting.png)