Making selection of a recipe non-optional in Setup.

--HG--
branch : recipe
This commit is contained in:
Suha Can
2011-02-18 18:29:46 -08:00
parent 3db66dfe62
commit 002ac0a4a3
4 changed files with 5 additions and 9 deletions

View File

@@ -57,7 +57,6 @@ namespace Orchard.Setup.Controllers {
return IndexViewResult(new SetupViewModel { return IndexViewResult(new SetupViewModel {
AdminUsername = "admin", AdminUsername = "admin",
DatabaseIsPreconfigured = !string.IsNullOrEmpty(initialSettings.DataProvider), DatabaseIsPreconfigured = !string.IsNullOrEmpty(initialSettings.DataProvider),
HasRecipes = recipes.Count > 0,
Recipes = recipes Recipes = recipes
}); });
} }
@@ -78,10 +77,12 @@ namespace Orchard.Setup.Controllers {
ModelState.AddModelError("DatabaseTablePrefix", T("The table prefix must begin with a letter").Text); ModelState.AddModelError("DatabaseTablePrefix", T("The table prefix must begin with a letter").Text);
} }
} }
if (String.IsNullOrEmpty(model.Recipe)) {
ModelState.AddModelError("Recipe", T("You must choose a recipe. Recipes come from the Recipes folder of your Setup module.").Text);
}
if (!ModelState.IsValid) { if (!ModelState.IsValid) {
var recipes = (List<Recipe>)_setupService.Recipes(); var recipes = (List<Recipe>)_setupService.Recipes();
model.HasRecipes = recipes.Count > 0;
model.Recipes = recipes; model.Recipes = recipes;
if (!String.IsNullOrEmpty(model.Recipe)) { if (!String.IsNullOrEmpty(model.Recipe)) {
foreach (var recipe in recipes.Where(recipe => recipe.Name == model.Recipe)) { foreach (var recipe in recipes.Where(recipe => recipe.Name == model.Recipe)) {

View File

@@ -227,9 +227,7 @@ namespace Orchard.Setup.Services {
cultureManager.AddCulture("en-US"); cultureManager.AddCulture("en-US");
var recipeManager = environment.Resolve<IRecipeManager>(); var recipeManager = environment.Resolve<IRecipeManager>();
if (context.Recipe != null) { executionId = recipeManager.Execute(Recipes().Where(r => r.Name == context.Recipe).FirstOrDefault());
executionId = recipeManager.Execute(Recipes().Where(r => r.Name == context.Recipe).FirstOrDefault());
}
var contentManager = environment.Resolve<IContentManager>(); var contentManager = environment.Resolve<IContentManager>();
// If "Orchard.Widgets" is enabled, setup default layers and widgets // If "Orchard.Widgets" is enabled, setup default layers and widgets

View File

@@ -22,7 +22,6 @@ namespace Orchard.Setup.ViewModels {
public string DatabaseTablePrefix { get; set; } public string DatabaseTablePrefix { get; set; }
public bool DatabaseIsPreconfigured { get; set; } public bool DatabaseIsPreconfigured { get; set; }
public bool HasRecipes { get; set; }
public IEnumerable<Recipe> Recipes { get; set; } public IEnumerable<Recipe> Recipes { get; set; }
public string Recipe { get; set; } public string Recipe { get; set; }
public string RecipeDescription { get; set; } public string RecipeDescription { get; set; }

View File

@@ -51,9 +51,8 @@ if (!Model.DatabaseIsPreconfigured) {
</div> </div>
</fieldset> </fieldset>
} }
if (Model.HasRecipes) {
<fieldset> <fieldset>
<legend>@T("Use an Orchard Recipe during setup (Optional)")</legend> <legend>@T("Choose an Orchard Recipe")</legend>
<div>@T("Orchard Recipes allow you to setup your site with additional pre-configured options, features and settings out of the box")</div> <div>@T("Orchard Recipes allow you to setup your site with additional pre-configured options, features and settings out of the box")</div>
<div> <div>
<select id="@Html.FieldIdFor(m => m.Recipe)" name="@Html.FieldNameFor(m => m.Recipe)" class="recipe"> <select id="@Html.FieldIdFor(m => m.Recipe)" name="@Html.FieldNameFor(m => m.Recipe)" class="recipe">
@@ -66,7 +65,6 @@ if (Model.HasRecipes) {
</div> </div>
<div id="recipedescription">@Model.RecipeDescription</div> <div id="recipedescription">@Model.RecipeDescription</div>
</fieldset> </fieldset>
}
<div id="throbber"> <div id="throbber">
<div class="curtain"></div> <div class="curtain"></div>
<div class="curtain-content"> <div class="curtain-content">