diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Commands/ImportExportCommands.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Commands/ImportExportCommands.cs index 18f8c61c9..2e338f471 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Commands/ImportExportCommands.cs +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Commands/ImportExportCommands.cs @@ -4,9 +4,11 @@ using System.IO; using System.Linq; using Orchard.Commands; using Orchard.ContentManagement.MetaData; -using Orchard.ImportExport.Models; -using Orchard.ImportExport.Providers; +using Orchard.ImportExport.RecipeBuilderSteps; using Orchard.ImportExport.Services; +using Orchard.Recipes.Models; +using Orchard.Recipes.RecipeBuilders; +using Orchard.Recipes.Services; using Orchard.Security; using Orchard.Settings; @@ -95,13 +97,10 @@ namespace Orchard.ImportExport.Commands { .ToList(); var enteredSteps = (Steps ?? String.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - var exportSteps = new List(); - var exportOptions = new ExportOptions { - CustomSteps = enteredSteps - }; + var recipeBuilderSteps = new List(); if (Metadata || Data) { - var dataStep = _orchardServices.WorkContext.Resolve(); + var dataStep = _orchardServices.WorkContext.Resolve(); if(Data) dataStep.DataContentTypes = exportTypes; @@ -110,17 +109,22 @@ namespace Orchard.ImportExport.Commands { dataStep.SchemaContentTypes = exportTypes; dataStep.VersionHistoryOptions = versionOption; - exportSteps.Add(dataStep); + recipeBuilderSteps.Add(dataStep); } if (SiteSettings) { - var siteSettingsStep = _orchardServices.WorkContext.Resolve(); - exportSteps.Add(siteSettingsStep); + var siteSettingsStep = _orchardServices.WorkContext.Resolve(); + recipeBuilderSteps.Add(siteSettingsStep); + } + + if (enteredSteps.Any()) { + var customStepsStep = _orchardServices.WorkContext.Resolve(); + recipeBuilderSteps.Add(customStepsStep); } Context.Output.WriteLine(T("Export starting...")); - var exportFilePath = _importExportService.Export(exportSteps, exportOptions); + var exportFilePath = _importExportService.Export(recipeBuilderSteps); Context.Output.WriteLine(T("Export completed at {0}", exportFilePath)); } diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Controllers/AdminController.cs index 544e54dcf..037e050b5 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Controllers/AdminController.cs @@ -4,8 +4,6 @@ using System.IO; using System.Linq; using System.Web.Mvc; using Orchard.ContentManagement; -using Orchard.ContentManagement.MetaData; -using Orchard.ImportExport.Models; using Orchard.ImportExport.Services; using Orchard.ImportExport.ViewModels; using Orchard.Localization; @@ -15,22 +13,16 @@ using Orchard.UI.Notify; namespace Orchard.ImportExport.Controllers { public class AdminController : Controller, IUpdateModel { private readonly IImportExportService _importExportService; - private readonly IContentDefinitionManager _contentDefinitionManager; - private readonly ICustomExportStep _customExportStep; private readonly IRecipeResultAccessor _recipeResultAccessor; - private readonly IEnumerable _exportStepProviders; + private readonly IEnumerable _exportStepProviders; public AdminController( IOrchardServices services, - IImportExportService importExportService, - IContentDefinitionManager contentDefinitionManager, - ICustomExportStep customExportStep, - IRecipeResultAccessor recipeResultAccessor, - IEnumerable exportStepProviders) { + IImportExportService importExportService, + IRecipeResultAccessor recipeResultAccessor, + IEnumerable exportStepProviders) { _importExportService = importExportService; - _contentDefinitionManager = contentDefinitionManager; - _customExportStep = customExportStep; _recipeResultAccessor = recipeResultAccessor; _exportStepProviders = exportStepProviders; Services = services; @@ -75,10 +67,7 @@ namespace Orchard.ImportExport.Controllers { } public ActionResult Export() { - var customSteps = new List(); - _customExportStep.Register(customSteps); - - var exportSteps = _exportStepProviders.OrderBy(x => x.Position).Select(x => new ExportStepViewModel { + var exportSteps = _exportStepProviders.OrderBy(x => x.Priority).Select(x => new ExportStepViewModel { Name = x.Name, DisplayName = x.DisplayName, Description = x.Description, @@ -86,7 +75,6 @@ namespace Orchard.ImportExport.Controllers { }).Where(x => x != null); var viewModel = new ExportViewModel { - CustomSteps = customSteps.Select(x => new CustomStepEntry { CustomStep = x }).ToList(), ExportSteps = exportSteps.ToList() }; @@ -94,33 +82,22 @@ namespace Orchard.ImportExport.Controllers { } [HttpPost, ActionName("Export")] - public ActionResult ExportPOST() { + public ActionResult ExportPOST(ExportViewModel viewModel) { if (!Services.Authorizer.Authorize(Permissions.Export, T("Not allowed to export."))) return new HttpUnauthorizedResult(); - - var viewModel = new ExportViewModel { - CustomSteps = new List(), - ExportSteps = new List() - }; - - UpdateModel(viewModel); + var exportStepNames = viewModel.ExportSteps.Where(x => x.IsSelected).Select(x => x.Name); var exportStepsQuery = from name in exportStepNames let provider = _exportStepProviders.SingleOrDefault(x => x.Name == name) where provider != null select provider; var exportSteps = exportStepsQuery.ToArray(); - var customSteps = viewModel.CustomSteps.Where(c => c.IsChecked).Select(c => c.CustomStep); - var exportOptions = new ExportOptions { - CustomSteps = customSteps - }; - foreach (var exportStep in exportSteps) { exportStep.UpdateEditor(Services.New, this); } - var exportFilePath = _importExportService.Export(exportSteps, exportOptions); + var exportFilePath = _importExportService.Export(exportSteps); var exportFileName = "export.xml"; return File(exportFilePath, "text/xml", exportFileName); diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Models/ExportOptions.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Models/ExportOptions.cs index 02caeb67c..85dcea8bd 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Models/ExportOptions.cs +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Models/ExportOptions.cs @@ -4,10 +4,4 @@ namespace Orchard.ImportExport.Models { public class ExportOptions { public IEnumerable CustomSteps { get; set; } } - - public enum VersionHistoryOptions { - Published, - Draft, - Latest - } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Module.txt b/src/Orchard.Web/Modules/Orchard.ImportExport/Module.txt index a1519f332..8015b5840 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Module.txt +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Module.txt @@ -8,4 +8,4 @@ OrchardVersion: 1.9 Description: Provides content item data import and export capability. FeatureDescription: Imports and exports content item data Category: Content -Dependencies: Orchard.jQuery \ No newline at end of file +Dependencies: Orchard.jQuery, Orchard.Recipes \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Orchard.ImportExport.csproj b/src/Orchard.Web/Modules/Orchard.ImportExport/Orchard.ImportExport.csproj index c6f5ff76a..9a41ee527 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Orchard.ImportExport.csproj +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Orchard.ImportExport.csproj @@ -71,23 +71,15 @@ - - - - + + - - - - - - - - + + @@ -106,9 +98,12 @@ Orchard.Core false + + {fc1d74e8-7a4d-48f4-83de-95c6173780c4} + Orchard.Recipes + - @@ -128,19 +123,9 @@ + - - - - - - - - - - - Designer - + 10.0 diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/RecipeBuilderSteps/CustomStepsRecipeBuilderStep.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/RecipeBuilderSteps/CustomStepsRecipeBuilderStep.cs new file mode 100644 index 000000000..489564838 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/RecipeBuilderSteps/CustomStepsRecipeBuilderStep.cs @@ -0,0 +1,67 @@ +using System.Collections.Generic; +using System.Linq; +using Orchard.ContentManagement; +using Orchard.ImportExport.Models; +using Orchard.ImportExport.Services; +using Orchard.ImportExport.ViewModels; +using Orchard.Localization; +using Orchard.Recipes.Services; + +namespace Orchard.ImportExport.RecipeBuilderSteps { + public class CustomStepsRecipeBuilderStep : RecipeBuilderStep { + private readonly IEnumerable _exportEventHandlers; + private readonly ICustomExportStep _customExportStep; + + public CustomStepsRecipeBuilderStep(IEnumerable exportEventHandlers, ICustomExportStep customExportStep) { + _exportEventHandlers = exportEventHandlers; + _customExportStep = customExportStep; + CustomSteps = new List(); + } + + public override string Name { + get { return "CustomSteps"; } + } + + public override LocalizedString DisplayName { + get { return T("Additional Export Steps"); } + } + + public override LocalizedString Description { + get { return T("Exports additional items."); } + } + + public override int Priority { get { return 60; } } + + public IList CustomSteps { get; set; } + + public override dynamic BuildEditor(dynamic shapeFactory) { + return UpdateEditor(shapeFactory, null); + } + + public override dynamic UpdateEditor(dynamic shapeFactory, IUpdateModel updater) { + var customSteps = new List(); + _customExportStep.Register(customSteps); + + var viewModel = new CustomStepsViewModel { + CustomSteps = customSteps.Select(x => new CustomStepEntry { CustomStep = x}).ToList() + }; + + if (updater != null && updater.TryUpdateModel(viewModel, Prefix, null, null)) { + CustomSteps = viewModel.CustomSteps.Where(x => x.IsChecked).Select(x => x.CustomStep).ToList(); + } + + return shapeFactory.EditorTemplate(TemplateName: "ExportSteps/CustomSteps", Model: viewModel, Prefix: Prefix); + } + + public override void Build(BuildContext context) { + var exportContext = new ExportContext { + Document = context.RecipeDocument, + ExportOptions = new ExportOptions { + CustomSteps = CustomSteps + } + }; + _exportEventHandlers.Invoke(x => x.Exporting(exportContext), Logger); + _exportEventHandlers.Invoke(x => x.Exported(exportContext), Logger); + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ExportContext.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ExportContext.cs new file mode 100644 index 000000000..f585e4b8f --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ExportContext.cs @@ -0,0 +1,9 @@ +using System.Xml.Linq; +using Orchard.ImportExport.Models; + +namespace Orchard.ImportExport.Services { + public class ExportContext { + public XDocument Document { get; set; } + public ExportOptions ExportOptions { get; set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IExportEventHandler.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IExportEventHandler.cs index 9c8ee709b..94bd48405 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IExportEventHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IExportEventHandler.cs @@ -1,13 +1,6 @@ -using System.Xml.Linq; -using Orchard.Events; -using Orchard.ImportExport.Models; +using Orchard.Events; namespace Orchard.ImportExport.Services { - public class ExportContext { - public XDocument Document { get; set; } - public ExportOptions ExportOptions { get; set; } - } - public interface IExportEventHandler : IEventHandler { void Exporting(ExportContext context); void Exported(ExportContext context); diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IImportExportService.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IImportExportService.cs index 8338578cf..108c91a50 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IImportExportService.cs +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IImportExportService.cs @@ -1,12 +1,9 @@ using System.Collections.Generic; -using Orchard.ImportExport.Models; +using Orchard.Recipes.Services; namespace Orchard.ImportExport.Services { public interface IImportExportService : IDependency { string Import(string recipeText); - string Export(IEnumerable steps, ExportOptions exportOptions); + string Export(IEnumerable steps); } -} - - - +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IImportStepProvider.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IImportStepProvider.cs deleted file mode 100644 index 19e68b435..000000000 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IImportStepProvider.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Orchard.ContentManagement; -using Orchard.Localization; - -namespace Orchard.ImportExport.Services { - public interface IImportStepProvider : IDependency { - string Name { get; } - LocalizedString DisplayName { get; } - dynamic BuildEditor(dynamic shapeFactory); - dynamic UpdateEditor(dynamic shapeFactory, IUpdateModel updater); - } -} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ImportExportService.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ImportExportService.cs index e796b48f5..d367f34ec 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ImportExportService.cs +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ImportExportService.cs @@ -1,11 +1,6 @@ using System; using System.Collections.Generic; -using System.Xml; -using System.Xml.Linq; -using Orchard.ContentManagement; -using Orchard.Environment.Descriptor; using Orchard.FileSystems.AppData; -using Orchard.ImportExport.Models; using Orchard.Localization; using Orchard.Logging; using Orchard.Recipes.Services; @@ -15,29 +10,23 @@ namespace Orchard.ImportExport.Services { public class ImportExportService : IImportExportService { private readonly IOrchardServices _orchardServices; private readonly IAppDataFolder _appDataFolder; - private readonly IRecipeParser _recipeParser; - private readonly IRecipeManager _recipeManager; - private readonly IShellDescriptorManager _shellDescriptorManager; + private readonly IRecipeBuilder _recipeBuilder; + private readonly IRecipeExecutor _recipeExecutor; private readonly IClock _clock; - private readonly IEnumerable _exportEventHandlers; private const string ExportsDirectory = "Exports"; public ImportExportService( IOrchardServices orchardServices, IAppDataFolder appDataFolder, - IRecipeParser recipeParser, - IRecipeManager recipeManager, - IShellDescriptorManager shellDescriptorManager, - IClock clock, - IEnumerable exportEventHandlers) { + IRecipeBuilder recipeBuilder, + IRecipeExecutor recipeExecutor, + IClock clock) { _orchardServices = orchardServices; _appDataFolder = appDataFolder; - _recipeParser = recipeParser; - _recipeManager = recipeManager; - _shellDescriptorManager = shellDescriptorManager; + _recipeBuilder = recipeBuilder; + _recipeExecutor = recipeExecutor; _clock = clock; - _exportEventHandlers = exportEventHandlers; Logger = NullLogger.Instance; T = NullLocalizer.Instance; } @@ -46,46 +35,16 @@ namespace Orchard.ImportExport.Services { public ILogger Logger { get; set; } public string Import(string recipeText) { - var recipe = _recipeParser.ParseRecipe(recipeText); - var executionId = _recipeManager.Execute(recipe); - UpdateShell(); - return executionId; + return _recipeExecutor.Execute(recipeText); } - public string Export(IEnumerable steps, ExportOptions exportOptions) { - var exportDocument = CreateExportRoot(); - - var context = new ExportContext { - Document = exportDocument, - ExportOptions = exportOptions - }; - - _exportEventHandlers.Invoke(x => x.Exporting(context), Logger); - - foreach (var step in steps) { - step.Export(context); - } - - _exportEventHandlers.Invoke(x => x.Exported(context), Logger); - - return WriteExportFile(exportDocument.ToString()); - } - - private XDocument CreateExportRoot() { - var exportRoot = new XDocument( - new XDeclaration("1.0", "", "yes"), - new XComment("Exported from Orchard"), - new XElement("Orchard", - new XElement("Recipe", - new XElement("ExportUtc", XmlConvert.ToString(_clock.UtcNow, XmlDateTimeSerializationMode.Utc)) - ) - ) - ); - return exportRoot; + public string Export(IEnumerable steps) { + var recipe = _recipeBuilder.Build(steps); + return WriteExportFile(recipe); } private string WriteExportFile(string exportDocument) { - var exportFile = String.Format("Export-{0}-{1}.xml", _orchardServices.WorkContext.CurrentUser.UserName, DateTime.UtcNow.Ticks); + var exportFile = String.Format("Export-{0}-{1}.xml", _orchardServices.WorkContext.CurrentUser.UserName, _clock.UtcNow.Ticks); if (!_appDataFolder.DirectoryExists(ExportsDirectory)) { _appDataFolder.CreateDirectory(ExportsDirectory); } @@ -95,10 +54,5 @@ namespace Orchard.ImportExport.Services { return _appDataFolder.MapPath(path); } - - private void UpdateShell() { - var descriptor = _shellDescriptorManager.GetShellDescriptor(); - _shellDescriptorManager.UpdateShellDescriptor(descriptor.SerialNumber, descriptor.Features, descriptor.Parameters); - } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ImportStepProvider.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ImportStepProvider.cs deleted file mode 100644 index a2584047b..000000000 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ImportStepProvider.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Orchard.ContentManagement; -using Orchard.Localization; - -namespace Orchard.ImportExport.Services { - public abstract class ImportStepProvider : Component, IImportStepProvider { - public abstract string Name { get; } - public abstract LocalizedString DisplayName { get; } - - protected virtual string Prefix { - get { return GetType().Name; } - } - - public virtual dynamic BuildEditor(dynamic shapeFactory) { - return null; - } - - public virtual dynamic UpdateEditor(dynamic shapeFactory, IUpdateModel updater) { - return null; - } - } -} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/CustomStepsViewModel.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/CustomStepsViewModel.cs new file mode 100644 index 000000000..0de644a02 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/CustomStepsViewModel.cs @@ -0,0 +1,7 @@ +using System.Collections.Generic; + +namespace Orchard.ImportExport.ViewModels { + public class CustomStepsViewModel { + public IList CustomSteps { get; set; } + } +} diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ExportViewModel.cs b/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ExportViewModel.cs index ac1e943d0..45667d538 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ExportViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ExportViewModel.cs @@ -2,7 +2,6 @@ namespace Orchard.ImportExport.ViewModels { public class ExportViewModel { - public IList CustomSteps { get; set; } public IList ExportSteps { get; set; } } } diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/Export.cshtml b/src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/Export.cshtml index 805d69f73..a0aaf3abe 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/Export.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/Export.cshtml @@ -1,5 +1,5 @@ @using Orchard.Utility.Extensions -@model Orchard.ImportExport.ViewModels.ExportViewModel +@model Orchard.ImportExport.ViewModels.CustomStepsViewModel @{ Layout.Title = T("Export").ToString(); } @using (Html.BeginFormAntiForgeryPost()) { Html.ValidationSummary(); @@ -25,20 +25,5 @@ } } - if (Model.CustomSteps.Any()) { -
- @T("Choose the custom steps to execute in the export file:") -
    - @for (var customStepIndex = 0; customStepIndex < Model.CustomSteps.Count; customStepIndex++) { -
  1. - - - -
  2. - } -
-
- } - } diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/CustomSteps.cshtml b/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/CustomSteps.cshtml new file mode 100644 index 000000000..22a0e5c12 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/CustomSteps.cshtml @@ -0,0 +1,17 @@ +@using Orchard.Utility.Extensions +@model Orchard.ImportExport.ViewModels.CustomStepsViewModel +@if (Model.CustomSteps.Any()) { +
+ @T("Choose the custom steps to execute in the export file:") +
    + @for (var customStepIndex = 0; customStepIndex < Model.CustomSteps.Count; customStepIndex++) { + var closureIndex = customStepIndex; +
  1. + + + +
  2. + } +
+
+} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Models/VersionHistoryOptions.cs b/src/Orchard.Web/Modules/Orchard.Recipes/Models/VersionHistoryOptions.cs new file mode 100644 index 000000000..004027bf0 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Models/VersionHistoryOptions.cs @@ -0,0 +1,7 @@ +namespace Orchard.Recipes.Models { + public enum VersionHistoryOptions { + Published, + Draft, + Latest + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Orchard.Recipes.csproj b/src/Orchard.Web/Modules/Orchard.Recipes/Orchard.Recipes.csproj index 8ddab1018..14072b575 100644 --- a/src/Orchard.Web/Modules/Orchard.Recipes/Orchard.Recipes.csproj +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Orchard.Recipes.csproj @@ -51,6 +51,7 @@ ..\..\..\..\lib\autofac\Autofac.dll + @@ -68,6 +69,10 @@
+ + + + @@ -75,7 +80,11 @@ + + + + @@ -85,6 +94,13 @@ + + + + + + + @@ -92,6 +108,13 @@ + + + + + + + @@ -112,7 +135,25 @@ Orchard.Themes - + + + Designer + + + + + Designer + + + + + + + + + + + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Providers/DataExportStep.cs b/src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/DataRecipeBuilderStep.cs similarity index 91% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Providers/DataExportStep.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/DataRecipeBuilderStep.cs index ecc3e787e..caa0b2846 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Providers/DataExportStep.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/DataRecipeBuilderStep.cs @@ -4,18 +4,18 @@ using System.Xml.Linq; using Orchard.ContentManagement; using Orchard.ContentManagement.MetaData; using Orchard.ContentManagement.MetaData.Models; -using Orchard.ImportExport.Models; -using Orchard.ImportExport.Services; -using Orchard.ImportExport.ViewModels; using Orchard.Localization; +using Orchard.Recipes.Models; +using Orchard.Recipes.Services; +using Orchard.Recipes.ViewModels; -namespace Orchard.ImportExport.Providers { - public class DataExportStep : ExportStepProvider { +namespace Orchard.Recipes.RecipeBuilders { + public class DataRecipeBuilderStep : RecipeBuilderStep { private readonly IContentDefinitionManager _contentDefinitionManager; private readonly IOrchardServices _orchardServices; private readonly IContentDefinitionWriter _contentDefinitionWriter; - public DataExportStep( + public DataRecipeBuilderStep( IContentDefinitionManager contentDefinitionManager, IOrchardServices orchardServices, IContentDefinitionWriter contentDefinitionWriter) { @@ -37,7 +37,7 @@ namespace Orchard.ImportExport.Providers { get { return T("Exports content items and content item definitions."); } } - public override int Position { get { return 10; } } + public override int Priority { get { return 10; } } public IList SchemaContentTypes { get; set; } public IList DataContentTypes { get; set; } @@ -67,7 +67,7 @@ namespace Orchard.ImportExport.Providers { return shapeFactory.EditorTemplate(TemplateName: "ExportSteps/Data", Model: viewModel, Prefix: Prefix); } - public override void Export(ExportContext context) { + public override void Build(BuildContext context) { var dataContentTypes = DataContentTypes; var schemaContentTypes = SchemaContentTypes; var exportVersionOptions = GetContentExportVersionOptions(VersionHistoryOptions); @@ -76,10 +76,10 @@ namespace Orchard.ImportExport.Providers { : Enumerable.Empty(); if(schemaContentTypes.Any()) - context.Document.Element("Orchard").Add(ExportMetadata(schemaContentTypes)); + context.RecipeDocument.Element("Orchard").Add(ExportMetadata(schemaContentTypes)); if(contentItems.Any()) - context.Document.Element("Orchard").Add(ExportData(dataContentTypes, contentItems, ImportBatchSize)); + context.RecipeDocument.Element("Orchard").Add(ExportData(dataContentTypes, contentItems, ImportBatchSize)); } private XElement ExportMetadata(IEnumerable contentTypes) { diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Providers/SetupRecipeExportStep.cs b/src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/SetupRecipeBuilderStep.cs similarity index 83% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Providers/SetupRecipeExportStep.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/SetupRecipeBuilderStep.cs index 608803be6..6eb712abe 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Providers/SetupRecipeExportStep.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/SetupRecipeBuilderStep.cs @@ -1,12 +1,12 @@ using Orchard.ContentManagement; -using Orchard.ImportExport.Services; -using Orchard.ImportExport.ViewModels; using Orchard.Localization; +using Orchard.Recipes.Services; +using Orchard.Recipes.ViewModels; -namespace Orchard.ImportExport.Providers { - public class SetupRecipeExportStep : ExportStepProvider { +namespace Orchard.Recipes.RecipeBuilders { + public class SetupRecipeBuilderStep : RecipeBuilderStep { private readonly IOrchardServices _orchardServices; - public SetupRecipeExportStep(IOrchardServices orchardServices) { + public SetupRecipeBuilderStep(IOrchardServices orchardServices) { _orchardServices = orchardServices; } @@ -22,7 +22,7 @@ namespace Orchard.ImportExport.Providers { get { return T("Turns the export file into a Setup recipe."); } } - public override int Position { get { return -10; } } + public override int Priority { get { return -10; } } public string RecipeName { get; set; } public string RecipeDescription { get; set; } @@ -54,8 +54,8 @@ namespace Orchard.ImportExport.Providers { return shapeFactory.EditorTemplate(TemplateName: "ExportSteps/SetupRecipe", Model: viewModel, Prefix: Prefix); } - public override void Export(ExportContext context) { - var recipeElement = context.Document.Element("Orchard").Element("Recipe"); + public override void Build(BuildContext context) { + var recipeElement = context.RecipeDocument.Element("Orchard").Element("Recipe"); recipeElement.SetElementValue("Name", RecipeName); recipeElement.SetElementValue("Description", RecipeDescription); diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Providers/SiteSettingsExportStep.cs b/src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/SiteSettingsBuilderStep.cs similarity index 88% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Providers/SiteSettingsExportStep.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/SiteSettingsBuilderStep.cs index 4eda207d3..bdeb15da5 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Providers/SiteSettingsExportStep.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/RecipeBuilders/SiteSettingsBuilderStep.cs @@ -2,15 +2,15 @@ using System.Linq; using System.Xml.Linq; using Orchard.ContentManagement; -using Orchard.ImportExport.Services; -using Orchard.ImportExport.ViewModels; using Orchard.Localization; +using Orchard.Recipes.Services; +using Orchard.Recipes.ViewModels; -namespace Orchard.ImportExport.Providers { - public class SiteSettingsExportStep : ExportStepProvider { +namespace Orchard.Recipes.RecipeBuilders { + public class SiteSettingsBuilderStep : RecipeBuilderStep { private readonly IOrchardServices _orchardServices; - public SiteSettingsExportStep(IOrchardServices orchardServices) { + public SiteSettingsBuilderStep(IOrchardServices orchardServices) { _orchardServices = orchardServices; } @@ -26,7 +26,7 @@ namespace Orchard.ImportExport.Providers { get { return T("Exports site settings."); } } - public override int Position { get { return 20; } } + public override int Priority { get { return 20; } } public override dynamic BuildEditor(dynamic shapeFactory) { return UpdateEditor(shapeFactory, null); @@ -37,8 +37,8 @@ namespace Orchard.ImportExport.Providers { return shapeFactory.EditorTemplate(TemplateName: "ExportSteps/SiteSettings", Model: viewModel, Prefix: Prefix); } - public override void Export(ExportContext context) { - context.Document.Element("Orchard").Add(ExportSiteSettings()); + public override void Build(BuildContext context) { + context.RecipeDocument.Element("Orchard").Add(ExportSiteSettings()); } private XElement ExportSiteSettings() { diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Scripts/Web.config b/src/Orchard.Web/Modules/Orchard.Recipes/Scripts/Web.config similarity index 100% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Scripts/Web.config rename to src/Orchard.Web/Modules/Orchard.Recipes/Scripts/Web.config diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Scripts/exportstep-data.js b/src/Orchard.Web/Modules/Orchard.Recipes/Scripts/exportstep-data.js similarity index 100% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Scripts/exportstep-data.js rename to src/Orchard.Web/Modules/Orchard.Recipes/Scripts/exportstep-data.js diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Services/BuildContext.cs b/src/Orchard.Web/Modules/Orchard.Recipes/Services/BuildContext.cs new file mode 100644 index 000000000..ec1565554 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Services/BuildContext.cs @@ -0,0 +1,7 @@ +using System.Xml.Linq; + +namespace Orchard.Recipes.Services { + public class BuildContext { + public XDocument RecipeDocument { get; set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeBuilder.cs b/src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeBuilder.cs new file mode 100644 index 000000000..0d349d2fe --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeBuilder.cs @@ -0,0 +1,7 @@ +using System.Collections.Generic; + +namespace Orchard.Recipes.Services { + public interface IRecipeBuilder : IDependency { + string Build(IEnumerable steps); + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IExportStepProvider.cs b/src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeBuilderStep.cs similarity index 64% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Services/IExportStepProvider.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeBuilderStep.cs index 75db8b9b8..cf7b64edd 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/IExportStepProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeBuilderStep.cs @@ -1,14 +1,14 @@ using Orchard.ContentManagement; using Orchard.Localization; -namespace Orchard.ImportExport.Services { - public interface IExportStepProvider : IDependency { +namespace Orchard.Recipes.Services { + public interface IRecipeBuilderStep : IDependency { string Name { get; } LocalizedString DisplayName { get; } LocalizedString Description { get; } - int Position { get; } + int Priority { get; } dynamic BuildEditor(dynamic shapeFactory); dynamic UpdateEditor(dynamic shapeFactory, IUpdateModel updater); - void Export(ExportContext context); + void Build(BuildContext context); } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeExecutor.cs b/src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeExecutor.cs new file mode 100644 index 000000000..89b9cd416 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Services/IRecipeExecutor.cs @@ -0,0 +1,5 @@ +namespace Orchard.Recipes.Services { + public interface IRecipeExecutor : IDependency { + string Execute(string recipeText); + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeBuilder.cs b/src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeBuilder.cs new file mode 100644 index 000000000..52409cc3e --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeBuilder.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; +using System.Xml.Linq; + +namespace Orchard.Recipes.Services { + public class RecipeBuilder : Component, IRecipeBuilder { + + public string Build(IEnumerable steps) { + var exportDocument = CreateRecipeRoot(); + var context = new BuildContext { + RecipeDocument = CreateRecipeRoot() + }; + + foreach (var step in steps) { + step.Build(context); + } + + return exportDocument.ToString(); + } + + private XDocument CreateRecipeRoot() { + var recipeRoot = new XDocument( + new XDeclaration("1.0", "", "yes"), + new XComment("Exported from Orchard"), + new XElement("Orchard", + new XElement("Recipe") + ) + ); + return recipeRoot; + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ExportStepProvider.cs b/src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeBuilderStep.cs similarity index 70% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Services/ExportStepProvider.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeBuilderStep.cs index ba0ec5855..ca4f820df 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Services/ExportStepProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeBuilderStep.cs @@ -1,12 +1,12 @@ using Orchard.ContentManagement; using Orchard.Localization; -namespace Orchard.ImportExport.Services { - public abstract class ExportStepProvider : Component, IExportStepProvider { +namespace Orchard.Recipes.Services { + public abstract class RecipeBuilderStep : Component, IRecipeBuilderStep { public abstract string Name { get; } public abstract LocalizedString DisplayName { get; } public abstract LocalizedString Description { get; } - public virtual int Position { get { return 0; } } + public virtual int Priority { get { return 0; } } protected virtual string Prefix { get { return GetType().Name; } @@ -20,6 +20,6 @@ namespace Orchard.ImportExport.Services { return null; } - public virtual void Export(ExportContext context) {} + public virtual void Build(BuildContext context) {} } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeExecutor.cs b/src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeExecutor.cs new file mode 100644 index 000000000..df96036bf --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeExecutor.cs @@ -0,0 +1,31 @@ +using Orchard.Environment.Descriptor; + +namespace Orchard.Recipes.Services { + public class RecipeExecutor : Component, IRecipeExecutor { + private readonly IRecipeParser _recipeParser; + private readonly IRecipeManager _recipeManager; + private readonly IShellDescriptorManager _shellDescriptorManager; + + public RecipeExecutor( + IRecipeParser recipeParser, + IRecipeManager recipeManager, + IShellDescriptorManager shellDescriptorManager) { + + _recipeParser = recipeParser; + _recipeManager = recipeManager; + _shellDescriptorManager = shellDescriptorManager; + } + + public string Execute(string recipeText) { + var recipe = _recipeParser.ParseRecipe(recipeText); + var executionId = _recipeManager.Execute(recipe); + UpdateShell(); + return executionId; + } + + private void UpdateShell() { + var descriptor = _shellDescriptorManager.GetShellDescriptor(); + _shellDescriptorManager.UpdateShellDescriptor(descriptor.SerialNumber, descriptor.Features, descriptor.Parameters); + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Styles/Web.config b/src/Orchard.Web/Modules/Orchard.Recipes/Styles/Web.config new file mode 100644 index 000000000..11135c337 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Styles/Web.config @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Styles/exportstep-data.css b/src/Orchard.Web/Modules/Orchard.Recipes/Styles/exportstep-data.css new file mode 100644 index 000000000..7f1aeb3c6 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Styles/exportstep-data.css @@ -0,0 +1,9 @@ +fieldset.export-step-data table.items { + width: 500px; + margin: 0; +} + +fieldset.export-step-data table.items td, +fieldset.export-step-data table.items thead tr.sub th { + padding: 0 12px; +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Styles/images/menu.importexport.png b/src/Orchard.Web/Modules/Orchard.Recipes/Styles/images/menu.importexport.png new file mode 100644 index 000000000..6dcc51b5a Binary files /dev/null and b/src/Orchard.Web/Modules/Orchard.Recipes/Styles/images/menu.importexport.png differ diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/Styles/menu.importexport-admin.css b/src/Orchard.Web/Modules/Orchard.Recipes/Styles/menu.importexport-admin.css new file mode 100644 index 000000000..2d2c2d24e --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Styles/menu.importexport-admin.css @@ -0,0 +1,6 @@ +.navicon-import-export { +background-image:url(images/menu.importexport.png) !important; +} +.navicon-import-export:hover { +background-position:0 -30px !important; +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ContentTypeEntry.cs b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ContentTypeEntry.cs similarity index 83% rename from src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ContentTypeEntry.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ContentTypeEntry.cs index f937e713c..bda925c0a 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ContentTypeEntry.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ContentTypeEntry.cs @@ -1,4 +1,4 @@ -namespace Orchard.ImportExport.ViewModels { +namespace Orchard.Recipes.ViewModels { public class ContentTypeEntry { public string Name { get; set; } public string DisplayName { get; set; } diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/CustomStepEntry.cs b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/CustomStepEntry.cs new file mode 100644 index 000000000..02de642d9 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/CustomStepEntry.cs @@ -0,0 +1,6 @@ +namespace Orchard.Recipes.ViewModels { + public class CustomStepEntry { + public string CustomStep { get; set; } + public bool IsChecked { get; set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/DataExportStepViewModel.cs b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/DataExportStepViewModel.cs similarity index 82% rename from src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/DataExportStepViewModel.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/DataExportStepViewModel.cs index 1a92d0867..5df42cd23 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/DataExportStepViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/DataExportStepViewModel.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using Orchard.ImportExport.Models; +using Orchard.Recipes.Models; -namespace Orchard.ImportExport.ViewModels { +namespace Orchard.Recipes.ViewModels { public class DataExportStepViewModel { public DataExportStepViewModel() { ContentTypes = new List(); diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ImportResultViewModel.cs b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ImportResultViewModel.cs new file mode 100644 index 000000000..206393f3a --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ImportResultViewModel.cs @@ -0,0 +1,7 @@ +using Orchard.Recipes.Models; + +namespace Orchard.Recipes.ViewModels { + public class ImportResultViewModel { + public RecipeResult Result { get; set; } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ImportViewModel.cs b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ImportViewModel.cs new file mode 100644 index 000000000..78b8ea21d --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/ImportViewModel.cs @@ -0,0 +1,4 @@ +namespace Orchard.Recipes.ViewModels { + public class ImportViewModel { + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/SetupRecipeStepViewModel.cs b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/SetupRecipeStepViewModel.cs similarity index 88% rename from src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/SetupRecipeStepViewModel.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/SetupRecipeStepViewModel.cs index 7ce78fc70..ed354250d 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/SetupRecipeStepViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/SetupRecipeStepViewModel.cs @@ -1,4 +1,4 @@ -namespace Orchard.ImportExport.ViewModels { +namespace Orchard.Recipes.ViewModels { public class SetupRecipeStepViewModel { public string RecipeName { get; set; } public string RecipeDescription { get; set; } diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/SiteSettingsStepViewModel.cs b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/SiteSettingsStepViewModel.cs similarity index 51% rename from src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/SiteSettingsStepViewModel.cs rename to src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/SiteSettingsStepViewModel.cs index 762fa6847..122eb3a63 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/SiteSettingsStepViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.Recipes/ViewModels/SiteSettingsStepViewModel.cs @@ -1,3 +1,3 @@ -namespace Orchard.ImportExport.ViewModels { +namespace Orchard.Recipes.ViewModels { public class SiteSettingsStepViewModel {} } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/Data.cshtml b/src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/Data.cshtml similarity index 97% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/Data.cshtml rename to src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/Data.cshtml index 4ae158162..776477c37 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/Data.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/Data.cshtml @@ -1,4 +1,4 @@ -@model Orchard.ImportExport.ViewModels.DataExportStepViewModel +@model Orchard.Recipes.ViewModels.DataExportStepViewModel @{ Style.Include("exportstep-data.css"); Script.Require("jQuery"); diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/SetupRecipe.cshtml b/src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/SetupRecipe.cshtml similarity index 95% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/SetupRecipe.cshtml rename to src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/SetupRecipe.cshtml index 10e360faf..71a872128 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/SetupRecipe.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/SetupRecipe.cshtml @@ -1,4 +1,4 @@ -@model Orchard.ImportExport.ViewModels.SetupRecipeStepViewModel +@model Orchard.Recipes.ViewModels.SetupRecipeStepViewModel
@Html.LabelFor(m => m.RecipeName, T("Name")) @Html.TextBoxFor(m => m.RecipeName, new { @class = "text medium" }) diff --git a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/SiteSettings.cshtml b/src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/SiteSettings.cshtml similarity index 64% rename from src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/SiteSettings.cshtml rename to src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/SiteSettings.cshtml index 03f58d89a..0c205fd0b 100644 --- a/src/Orchard.Web/Modules/Orchard.ImportExport/Views/EditorTemplates/ExportSteps/SiteSettings.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Recipes/Views/EditorTemplates/ExportSteps/SiteSettings.cshtml @@ -1,2 +1,2 @@ -@model Orchard.ImportExport.ViewModels.SiteSettingsStepViewModel +@model Orchard.Recipes.ViewModels.SiteSettingsStepViewModel @Html.Hint(T("Please verify that you are not exporting confidential information, such as passwords or application keys.")) \ No newline at end of file