diff --git a/src/OrchardCoreContrib.GoogleMaps/AdminMenu.cs b/src/OrchardCoreContrib.GoogleMaps/AdminMenu.cs
index b382294c..b957546b 100644
--- a/src/OrchardCoreContrib.GoogleMaps/AdminMenu.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/AdminMenu.cs
@@ -1,42 +1,40 @@
-using Microsoft.Extensions.Localization;
-using OrchardCoreContrib.GoogleMaps.Drivers;
+using Microsoft.AspNetCore.Routing;
+using Microsoft.Extensions.Localization;
using OrchardCore.Navigation;
+using OrchardCoreContrib.GoogleMaps.Drivers;
+
+namespace OrchardCoreContrib.GoogleMaps;
+
using OrchardCoreContrib.Navigation;
-namespace OrchardCoreContrib.GoogleMaps
+///
+/// Represents an admin menu for GoogleMaps module.
+///
+///
+/// Initializes a new instance of .
+///
+///
+public class AdminMenu(IStringLocalizer S) : AdminNavigationProvider
{
- using OrchardCoreContrib.Navigation;
-
- ///
- /// Represents an admin menu for GoogleMaps module.
- ///
- public class AdminMenu : AdminNavigationProvider
+ private static readonly RouteValueDictionary _routeValues = new()
{
- private readonly IStringLocalizer S;
-
- ///
- /// Initializes a new instance of .
- ///
- ///
- public AdminMenu(IStringLocalizer stringLocalizer)
- {
- S = stringLocalizer;
- }
+ { "area", "OrchardCore.Settings" },
+ { "groupId", GoogleMapsSettingsDisplayDriver.GroupId },
+ };
- ///
- public override void BuildNavigation(NavigationBuilder builder)
- {
- builder
- .Add(S["Configuration"], configuration => configuration
- .Add(S["Settings"], settings => settings
- .Add(S["Google Maps"], S["Google Maps"].PrefixPosition(), entry => entry
- .AddClass("googlemaps").Id("googlemaps")
- .Action("Index", "Admin", new { area = "OrchardCore.Settings", groupId = GoogleMapsSettingsDisplayDriver.GroupId })
- .Permission(Permissions.ManageGoogleMapsSettings)
- .LocalNav()
- )
+ ///
+ public override void BuildNavigation(NavigationBuilder builder)
+ {
+ builder
+ .Add(S["Configuration"], configuration => configuration
+ .Add(S["Settings"], settings => settings
+ .Add(S["Google Maps"], S["Google Maps"].PrefixPosition(), entry => entry
+ .AddClass("googlemaps").Id("googlemaps")
+ .Action("Index", "Admin", _routeValues)
+ .Permission(GoogleMapsPermissions.ManageGoogleMapsSettings)
+ .LocalNav()
)
- );
- }
+ )
+ );
}
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/Drivers/GoogleMapPartDisplayDriver.cs b/src/OrchardCoreContrib.GoogleMaps/Drivers/GoogleMapPartDisplayDriver.cs
index 5ffebd2d..897f7f7c 100644
--- a/src/OrchardCoreContrib.GoogleMaps/Drivers/GoogleMapPartDisplayDriver.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/Drivers/GoogleMapPartDisplayDriver.cs
@@ -1,52 +1,49 @@
using OrchardCore.ContentManagement.Display.ContentDisplay;
using OrchardCore.ContentManagement.Display.Models;
-using OrchardCore.DisplayManagement.ModelBinding;
using OrchardCore.DisplayManagement.Views;
using OrchardCoreContrib.GoogleMaps.Models;
using OrchardCoreContrib.GoogleMaps.ViewModels;
-using System.Threading.Tasks;
-namespace OrchardCoreContrib.GoogleMaps.Drivers
+namespace OrchardCoreContrib.GoogleMaps.Drivers;
+
+///
+/// Represents a display driver for .
+///
+public class GoogleMapPartDisplayDriver : ContentPartDisplayDriver
{
- ///
- /// Represents a display driver for .
- ///
- public class GoogleMapPartDisplayDriver : ContentPartDisplayDriver
+ public override IDisplayResult Display(GoogleMapPart part, BuildPartDisplayContext context)
{
- public override IDisplayResult Display(GoogleMapPart part, BuildPartDisplayContext context)
- {
- var settings = context.TypePartDefinition.GetSettings();
+ var settings = context.TypePartDefinition.GetSettings();
- return Initialize(GetDisplayShapeType(context), model =>
- {
- model.Latitude = part.Latitude;
- model.Longitude = part.Longitude;
- model.GoogleMapPart = part;
- model.ContentItem = part.ContentItem;
- model.Settings = settings;
- })
- .Location("Detail", "Content:20")
- .Location("Summary", "Meta:5");
+ return Initialize(GetDisplayShapeType(context), model =>
+ {
+ model.Latitude = part.Latitude;
+ model.Longitude = part.Longitude;
+ model.GoogleMapPart = part;
+ model.ContentItem = part.ContentItem;
+ model.Settings = settings;
+ })
+ .Location("Detail", "Content:20")
+ .Location("Summary", "Meta:5");
- }
+ }
- public override IDisplayResult Edit(GoogleMapPart part, BuildPartEditorContext context)
+ public override IDisplayResult Edit(GoogleMapPart part, BuildPartEditorContext context)
+ {
+ return Initialize(GetEditorShapeType(context), model =>
{
- return Initialize(GetEditorShapeType(context), model =>
- {
- model.Latitude = part.Latitude;
- model.Longitude = part.Longitude;
- model.GoogleMapPart = part;
- model.ContentItem = part.ContentItem;
- model.Settings = context.TypePartDefinition.GetSettings();
- });
- }
+ model.Latitude = part.Latitude;
+ model.Longitude = part.Longitude;
+ model.GoogleMapPart = part;
+ model.ContentItem = part.ContentItem;
+ model.Settings = context.TypePartDefinition.GetSettings();
+ });
+ }
- public override async Task UpdateAsync(GoogleMapPart model, UpdatePartEditorContext context)
- {
- await context.Updater.TryUpdateModelAsync(model, Prefix, p => p.Latitude, p => p.Longitude);
+ public override async Task UpdateAsync(GoogleMapPart model, UpdatePartEditorContext context)
+ {
+ await context.Updater.TryUpdateModelAsync(model, Prefix, p => p.Latitude, p => p.Longitude);
- return Edit(model, context);
- }
+ return Edit(model, context);
}
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/Drivers/GoogleMapsSettingsDisplayDriver.cs b/src/OrchardCoreContrib.GoogleMaps/Drivers/GoogleMapsSettingsDisplayDriver.cs
index b43c9b47..7ea4b0b1 100644
--- a/src/OrchardCoreContrib.GoogleMaps/Drivers/GoogleMapsSettingsDisplayDriver.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/Drivers/GoogleMapsSettingsDisplayDriver.cs
@@ -6,90 +6,77 @@
using OrchardCore.DisplayManagement.Views;
using OrchardCore.Settings;
using OrchardCoreContrib.GoogleMaps.ViewModels;
-using System.Threading.Tasks;
-namespace OrchardCoreContrib.GoogleMaps.Drivers
+namespace OrchardCoreContrib.GoogleMaps.Drivers;
+
+///
+/// Represents a display driver for .
+///
+///
+/// Initializes a new instance of .
+///
+/// The .
+/// The .
+/// The .
+public class GoogleMapsSettingsDisplayDriver(
+ IDataProtectionProvider dataProtectionProvider,
+ IHttpContextAccessor httpContextAccessor,
+ IAuthorizationService authorizationService) : SectionDisplayDriver
{
- ///
- /// Represents a display driver for .
- ///
- public class GoogleMapsSettingsDisplayDriver : SectionDisplayDriver
- {
- public const string GroupId = "google-maps";
+ public const string GroupId = "google-maps";
- private readonly IDataProtectionProvider _dataProtectionProvider;
- private readonly IHttpContextAccessor _httpContextAccessor;
- private readonly IAuthorizationService _authorizationService;
+ ///
+ public override async Task EditAsync(ISite model, GoogleMapsSettings section, BuildEditorContext context)
+ {
+ var user = httpContextAccessor.HttpContext?.User;
- ///
- /// Initializes a new instance of .
- ///
- /// The .
- /// The .
- /// The .
- public GoogleMapsSettingsDisplayDriver(
- IDataProtectionProvider dataProtectionProvider,
- IHttpContextAccessor httpContextAccessor,
- IAuthorizationService authorizationService)
+ if (!await authorizationService.AuthorizeAsync(user, GoogleMapsPermissions.ManageGoogleMapsSettings))
{
- _dataProtectionProvider = dataProtectionProvider;
- _httpContextAccessor = httpContextAccessor;
- _authorizationService = authorizationService;
+ return null;
}
- ///
- public override async Task EditAsync(ISite model, GoogleMapsSettings section, BuildEditorContext context)
+ return Initialize("GoogleMapsSettings_Edit", model =>
{
- var user = _httpContextAccessor.HttpContext?.User;
+ model.ApiKey = section.ApiKey;
+ model.Latitude = section.Latitude;
+ model.Longitude = section.Longitude;
+ }).Location("Content").OnGroup(GroupId);
+ }
- if (!await _authorizationService.AuthorizeAsync(user, Permissions.ManageGoogleMapsSettings))
- {
- return null;
- }
+ ///
+ public override async Task UpdateAsync(ISite model, GoogleMapsSettings section, UpdateEditorContext context)
+ {
+ var user = httpContextAccessor.HttpContext?.User;
- return Initialize("GoogleMapsSettings_Edit", model =>
- {
- model.ApiKey = section.ApiKey;
- model.Latitude = section.Latitude;
- model.Longitude = section.Longitude;
- }).Location("Content").OnGroup(GroupId);
+ if (!await authorizationService.AuthorizeAsync(user, GoogleMapsPermissions.ManageGoogleMapsSettings))
+ {
+ return null;
}
- ///
- public override async Task UpdateAsync(ISite model, GoogleMapsSettings section, UpdateEditorContext context)
+ if (context.GroupId == GroupId)
{
- var user = _httpContextAccessor.HttpContext?.User;
-
- if (!await _authorizationService.AuthorizeAsync(user, Permissions.ManageGoogleMapsSettings))
+ var viewModel = new GoogleMapsSettingsViewModel();
+ var previousApiKey = section.ApiKey;
+
+ if (await context.Updater.TryUpdateModelAsync(viewModel, Prefix, m => m.ApiKey, m => m.Latitude, m => m.Longitude))
{
- return null;
+ section.ApiKey = viewModel.ApiKey;
+ section.Latitude = viewModel.Latitude;
+ section.Longitude = viewModel.Longitude;
}
- if (context.GroupId == GroupId)
+ if (string.IsNullOrWhiteSpace(section.ApiKey))
{
- var viewModel = new GoogleMapsSettingsViewModel();
- var previousApiKey = section.ApiKey;
-
- if (await context.Updater.TryUpdateModelAsync(viewModel, Prefix, m => m.ApiKey, m => m.Latitude, m => m.Longitude))
- {
- section.ApiKey = viewModel.ApiKey;
- section.Latitude = viewModel.Latitude;
- section.Longitude = viewModel.Longitude;
- }
-
- if (string.IsNullOrWhiteSpace(section.ApiKey))
- {
- section.ApiKey = previousApiKey;
- }
- else
- {
- var protector = _dataProtectionProvider.CreateProtector(GroupId);
-
- section.ApiKey = protector.Protect(section.ApiKey);
- }
+ section.ApiKey = previousApiKey;
}
+ else
+ {
+ var protector = dataProtectionProvider.CreateProtector(GroupId);
- return await EditAsync(model, section, context);
+ section.ApiKey = protector.Protect(section.ApiKey);
+ }
}
+
+ return await EditAsync(model, section, context);
}
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/GoogleMapsDefaults.cs b/src/OrchardCoreContrib.GoogleMaps/GoogleMapsDefaults.cs
index fd16afbb..d514e00e 100644
--- a/src/OrchardCoreContrib.GoogleMaps/GoogleMapsDefaults.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/GoogleMapsDefaults.cs
@@ -1,9 +1,8 @@
-namespace OrchardCoreContrib.GoogleMaps
+namespace OrchardCoreContrib.GoogleMaps;
+
+public class GoogleMapsDefaults
{
- public class GoogleMapsDefaults
- {
- public static readonly double Latitude = 15.5539;
+ public static readonly double Latitude = 15.5539;
- public static readonly double Longitude = 48.1748;
- }
+ public static readonly double Longitude = 48.1748;
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/GoogleMapsPermissions.cs b/src/OrchardCoreContrib.GoogleMaps/GoogleMapsPermissions.cs
new file mode 100644
index 00000000..3e13b308
--- /dev/null
+++ b/src/OrchardCoreContrib.GoogleMaps/GoogleMapsPermissions.cs
@@ -0,0 +1,14 @@
+using OrchardCore.Security.Permissions;
+
+namespace OrchardCoreContrib.GoogleMaps;
+
+///
+/// Represents a permissions that will be applied into GoogleMaps module.
+///
+public class GoogleMapsPermissions
+{
+ ///
+ /// Gets a permission for managing a Google Maps settings.
+ ///
+ public static readonly Permission ManageGoogleMapsSettings = new("ManageGoogleMapsSettings", "Manage Google Maps Settings");
+}
diff --git a/src/OrchardCoreContrib.GoogleMaps/GoogleMapsSettings.cs b/src/OrchardCoreContrib.GoogleMaps/GoogleMapsSettings.cs
index ea9efd6e..4451c21f 100644
--- a/src/OrchardCoreContrib.GoogleMaps/GoogleMapsSettings.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/GoogleMapsSettings.cs
@@ -1,11 +1,10 @@
-namespace OrchardCoreContrib.GoogleMaps
+namespace OrchardCoreContrib.GoogleMaps;
+
+public class GoogleMapsSettings
{
- public class GoogleMapsSettings
- {
- public string ApiKey { get; set; }
+ public string ApiKey { get; set; }
- public double Latitude { get; set; } = GoogleMapsDefaults.Latitude;
+ public double Latitude { get; set; } = GoogleMapsDefaults.Latitude;
- public double Longitude { get; set; } = GoogleMapsDefaults.Longitude;
- }
+ public double Longitude { get; set; } = GoogleMapsDefaults.Longitude;
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/Manifest.cs b/src/OrchardCoreContrib.GoogleMaps/Manifest.cs
index 59214eec..60c22137 100644
--- a/src/OrchardCoreContrib.GoogleMaps/Manifest.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/Manifest.cs
@@ -5,7 +5,7 @@
Name = "Google Maps",
Author = ManifestConstants.Author,
Website = ManifestConstants.Website,
- Version = "1.3.1",
+ Version = "1.5.0",
Description = "Displays Google maps.",
Dependencies = new[] { "OrchardCore.Contents" },
Category = "Content Management"
diff --git a/src/OrchardCoreContrib.GoogleMaps/Migrations/0001_CreateGoogleMapPart.cs b/src/OrchardCoreContrib.GoogleMaps/Migrations/0001_CreateGoogleMapPart.cs
index 1cde4bfe..980ae70f 100644
--- a/src/OrchardCoreContrib.GoogleMaps/Migrations/0001_CreateGoogleMapPart.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/Migrations/0001_CreateGoogleMapPart.cs
@@ -5,24 +5,17 @@
namespace OrchardCoreContrib.GoogleMaps.Migrations;
[Migration(1)]
-public class CreateGoogleMapPart : Migration
+public class CreateGoogleMapPart(IContentDefinitionManager contentDefinitionManager) : Migration
{
- private readonly IContentDefinitionManager _contentDefinitionManager;
-
- public CreateGoogleMapPart(IContentDefinitionManager contentDefinitionManager)
- {
- _contentDefinitionManager = contentDefinitionManager;
- }
-
public override void Up()
{
- _contentDefinitionManager.AlterPartDefinitionAsync("GoogleMapPart", builder => builder
+ contentDefinitionManager.AlterPartDefinitionAsync("GoogleMapPart", builder => builder
.Attachable()
.WithDescription("Provides a Google Map that you can use for your content item."));
}
public override void Down()
{
- _contentDefinitionManager.DeletePartDefinitionAsync("GoogleMapPart").GetAwaiter().GetResult();
+ contentDefinitionManager.DeletePartDefinitionAsync("GoogleMapPart").GetAwaiter().GetResult();
}
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/Models/GoogleMapPart.cs b/src/OrchardCoreContrib.GoogleMaps/Models/GoogleMapPart.cs
index 8b42f11d..ae497fe7 100644
--- a/src/OrchardCoreContrib.GoogleMaps/Models/GoogleMapPart.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/Models/GoogleMapPart.cs
@@ -1,11 +1,10 @@
using OrchardCore.ContentManagement;
-namespace OrchardCoreContrib.GoogleMaps.Models
+namespace OrchardCoreContrib.GoogleMaps.Models;
+
+public class GoogleMapPart : ContentPart
{
- public class GoogleMapPart : ContentPart
- {
- public double Latitude { get; set; }
+ public double Latitude { get; set; }
- public double Longitude { get; set; }
- }
+ public double Longitude { get; set; }
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/OrchardCoreContrib.GoogleMaps.csproj b/src/OrchardCoreContrib.GoogleMaps/OrchardCoreContrib.GoogleMaps.csproj
index bebfa2ef..91c1069f 100644
--- a/src/OrchardCoreContrib.GoogleMaps/OrchardCoreContrib.GoogleMaps.csproj
+++ b/src/OrchardCoreContrib.GoogleMaps/OrchardCoreContrib.GoogleMaps.csproj
@@ -4,10 +4,11 @@
net8.0
true
true
- 1.4.0
+ 1.5.0
The Orchard Core Contrib Team
Provides a part to display a Google Maps.
+ README.md
BSD-3-Clause
https://github.com/OrchardCoreContrib/OrchardCoreContrib.Modules/tree/main/src/OrchardCoreContrib.GoogleMaps/README.md
https://github.com/OrchardCoreContrib/OrchardCoreContrib.Modules
@@ -27,6 +28,7 @@
+
diff --git a/src/OrchardCoreContrib.GoogleMaps/Permissions.cs b/src/OrchardCoreContrib.GoogleMaps/Permissions.cs
index da7d25ad..7af4b0c8 100644
--- a/src/OrchardCoreContrib.GoogleMaps/Permissions.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/Permissions.cs
@@ -1,41 +1,28 @@
using OrchardCore.Security.Permissions;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-namespace OrchardCoreContrib.GoogleMaps
+namespace OrchardCoreContrib.GoogleMaps;
+
+///
+/// Represents a permissions that will be applied into GoogleMaps module.
+///
+public class Permissions : IPermissionProvider
{
- ///
- /// Represents a permissions that will be applied into GoogleMaps module.
- ///
- public class Permissions : IPermissionProvider
- {
- ///
- /// Gets a permission for managing a Gmail settings.
- ///
- public static readonly Permission ManageGoogleMapsSettings = new Permission("ManageGoogleMapsSettings", "Manage Google Maps Settings");
+ private readonly IEnumerable _allPermissions =
+ [
+ GoogleMapsPermissions.ManageGoogleMapsSettings,
+ ];
+
+ ///
+ public Task> GetPermissionsAsync() => Task.FromResult(_allPermissions);
- ///
- public Task> GetPermissionsAsync()
- {
- return Task.FromResult(new[]
- {
- ManageGoogleMapsSettings
- }
- .AsEnumerable());
- }
- ///
- public IEnumerable GetDefaultStereotypes()
+ ///
+ public IEnumerable GetDefaultStereotypes() =>
+ [
+ new PermissionStereotype
{
- return new[]
- {
- new PermissionStereotype
- {
- Name = "Administrator",
- Permissions = new[] { ManageGoogleMapsSettings }
- },
- };
- }
- }
+ Name = "Administrator",
+ Permissions = _allPermissions
+ },
+ ];
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/README.md b/src/OrchardCoreContrib.GoogleMaps/README.md
index 685b1e0b..d95c3883 100644
--- a/src/OrchardCoreContrib.GoogleMaps/README.md
+++ b/src/OrchardCoreContrib.GoogleMaps/README.md
@@ -4,7 +4,7 @@ This module allows you to display Google Map in you content item.
## Version
-1.3.1
+1.5.0
## Category
@@ -28,6 +28,7 @@ Content Management
| Name | Version |
|-------------------------------------------------------------------------------------------------------|---------|
+| [`OrchardCoreContrib.GoogleMaps`](https://www.nuget.org/packages/OrchardCoreContrib.GoogleMaps/1.5.0) | 1.5.0 |
| [`OrchardCoreContrib.GoogleMaps`](https://www.nuget.org/packages/OrchardCoreContrib.GoogleMaps/1.4.0) | 1.4.0 |
| [`OrchardCoreContrib.GoogleMaps`](https://www.nuget.org/packages/OrchardCoreContrib.GoogleMaps/1.3.1) | 1.3.1 |
| [`OrchardCoreContrib.GoogleMaps`](https://www.nuget.org/packages/OrchardCoreContrib.GoogleMaps/1.3.0) | 1.3.0 |
diff --git a/src/OrchardCoreContrib.GoogleMaps/Startup.cs b/src/OrchardCoreContrib.GoogleMaps/Startup.cs
index 1f51411a..c7d0b63c 100644
--- a/src/OrchardCoreContrib.GoogleMaps/Startup.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/Startup.cs
@@ -13,26 +13,25 @@
using OrchardCoreContrib.GoogleMaps.Models;
using OrchardCoreContrib.GoogleMaps.ViewModels;
-namespace OrchardCoreContrib.GoogleMaps
+namespace OrchardCoreContrib.GoogleMaps;
+
+public class Startup : StartupBase
{
- public class Startup : StartupBase
+ public override void ConfigureServices(IServiceCollection services)
{
- public override void ConfigureServices(IServiceCollection services)
+ services.Configure(o =>
{
- services.Configure(o =>
- {
- o.MemberAccessStrategy.Register();
- o.MemberAccessStrategy.Register();
- });
+ o.MemberAccessStrategy.Register();
+ o.MemberAccessStrategy.Register();
+ });
- services.AddScoped();
- services.AddScoped();
+ services.AddScoped();
+ services.AddScoped();
- services.AddTransient();
- services.AddScoped, GoogleMapsSettingsDisplayDriver>();
+ services.AddTransient();
+ services.AddScoped, GoogleMapsSettingsDisplayDriver>();
- services.AddContentPart()
- .UseDisplayDriver();
- }
+ services.AddContentPart()
+ .UseDisplayDriver();
}
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/ViewModels/GoogleMapPartViewModel.cs b/src/OrchardCoreContrib.GoogleMaps/ViewModels/GoogleMapPartViewModel.cs
index 029eec55..de8b1d11 100644
--- a/src/OrchardCoreContrib.GoogleMaps/ViewModels/GoogleMapPartViewModel.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/ViewModels/GoogleMapPartViewModel.cs
@@ -1,25 +1,23 @@
using Microsoft.AspNetCore.Mvc.ModelBinding;
using OrchardCore.ContentManagement;
using OrchardCoreContrib.GoogleMaps.Models;
-using System;
-namespace OrchardCoreContrib.GoogleMaps.ViewModels
+namespace OrchardCoreContrib.GoogleMaps.ViewModels;
+
+public class GoogleMapPartViewModel
{
- public class GoogleMapPartViewModel
- {
- public double Latitude { get; set; }
+ public double Latitude { get; set; }
- public double Longitude { get; set; }
+ public double Longitude { get; set; }
- [BindNever]
- public ContentItem ContentItem { get; set; }
+ [BindNever]
+ public ContentItem ContentItem { get; set; }
- [BindNever]
- public GoogleMapPart GoogleMapPart { get; set; }
+ [BindNever]
+ public GoogleMapPart GoogleMapPart { get; set; }
- [BindNever]
- public GoogleMapsSettings Settings { get; set; }
+ [BindNever]
+ public GoogleMapsSettings Settings { get; set; }
- public bool DevelopmentMode => String.IsNullOrEmpty(Settings.ApiKey);
- }
+ public bool DevelopmentMode => String.IsNullOrEmpty(Settings.ApiKey);
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/ViewModels/GoogleMapsSettingsViewModel.cs b/src/OrchardCoreContrib.GoogleMaps/ViewModels/GoogleMapsSettingsViewModel.cs
index 5341b06a..b64fb595 100644
--- a/src/OrchardCoreContrib.GoogleMaps/ViewModels/GoogleMapsSettingsViewModel.cs
+++ b/src/OrchardCoreContrib.GoogleMaps/ViewModels/GoogleMapsSettingsViewModel.cs
@@ -1,15 +1,14 @@
using System.ComponentModel.DataAnnotations;
-namespace OrchardCoreContrib.GoogleMaps.ViewModels
+namespace OrchardCoreContrib.GoogleMaps.ViewModels;
+
+public class GoogleMapsSettingsViewModel
{
- public class GoogleMapsSettingsViewModel
- {
- public string ApiKey { get; set; }
+ public string ApiKey { get; set; }
- [Required]
- public double Latitude { get; set; }
+ [Required]
+ public double Latitude { get; set; }
- [Required]
- public double Longitude { get; set; }
- }
+ [Required]
+ public double Longitude { get; set; }
}
diff --git a/src/OrchardCoreContrib.GoogleMaps/Views/GoogleMapPart.cshtml b/src/OrchardCoreContrib.GoogleMaps/Views/GoogleMapPart.cshtml
index 45ea87b5..78c5d823 100644
--- a/src/OrchardCoreContrib.GoogleMaps/Views/GoogleMapPart.cshtml
+++ b/src/OrchardCoreContrib.GoogleMaps/Views/GoogleMapPart.cshtml
@@ -1,11 +1,26 @@
-@using OrchardCoreContrib.GoogleMaps
+@using System.Globalization
+@using OrchardCore.Localization
+@using OrchardCoreContrib.GoogleMaps
@using OrchardCoreContrib.GoogleMaps.ViewModels
@model GoogleMapPartViewModel
@{
var queryString = Model.DevelopmentMode
- ? $"callback=loadMap"
- : $"key={Model.Settings.ApiKey}&callback=loadMap";
+ ? $"callback=loadMap"
+ : $"key={Model.Settings.ApiKey}&callback=loadMap";
+
+ var defaultLatitude = string.Empty;
+ var defaultLongitude = string.Empty;
+ var latitude = string.Empty;
+ var longitude = string.Empty;
+
+ using (var c = CultureScope.Create("en-US"))
+ {
+ defaultLatitude = GoogleMapsDefaults.Latitude.ToString(CultureInfo.InvariantCulture);
+ defaultLongitude = GoogleMapsDefaults.Longitude.ToString(CultureInfo.InvariantCulture);
+ latitude = Model.Latitude.ToString(CultureInfo.InvariantCulture);
+ longitude = Model.Longitude.ToString(CultureInfo.InvariantCulture);
+ }
}
@@ -13,13 +28,12 @@