Skip to content

Commit 88b4219

Browse files
committed
Merge branch '4.90-bug-fixes' into develop
# Conflicts: # src/Presentation/Nop.Web/Areas/Admin/Views/Shared/Table.cshtml
2 parents 42f2a9a + 9120778 commit 88b4219

4 files changed

Lines changed: 33 additions & 24 deletions

File tree

src/Presentation/Nop.Web.Framework/UI/INopHtmlHelper.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,4 +228,12 @@ public partial interface INopHtmlHelper
228228
/// </summary>
229229
/// <param name="jsonLd">The JSON-LD serialized model></param>
230230
void AddJsonLdParts(string jsonLd);
231+
232+
/// <summary>
233+
/// Get the culture name to use on the client side
234+
/// </summary>
235+
/// <returns>
236+
/// The culture name if it exists; otherwise, <see cref="NopCommonDefaults.DefaultLocalePattern"/>
237+
/// </returns>
238+
string GetDefaultJavaScriptCulture();
231239
}

src/Presentation/Nop.Web.Framework/UI/NopHtmlHelper.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
using Nop.Core;
1616
using Nop.Core.Configuration;
1717
using Nop.Core.Domain.Seo;
18+
using Nop.Core.Infrastructure;
19+
using Nop.Services.Common;
1820
using Nop.Services.Helpers;
1921
using Nop.Services.Localization;
2022
using Nop.Web.Framework.Mvc.Routing;
@@ -34,6 +36,7 @@ public partial class NopHtmlHelper : INopHtmlHelper
3436
protected readonly IHtmlHelper _htmlHelper;
3537
protected readonly IHttpContextAccessor _httpContextAccessor;
3638
protected readonly INopAssetHelper _bundleHelper;
39+
protected readonly INopFileProvider _fileProvider;
3740
protected readonly Lazy<ILocalizationService> _localizationService;
3841
protected readonly IStoreContext _storeContext;
3942
protected readonly IWebHelper _webHelper;
@@ -63,6 +66,7 @@ public NopHtmlHelper(AppSettings appSettings,
6366
IHtmlHelper htmlHelper,
6467
IHttpContextAccessor httpContextAccessor,
6568
INopAssetHelper bundleHelper,
69+
INopFileProvider fileProvider,
6670
Lazy<ILocalizationService> localizationService,
6771
IStoreContext storeContext,
6872
IWebHelper webHelper,
@@ -74,6 +78,7 @@ public NopHtmlHelper(AppSettings appSettings,
7478
_htmlHelper = htmlHelper;
7579
_httpContextAccessor = httpContextAccessor;
7680
_bundleHelper = bundleHelper;
81+
_fileProvider = fileProvider;
7782
_localizationService = localizationService;
7883
_storeContext = storeContext;
7984
_webHelper = webHelper;
@@ -773,6 +778,24 @@ public virtual void AddJsonLdParts(string jsonLd)
773778
AddHeadCustomParts("<script type=\"application/ld+json\">" + _htmlHelper.Raw(jsonLd) + "</script>");
774779
}
775780

781+
/// <summary>
782+
/// Get the culture name to use on the client side
783+
/// </summary>
784+
/// <returns>
785+
/// The culture name if it exists; otherwise, <see cref="NopCommonDefaults.DefaultLocalePattern"/>
786+
/// </returns>
787+
public virtual string GetDefaultJavaScriptCulture()
788+
{
789+
var cultureToUse = NopCommonDefaults.DefaultLocalePattern;
790+
791+
if (_fileProvider.DirectoryExists(_fileProvider.Combine(_fileProvider.WebRootPath, string.Format(NopCommonDefaults.LocalePatternPath, CultureInfo.CurrentCulture.Name))))
792+
cultureToUse = CultureInfo.CurrentCulture.Name;
793+
else if (_fileProvider.DirectoryExists(_fileProvider.Combine(_fileProvider.WebRootPath, string.Format(NopCommonDefaults.LocalePatternPath, CultureInfo.CurrentCulture.TwoLetterISOLanguageName))))
794+
cultureToUse = CultureInfo.CurrentCulture.TwoLetterISOLanguageName;
795+
796+
return cultureToUse;
797+
}
798+
776799
#endregion
777800

778801
#region Nested classes

src/Presentation/Nop.Web/Areas/Admin/Views/Shared/Table.cshtml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@model DataTablesModel
2-
32
@functions
43
{
54
string GetUrl(DataUrl dataUrl)
@@ -277,7 +276,7 @@
277276
}).formatToParts(value)
278277
.map(({ type, value: vpart }) => //for some locales dotnet accepts latin digits, but still requires localized signs and separators
279278
{
280-
var parser = Globalize("@CultureInfo.CurrentUICulture.Name.ToLowerInvariant()").numberParser();
279+
var parser = Globalize("@NopHtml.GetDefaultJavaScriptCulture()").numberParser();
281280
282281
if (type == "integer")
283282
return parser(vpart);

src/Presentation/Nop.Web/Areas/Admin/Views/Shared/_AdminScripts.cshtml

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,9 @@
1-
@inject INopFileProvider fileProvider;
2-
@inject IWebHelper webHelper
31
@inject LocalizationSettings localizationSettings
4-
@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment WebHostEnvironment
52
@using Nop.Core.Domain.Localization
63
@using Nop.Services.Helpers
74

85
@{
96
var supportRtl = (await workContext.GetWorkingLanguageAsync()).Rtl && !localizationSettings.IgnoreRtlPropertyForAdminArea;
10-
11-
var culture = CultureInfo.CurrentCulture;
12-
var uiCulture = CultureInfo.CurrentUICulture;
13-
14-
//Code to get check if current cultures scripts are exists. If not, select parent cultures scripts
15-
string GetDefaultCulture()
16-
{
17-
var localePattern = NopCommonDefaults.LocalePatternPath;
18-
19-
var cultureToUse = NopCommonDefaults.DefaultLocalePattern; //Default regionalisation to use
20-
21-
if (fileProvider.DirectoryExists(fileProvider.Combine(WebHostEnvironment.WebRootPath, string.Format(localePattern, culture.Name))))
22-
cultureToUse = culture.Name;
23-
else if (fileProvider.DirectoryExists(fileProvider.Combine(WebHostEnvironment.WebRootPath, string.Format(localePattern, culture.TwoLetterISOLanguageName))))
24-
cultureToUse = culture.TwoLetterISOLanguageName;
25-
26-
return cultureToUse;
27-
}
287
}
298

309
@*Google Font*@
@@ -89,7 +68,7 @@ else
8968
<script src="~/lib_npm/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
9069
<script asp-location="Footer">
9170
var rootAppPath = '@(Url.Content("~/"))';
92-
var culture = "@GetDefaultCulture()";
71+
var culture = "@NopHtml.GetDefaultJavaScriptCulture()";
9372
9473
//load cldr for current culture
9574
$.when(

0 commit comments

Comments
 (0)