fix: avoid service desk configuration reload
This commit is contained in:
@@ -52,6 +52,7 @@ namespace C4IT.F4SD
|
||||
|
||||
private const string placeHolderSubject = "PARAM_SUBJECT";
|
||||
private const string placeHolderDescription = "PARAM_DESCRIPTION";
|
||||
private static bool? ticketAndServiceRequestEnabledCache;
|
||||
private const string c4itf4sdmonLinkBase = "f4sdsend://localhost";
|
||||
|
||||
private const string F4SDTicketTableName = "M42WPM-TICKETS-INFOS";
|
||||
@@ -1685,18 +1686,23 @@ namespace C4IT.F4SD
|
||||
|
||||
private static bool ticketAndServiceRequestEnabled()
|
||||
{
|
||||
var configProvider = F4SDM42WebApiController.defaultInstance._globalConfigurationProvider;
|
||||
if (ticketAndServiceRequestEnabledCache.HasValue)
|
||||
return ticketAndServiceRequestEnabledCache.Value;
|
||||
|
||||
// using reflection because signature of "ReloadSettings" changed in ESM v12
|
||||
var method = configProvider.GetType().GetMethod("ReloadSettings");
|
||||
|
||||
if (method != null)
|
||||
try
|
||||
{
|
||||
var defaultParameters = method.GetParameters().Select(p => p.HasDefaultValue ? p.DefaultValue : null).ToArray();
|
||||
method.Invoke(configProvider, defaultParameters);
|
||||
var configProvider = F4SDM42WebApiController.defaultInstance?._globalConfigurationProvider;
|
||||
var enabled = configProvider?.ServiceDeskConfiguration?.TicketAndServiceRequestEnabled ?? true;
|
||||
ticketAndServiceRequestEnabledCache = enabled;
|
||||
return enabled;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
LogEntry("Could not read ServiceDeskConfiguration.TicketAndServiceRequestEnabled. Falling back to enabled ticket/service request mode.", LogLevels.Warning);
|
||||
ticketAndServiceRequestEnabledCache = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
return configProvider.ServiceDeskConfiguration.TicketAndServiceRequestEnabled;
|
||||
}
|
||||
|
||||
internal async Task<List<cF4SDTicket>> getTicketDetails(List<Guid> ticketObjectIds)
|
||||
|
||||
Reference in New Issue
Block a user