mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-23 04:43:35 +08:00
SetupController setup post action and injection of notifier for error/status logging during setup
--HG-- branch : dev
This commit is contained in:
@@ -1,23 +1,38 @@
|
|||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Orchard.Core.Setup.Services;
|
|
||||||
using Orchard.Core.Setup.ViewModels;
|
using Orchard.Core.Setup.ViewModels;
|
||||||
using Orchard.Localization;
|
using Orchard.Localization;
|
||||||
using Orchard.Logging;
|
using Orchard.UI.Notify;
|
||||||
|
|
||||||
namespace Orchard.Core.Setup.Controllers {
|
namespace Orchard.Core.Setup.Controllers {
|
||||||
public class SetupController : Controller {
|
public class SetupController : Controller {
|
||||||
|
private readonly INotifier _notifier;
|
||||||
|
|
||||||
public SetupController() {
|
public SetupController(INotifier notifier) {
|
||||||
Logger = NullLogger.Instance;
|
_notifier = notifier;
|
||||||
T = NullLocalizer.Instance;
|
T = NullLocalizer.Instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IOrchardServices Services { get; set; }
|
|
||||||
public ILogger Logger { get; set; }
|
|
||||||
private Localizer T { get; set; }
|
private Localizer T { get; set; }
|
||||||
|
|
||||||
public ActionResult Index() {
|
public ActionResult Index() {
|
||||||
return View(new SetupViewModel());
|
return View(new SetupViewModel { AdminUsername = "admin" });
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public ActionResult Index(SetupViewModel model) {
|
||||||
|
TryUpdateModel(model);
|
||||||
|
|
||||||
|
if (!ModelState.IsValid) {
|
||||||
|
return View(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
// create superuser
|
||||||
|
// set site name
|
||||||
|
// database
|
||||||
|
// redirect to the welcome page
|
||||||
|
|
||||||
|
_notifier.Information(T("Setup succeeded"));
|
||||||
|
return RedirectToAction("Index");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using System.Web.Routing;
|
using System.Web.Routing;
|
||||||
@@ -16,6 +15,7 @@ using Orchard.Mvc.Routes;
|
|||||||
using Orchard.Mvc.ViewEngines;
|
using Orchard.Mvc.ViewEngines;
|
||||||
using Orchard.Settings;
|
using Orchard.Settings;
|
||||||
using Orchard.Themes;
|
using Orchard.Themes;
|
||||||
|
using Orchard.UI.Notify;
|
||||||
using Orchard.UI.PageClass;
|
using Orchard.UI.PageClass;
|
||||||
using Orchard.UI.PageTitle;
|
using Orchard.UI.PageTitle;
|
||||||
using Orchard.UI.Zones;
|
using Orchard.UI.Zones;
|
||||||
@@ -48,6 +48,8 @@ namespace Orchard.Environment.ShellBuilders {
|
|||||||
builder.Register<PageTitleBuilder>().As<IPageTitleBuilder>().ContainerScoped();
|
builder.Register<PageTitleBuilder>().As<IPageTitleBuilder>().ContainerScoped();
|
||||||
builder.Register<ZoneManager>().As<IZoneManager>().ContainerScoped();
|
builder.Register<ZoneManager>().As<IZoneManager>().ContainerScoped();
|
||||||
builder.Register<PageClassBuilder>().As<IPageClassBuilder>().ContainerScoped();
|
builder.Register<PageClassBuilder>().As<IPageClassBuilder>().ContainerScoped();
|
||||||
|
builder.Register<Notifier>().As<INotifier>().ContainerScoped();
|
||||||
|
builder.Register<NotifyFilter>().As<IFilterProvider>().ContainerScoped();
|
||||||
|
|
||||||
// safe mode specific implementations of needed service interfaces
|
// safe mode specific implementations of needed service interfaces
|
||||||
builder.Register<NullHackInstallationGenerator>().As<IHackInstallationGenerator>().ContainerScoped();
|
builder.Register<NullHackInstallationGenerator>().As<IHackInstallationGenerator>().ContainerScoped();
|
||||||
|
Reference in New Issue
Block a user