Skip to content

Commit 9c7c249

Browse files
Bug Fix
Fixed problem when client opens a product Page and the Config page is not filled.
1 parent 5ad3d83 commit 9c7c249

File tree

7 files changed

+28
-6
lines changed

7 files changed

+28
-6
lines changed

Nop.Plugin.Widgets.AzPersonalizer/Components/WidgetsAzPersonalizerViewComponent.cs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ public async Task<IViewComponentResult> InvokeAsync(string widgetZone, object ad
6464
{
6565
var azPersonalizerSettings = await _settingService.LoadSettingAsync<AzPersonalizerSettings>((await _storeContext.GetCurrentStoreAsync()).Id);
6666
if (widgetZone.Equals(PublicWidgetZones.ProductDetailsEssentialBottom))
67-
{
67+
{
68+
try
69+
{
6870
string[] url = (_webHelper.GetThisPageUrl(true))?.Split("?");
6971
if (TempData["RewardID"] != null
7072
&& TempData["OrderedIDs"] != null
@@ -74,9 +76,20 @@ public async Task<IViewComponentResult> InvokeAsync(string widgetZone, object ad
7476
string pos = TempData["OrderedIDs"] is string position ? position : null;
7577

7678
await ProcessRewardAsync(id, pos, additionalData);
77-
}
78-
return await ReccomendedList(azPersonalizerSettings, additionalData);
79-
79+
}
80+
81+
var list = await ReccomendedList(azPersonalizerSettings, additionalData);
82+
if(list == null)
83+
{
84+
await _logger.ErrorAsync("Confirm everything is corret in the plugin settings.");
85+
return View("~/Plugins/Widgets.AzPersonalizer/Views/Default.cshtml");
86+
}
87+
return list;
88+
}catch(Exception e)
89+
{
90+
await _logger.ErrorAsync(e.Message);
91+
return View("~/Plugins/Widgets.AzPersonalizer/Views/Default.cshtml");
92+
}
8093
}
8194
else
8295
{
@@ -122,7 +135,7 @@ private async Task<IViewComponentResult> ReccomendedList(AzPersonalizerSettings
122135
}catch(Exception e)
123136
{
124137
await _logger.ErrorAsync("Failed to get reccomendations");
125-
return View();
138+
return null;
126139
}
127140

128141
}

Nop.Plugin.Widgets.AzPersonalizer/Nop.Plugin.Widgets.AzPersonalizer.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<None Remove="logo.png" />
2222
<None Remove="plugin.json" />
2323
<None Remove="Views\Configure.cshtml" />
24+
<None Remove="Views\Default.cshtml" />
2425
<None Remove="Views\Reccomendations.cshtml" />
2526
<None Remove="Views\_ProductReccomendationBox.cshtml" />
2627
<None Remove="Views\_ViewImports.cshtml" />
@@ -36,6 +37,11 @@
3637
<Content Include="Views\Configure.cshtml">
3738
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
3839
</Content>
40+
<Content Include="Views\Default.cshtml">
41+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
42+
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
43+
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
44+
</Content>
3945
<Content Include="Views\_ProductReccomendationBox.cshtml">
4046
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
4147
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>

Nop.Plugin.Widgets.AzPersonalizer/Services/PersonalizerClientService.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ public async Task RewardAnAction(string id, int pos)
117117
private async Task SetClientAsync()
118118
{
119119
_azPersonalizerSettings = await _settingService.LoadSettingAsync<AzPersonalizerSettings>((await _storeContext.GetCurrentStoreAsync()).Id);
120-
120+
if (string.IsNullOrEmpty(_azPersonalizerSettings.APIkey.Trim()) || string.IsNullOrEmpty(_azPersonalizerSettings.Endpoint.Trim()))
121+
throw new Exception("Plugin Not Configured.");
121122
_client = new PersonalizerClient(
122123
new ApiKeyServiceClientCredentials(_azPersonalizerSettings.APIkey))
123124
{
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+


Nop.Plugin.Widgets.AzPersonalizer/obj/Debug/net5.0/Nop.Plugin.Widgets.AzPersonalizer.csproj.FileListAbsolute.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ C:\Users\chama\source\repos\CRT.NopML\src\Presentation\Nop.Web\Plugins\Widgets.A
88
C:\Users\chama\source\repos\CRT.NopML\src\Presentation\Nop.Web\Plugins\Widgets.AzPersonalizer\logo.png
99
C:\Users\chama\source\repos\CRT.NopML\src\Presentation\Nop.Web\Plugins\Widgets.AzPersonalizer\plugin.json
1010
C:\Users\chama\source\repos\CRT.NopML\src\Presentation\Nop.Web\Plugins\Widgets.AzPersonalizer\Views\Configure.cshtml
11+
C:\Users\chama\source\repos\CRT.NopML\src\Presentation\Nop.Web\Plugins\Widgets.AzPersonalizer\Views\Default.cshtml
1112
C:\Users\chama\source\repos\CRT.NopML\src\Presentation\Nop.Web\Plugins\Widgets.AzPersonalizer\Views\_ProductReccomendationBox.cshtml
1213
C:\Users\chama\source\repos\CRT.NopML\src\Presentation\Nop.Web\Plugins\Widgets.AzPersonalizer\Views\Reccomendations.cshtml
1314
C:\Users\chama\source\repos\CRT.NopML\src\Presentation\Nop.Web\Plugins\Widgets.AzPersonalizer\Views\_ViewImports.cshtml
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)