@@ -605,10 +608,6 @@
- @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host) && _siteGroupDefinitions.Any(item => item.PrimarySiteId == PageState.Site.SiteId && item.Synchronization))
- {
-
- }
@@ -1411,10 +1410,23 @@
{
siteGroup.Synchronize = bool.Parse(_synchronize);
siteGroup.Notify = bool.Parse(_notify);
+ siteGroup.SynchronizedOn = string.IsNullOrEmpty(_synchronized) ? null : siteGroup.SynchronizedOn;
await SiteGroupService.UpdateSiteGroupAsync(siteGroup);
}
}
+ if (siteGroupDefinition.Synchronization)
+ {
+ // enable synchronization job if it is not enabled already
+ var jobs = await JobService.GetJobsAsync();
+ var job = jobs.FirstOrDefault(item => item.JobType == "Oqtane.Infrastructure.SynchronizationJob, Oqtane.Server");
+ if (job != null && !job.IsEnabled)
+ {
+ job.IsEnabled = true;
+ await JobService.UpdateJobAsync(job);
+ }
+ }
+
await LoadSiteGroups();
}
else
@@ -1450,25 +1462,8 @@
}
}
- private async Task SynchronizeSite()
+ private async Task ResetSiteGroup()
{
- // enable synchronization job if it is not enabled already
- var jobs = await JobService.GetJobsAsync();
- var job = jobs.FirstOrDefault(item => item.JobType == "Oqtane.Infrastructure.SynchronizationJob, Oqtane.Server");
- if (job != null && !job.IsEnabled)
- {
- job.IsEnabled = true;
- await JobService.UpdateJobAsync(job);
- }
-
- // mark secondary sites for synchronization
- foreach (var group in _siteGroupDefinitions.Where(item => item.PrimarySiteId == PageState.Site.SiteId && item.Synchronization))
- {
- group.Synchronize = true;
- await SiteGroupDefinitionService.UpdateSiteGroupDefinitionAsync(group);
- }
-
- AddModuleMessage(Localizer["Message.Site.Synchronize"], MessageType.Success);
- await ScrollToPageTop();
+ _synchronized = "";
}
}
diff --git a/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx
index b653285a..ce84a1f7 100644
--- a/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx
+++ b/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx
@@ -552,9 +552,6 @@
Site Submitted For Synchronization
-
- Synchronize
-
Notify?
diff --git a/Oqtane.Client/Resources/Themes/Controls/ControlPanelInteractive.resx b/Oqtane.Client/Resources/Themes/Controls/ControlPanelInteractive.resx
index 15c567fc..a4981464 100644
--- a/Oqtane.Client/Resources/Themes/Controls/ControlPanelInteractive.resx
+++ b/Oqtane.Client/Resources/Themes/Controls/ControlPanelInteractive.resx
@@ -200,5 +200,8 @@
Copy Existing Module
-
+
+
+ Synchronize
+
\ No newline at end of file
diff --git a/Oqtane.Client/Services/SiteGroupDefinitionService.cs b/Oqtane.Client/Services/SiteGroupDefinitionService.cs
index 4f9728e6..51148846 100644
--- a/Oqtane.Client/Services/SiteGroupDefinitionService.cs
+++ b/Oqtane.Client/Services/SiteGroupDefinitionService.cs
@@ -19,6 +19,12 @@ namespace Oqtane.Services
///
Task
> GetSiteGroupDefinitionsAsync();
+ ///
+ /// Get all s
+ ///
+ ///
+ Task> GetSiteGroupDefinitionsAsync(int primarySiteId);
+
///
/// Get one specific
///
@@ -57,7 +63,12 @@ namespace Oqtane.Services
public async Task> GetSiteGroupDefinitionsAsync()
{
- return await GetJsonAsync>($"{Apiurl}", Enumerable.Empty().ToList());
+ return await GetSiteGroupDefinitionsAsync(-1);
+ }
+
+ public async Task> GetSiteGroupDefinitionsAsync(int primarySiteId)
+ {
+ return await GetJsonAsync>($"{Apiurl}?siteid={primarySiteId}", Enumerable.Empty().ToList());
}
public async Task GetSiteGroupDefinitionAsync(int siteGroupDefinitionId)
diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
index 78fb7a40..762e457a 100644
--- a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
+++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor
@@ -4,6 +4,11 @@
@inject IPageService PageService
@inject ISettingService SettingService
+@if (ShowLanguageSwitcher)
+{
+
+}
+
@if (ShowEditMode && (_showEditMode || (PageState.Page.IsPersonalizable && PageState.User != null && UserSecurity.IsAuthorized(PageState.User, RoleNames.Registered))))
{