mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
#18172 : Adding import export to Site Cultures
Because they come from records I am using the SiteSettings Driver to export/import Work Item: 18172
This commit is contained in:
@@ -1,14 +1,12 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using Orchard.Core.Settings.Descriptor.Records;
|
using Orchard.Core.Settings.Descriptor.Records;
|
||||||
using Orchard.Data;
|
using Orchard.Data;
|
||||||
using Orchard.Environment.Configuration;
|
using Orchard.Environment.Configuration;
|
||||||
using Orchard.Environment.Descriptor;
|
using Orchard.Environment.Descriptor;
|
||||||
using Orchard.Environment.Descriptor.Models;
|
using Orchard.Environment.Descriptor.Models;
|
||||||
using Orchard.Environment.Extensions.Models;
|
|
||||||
using Orchard.Localization;
|
|
||||||
using Orchard.Logging;
|
using Orchard.Logging;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace Orchard.Core.Settings.Descriptor {
|
namespace Orchard.Core.Settings.Descriptor {
|
||||||
public class ShellDescriptorManager : Component, IShellDescriptorManager {
|
public class ShellDescriptorManager : Component, IShellDescriptorManager {
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
using System.Linq;
|
using System;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.ContentManagement.Drivers;
|
using Orchard.ContentManagement.Drivers;
|
||||||
using Orchard.Core.Settings.Models;
|
using Orchard.Core.Settings.Models;
|
||||||
using Orchard.Core.Settings.ViewModels;
|
using Orchard.Core.Settings.ViewModels;
|
||||||
|
using Orchard.Localization;
|
||||||
using Orchard.Localization.Services;
|
using Orchard.Localization.Services;
|
||||||
using Orchard.Logging;
|
using Orchard.Logging;
|
||||||
using Orchard.Settings;
|
|
||||||
using System;
|
|
||||||
using Orchard.Security;
|
using Orchard.Security;
|
||||||
|
using Orchard.Settings;
|
||||||
using Orchard.UI.Notify;
|
using Orchard.UI.Notify;
|
||||||
using Orchard.Localization;
|
|
||||||
|
|
||||||
namespace Orchard.Core.Settings.Drivers {
|
namespace Orchard.Core.Settings.Drivers {
|
||||||
[UsedImplicitly]
|
[UsedImplicitly]
|
||||||
@@ -113,5 +112,22 @@ namespace Orchard.Core.Settings.Drivers {
|
|||||||
return ContentShape("Parts_Settings_SiteSettingsPart",
|
return ContentShape("Parts_Settings_SiteSettingsPart",
|
||||||
() => shapeHelper.EditorTemplate(TemplateName: "Parts.Settings.SiteSettingsPart", Model: model, Prefix: Prefix));
|
() => shapeHelper.EditorTemplate(TemplateName: "Parts.Settings.SiteSettingsPart", Model: model, Prefix: Prefix));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void Exporting(SiteSettingsPart part, ContentManagement.Handlers.ExportContentContext context) {
|
||||||
|
context.Element(part.PartDefinition.Name).SetAttributeValue("SupportedCultures", string.Join(";", _cultureManager.ListCultures()));
|
||||||
|
|
||||||
|
base.Exporting(part, context);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Importing(SiteSettingsPart part, ContentManagement.Handlers.ImportContentContext context) {
|
||||||
|
var supportedCultures = context.Attribute(part.PartDefinition.Name, "SupportedCultures");
|
||||||
|
if (supportedCultures != null) {
|
||||||
|
foreach (var culture in supportedCultures.Split(';')) {
|
||||||
|
_cultureManager.AddCulture(culture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
base.Importing(part, context);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user