From d3e35ff0a5fde327b52877a952ee21f196283ef1 Mon Sep 17 00:00:00 2001 From: Erik Porter Date: Wed, 10 Feb 2010 16:40:58 -0800 Subject: [PATCH] Changed the default value for SetupViewModel to be the built-in database option and added a check to ensure a connection string was entered when the sql database option is checked --HG-- branch : dev --- .../Orchard.Setup/Controllers/SetupController.cs | 12 ++++++++---- .../Orchard.Setup/ViewModels/SetupViewModel.cs | 6 +++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Controllers/SetupController.cs b/src/Orchard.Web/Modules/Orchard.Setup/Controllers/SetupController.cs index 1b7bedfc6..68f20ad35 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Controllers/SetupController.cs +++ b/src/Orchard.Web/Modules/Orchard.Setup/Controllers/SetupController.cs @@ -46,11 +46,15 @@ namespace Orchard.Setup.Controllers { [HttpPost, ActionName("Index")] public ActionResult IndexPOST(SetupViewModel model) { - try { - if (!ModelState.IsValid) { - return Index(model); - } + //HACK: (erikpo) Couldn't get a custom ValidationAttribute to validate two properties + if (!model.DatabaseOptions && string.IsNullOrEmpty(model.DatabaseConnectionString)) + ModelState.AddModelError("DatabaseConnectionString", "A SQL connection string is required"); + if (!ModelState.IsValid) { + return Index(model); + } + + try { var shellSettings = new ShellSettings { Name = "default", DataProvider = model.DatabaseOptions ? "SQLite" : "SqlServer", diff --git a/src/Orchard.Web/Modules/Orchard.Setup/ViewModels/SetupViewModel.cs b/src/Orchard.Web/Modules/Orchard.Setup/ViewModels/SetupViewModel.cs index e44633f27..f45b54e6b 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/ViewModels/SetupViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.Setup/ViewModels/SetupViewModel.cs @@ -4,14 +4,18 @@ using Orchard.Mvc.ViewModels; namespace Orchard.Setup.ViewModels { public class SetupViewModel : BaseViewModel { + public SetupViewModel() { + DatabaseOptions = true; + } + [Required, StringLength(70)] public string SiteName { get; set; } [Required, StringLengthMin(3), StringLength(25)] public string AdminUsername { get; set; } [Required, StringLengthMin(6), StringLength(50)] public string AdminPassword { get; set; } + public bool DatabaseOptions { get; set; } [SqlDatabaseConnectionString] public string DatabaseConnectionString { get; set; } - public bool DatabaseOptions { get; set; } } } \ No newline at end of file