Skip to content

Commit e1472bc

Browse files
muratcakirmarkwoerdenweber
authored andcommitted
Don't resolve module event consumers during installation
(cherry picked from commit 2574737)
1 parent 6ff953a commit e1472bc

3 files changed

Lines changed: 22 additions & 6 deletions

File tree

src/Smartstore.Web/Program.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
global using Smartstore.Engine;
1717
global using Smartstore.Web.Components;
1818
global using Smartstore.Web.Controllers;
19-
global using Smartstore.Web.Filters;
2019
global using Smartstore.Web.Modelling;
2120
global using EntityState = Smartstore.Data.EntityState;
2221
using System.Reflection;

src/Smartstore/ComponentModel/TypeConverters/BooleanConverter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ public BooleanConverter(string[] trueValues, string[] falseValues)
1515
_falseValues = falseValues.ToFrozenSet(StringComparer.OrdinalIgnoreCase);
1616
}
1717

18-
public ICollection<string> TrueValues => _trueValues;
18+
public IReadOnlyCollection<string> TrueValues => _trueValues;
1919

20-
public ICollection<string> FalseValues => _falseValues;
20+
public IReadOnlyCollection<string> FalseValues => _falseValues;
2121

2222
public override object ConvertFrom(CultureInfo culture, object value)
2323
{

src/Smartstore/Events/ConsumerResolver.cs

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,33 @@ namespace Smartstore.Events;
77

88
public class ConsumerResolver : IConsumerResolver
99
{
10+
private readonly IApplicationContext _appContext;
11+
12+
public ConsumerResolver(IApplicationContext appContext)
13+
{
14+
_appContext = appContext;
15+
}
16+
17+
1018
public virtual IConsumer Resolve(ConsumerDescriptor descriptor)
1119
{
1220
var scope = EngineContext.Current.Scope;
1321

14-
if (descriptor.ModuleDescriptor == null || scope.Resolve<IModuleConstraint>().Matches(descriptor.ModuleDescriptor, null))
22+
if (descriptor.ModuleDescriptor != null)
1523
{
16-
return scope.ResolveKeyed<IConsumer>(descriptor.ContainerType);
24+
if (!_appContext.IsInstalled)
25+
{
26+
return null;
27+
}
28+
29+
if (!scope.Resolve<IModuleConstraint>().Matches(descriptor.ModuleDescriptor, null))
30+
{
31+
return null;
32+
}
1733
}
1834

19-
return null;
35+
return scope.ResolveKeyed<IConsumer>(descriptor.ContainerType);
36+
2037
}
2138

2239
public virtual object ResolveParameter(ParameterInfo p, IComponentContext c = null)

0 commit comments

Comments
 (0)