Merge pull request #6068 from sbwalker/dev
improve change detection notification logic
This commit is contained in:
@@ -209,8 +209,7 @@ namespace Oqtane.Infrastructure
|
|||||||
if (siteGroupMember.SiteGroup.Type == SiteGroupTypes.ChangeDetection && !string.IsNullOrEmpty(log))
|
if (siteGroupMember.SiteGroup.Type == SiteGroupTypes.ChangeDetection && !string.IsNullOrEmpty(log))
|
||||||
{
|
{
|
||||||
// send change log to administrators
|
// send change log to administrators
|
||||||
SendNotifications(provider, secondarySite.SiteId, secondarySite.Name, log);
|
log += SendNotifications(provider, siteGroupMember, secondarySite.SiteId, secondarySite.Name, log);
|
||||||
log += Log(siteGroupMember, $"Change Log Sent To Administrators For Secondary Site: {secondarySite.Name}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return log;
|
return log;
|
||||||
@@ -849,16 +848,29 @@ namespace Oqtane.Infrastructure
|
|||||||
return log;
|
return log;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendNotifications(IServiceProvider provider, int siteId, string siteName, string log)
|
private string SendNotifications(IServiceProvider provider, SiteGroupMember siteGroupMember, int siteId, string siteName, string changeLog)
|
||||||
{
|
{
|
||||||
var userRoleRepository = provider.GetRequiredService<IUserRoleRepository>();
|
var userRoleRepository = provider.GetRequiredService<IUserRoleRepository>();
|
||||||
var notificationRepository = provider.GetRequiredService<INotificationRepository>();
|
var notificationRepository = provider.GetRequiredService<INotificationRepository>();
|
||||||
|
var log = "";
|
||||||
|
|
||||||
foreach (var userRole in userRoleRepository.GetUserRoles(RoleNames.Admin, siteId))
|
// get administrators for site
|
||||||
|
var userRoles = userRoleRepository.GetUserRoles(RoleNames.Admin, siteId);
|
||||||
|
if (userRoles != null && userRoles.Any())
|
||||||
{
|
{
|
||||||
var notification = new Notification(siteId, userRole.User, $"{siteName} Change Log", log);
|
foreach (var userRole in userRoles)
|
||||||
notificationRepository.AddNotification(notification);
|
{
|
||||||
|
var notification = new Notification(siteId, userRole.User, $"{siteName} Change Log", changeLog);
|
||||||
|
notificationRepository.AddNotification(notification);
|
||||||
|
}
|
||||||
|
log += Log(siteGroupMember, $"Change Log Sent To Administrators For Secondary Site: {siteName}");
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
log += Log(siteGroupMember, $"Error Sending Change Log - Secondary Site {siteName} Does Not Have Any Administrators Defined");
|
||||||
|
}
|
||||||
|
|
||||||
|
return log;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string Log(SiteGroupMember siteGroupMember, string content)
|
private string Log(SiteGroupMember siteGroupMember, string content)
|
||||||
|
|||||||
Reference in New Issue
Block a user