mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Added Recipe Name option to export screen.
This commit is contained in:
@@ -10,6 +10,7 @@ using Orchard.Localization;
|
|||||||
using Orchard.Recipes.Services;
|
using Orchard.Recipes.Services;
|
||||||
using Orchard.UI.Notify;
|
using Orchard.UI.Notify;
|
||||||
using Orchard.ImportExport.Models;
|
using Orchard.ImportExport.Models;
|
||||||
|
using Orchard.Utility.Extensions;
|
||||||
|
|
||||||
namespace Orchard.ImportExport.Controllers {
|
namespace Orchard.ImportExport.Controllers {
|
||||||
public class AdminController : Controller {
|
public class AdminController : Controller {
|
||||||
@@ -104,6 +105,7 @@ namespace Orchard.ImportExport.Controllers {
|
|||||||
ExportMetadata = viewModel.Metadata,
|
ExportMetadata = viewModel.Metadata,
|
||||||
ExportSiteSettings = viewModel.SiteSettings,
|
ExportSiteSettings = viewModel.SiteSettings,
|
||||||
SetupRecipe = viewModel.SetupRecipe,
|
SetupRecipe = viewModel.SetupRecipe,
|
||||||
|
RecipeName = viewModel.RecipeName,
|
||||||
RecipeDescription = viewModel.RecipeDescription,
|
RecipeDescription = viewModel.RecipeDescription,
|
||||||
RecipeWebsite = viewModel.RecipeWebsite,
|
RecipeWebsite = viewModel.RecipeWebsite,
|
||||||
RecipeTags = viewModel.RecipeTags,
|
RecipeTags = viewModel.RecipeTags,
|
||||||
@@ -117,8 +119,11 @@ namespace Orchard.ImportExport.Controllers {
|
|||||||
exportOptions.ImportBatchSize = viewModel.ImportBatchSize;
|
exportOptions.ImportBatchSize = viewModel.ImportBatchSize;
|
||||||
}
|
}
|
||||||
var exportFilePath = _importExportService.Export(contentTypesToExport, exportOptions);
|
var exportFilePath = _importExportService.Export(contentTypesToExport, exportOptions);
|
||||||
|
var exportFileName = exportOptions.SetupRecipe && !String.IsNullOrWhiteSpace(exportOptions.RecipeName)
|
||||||
|
? String.Format("{0}.recipe.xml", exportOptions.RecipeName.HtmlClassify())
|
||||||
|
: "export.xml";
|
||||||
|
|
||||||
return File(exportFilePath, "text/xml", "export.xml");
|
return File(exportFilePath, "text/xml", exportFileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9,6 +9,7 @@ namespace Orchard.ImportExport.Models {
|
|||||||
public bool ExportSiteSettings { get; set; }
|
public bool ExportSiteSettings { get; set; }
|
||||||
public IEnumerable<string> CustomSteps { get; set; }
|
public IEnumerable<string> CustomSteps { get; set; }
|
||||||
public bool SetupRecipe { get; set; }
|
public bool SetupRecipe { get; set; }
|
||||||
|
public string RecipeName { get; set; }
|
||||||
public string RecipeDescription { get; set; }
|
public string RecipeDescription { get; set; }
|
||||||
public string RecipeWebsite { get; set; }
|
public string RecipeWebsite { get; set; }
|
||||||
public string RecipeTags { get; set; }
|
public string RecipeTags { get; set; }
|
||||||
|
|||||||
@@ -100,12 +100,16 @@ namespace Orchard.ImportExport.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private XDocument CreateExportRoot(ExportOptions exportOptions) {
|
private XDocument CreateExportRoot(ExportOptions exportOptions) {
|
||||||
|
var recipeName = !String.IsNullOrWhiteSpace(exportOptions.RecipeName)
|
||||||
|
? exportOptions.RecipeName
|
||||||
|
: T("Generated by Orchard.ImportExport").ToString();
|
||||||
|
|
||||||
var exportRoot = new XDocument(
|
var exportRoot = new XDocument(
|
||||||
new XDeclaration("1.0", "", "yes"),
|
new XDeclaration("1.0", "", "yes"),
|
||||||
new XComment("Exported from Orchard"),
|
new XComment("Exported from Orchard"),
|
||||||
new XElement("Orchard",
|
new XElement("Orchard",
|
||||||
new XElement("Recipe",
|
new XElement("Recipe",
|
||||||
new XElement("Name", "Generated by Orchard.ImportExport"),
|
new XElement("Name", recipeName),
|
||||||
new XElement("Description", exportOptions.RecipeDescription),
|
new XElement("Description", exportOptions.RecipeDescription),
|
||||||
new XElement("Author", _orchardServices.WorkContext.CurrentUser.UserName),
|
new XElement("Author", _orchardServices.WorkContext.CurrentUser.UserName),
|
||||||
new XElement("WebSite", exportOptions.RecipeWebsite),
|
new XElement("WebSite", exportOptions.RecipeWebsite),
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ namespace Orchard.ImportExport.ViewModels {
|
|||||||
public string DataImportChoice { get; set; }
|
public string DataImportChoice { get; set; }
|
||||||
public bool SiteSettings { get; set; }
|
public bool SiteSettings { get; set; }
|
||||||
public bool SetupRecipe { get; set; }
|
public bool SetupRecipe { get; set; }
|
||||||
|
public string RecipeName { get; set; }
|
||||||
public string RecipeDescription { get; set; }
|
public string RecipeDescription { get; set; }
|
||||||
public string RecipeWebsite { get; set; }
|
public string RecipeWebsite { get; set; }
|
||||||
public string RecipeTags { get; set; }
|
public string RecipeTags { get; set; }
|
||||||
|
|||||||
@@ -56,6 +56,11 @@
|
|||||||
@Html.Hint(T("Check this option if you want to use the generated recipe as a setup recipe."))
|
@Html.Hint(T("Check this option if you want to use the generated recipe as a setup recipe."))
|
||||||
</div>
|
</div>
|
||||||
<div data-controllerid="@Html.FieldIdFor(m => m.SetupRecipe)">
|
<div data-controllerid="@Html.FieldIdFor(m => m.SetupRecipe)">
|
||||||
|
<div>
|
||||||
|
@Html.LabelFor(m => m.RecipeName, T("Name"))
|
||||||
|
@Html.TextBoxFor(m => m.RecipeName, new { @class = "text medium" })
|
||||||
|
@Html.Hint(T("Optionally provide a name for the setup recipe."))
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@Html.LabelFor(m => m.RecipeDescription, T("Description"))
|
@Html.LabelFor(m => m.RecipeDescription, T("Description"))
|
||||||
@Html.TextBoxFor(m => m.RecipeDescription, new {@class = "text large"})
|
@Html.TextBoxFor(m => m.RecipeDescription, new {@class = "text large"})
|
||||||
@@ -73,7 +78,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@Html.LabelFor(m => m.RecipeVersion, T("Version"))
|
@Html.LabelFor(m => m.RecipeVersion, T("Version"))
|
||||||
@Html.TextBoxFor(m => m.RecipeVersion, new { @class = "text small" })
|
@Html.TextBoxFor(m => m.RecipeVersion, new {@class = "text small"})
|
||||||
@Html.Hint(T("Optionally provide a version for the setup recipe."))
|
@Html.Hint(T("Optionally provide a version for the setup recipe."))
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user