mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-23 04:43:35 +08:00
Continuing to refactor ModelDriver concept into ContentHandler
--HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4041354
This commit is contained in:
@@ -3,7 +3,7 @@ using Orchard.Models;
|
||||
using Orchard.Security;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class CommonModel : ContentItemPartWithRecord<CommonRecord> {
|
||||
public class CommonPart : ContentItemPartWithRecord<CommonRecord> {
|
||||
public IUser Owner { get; set; }
|
||||
}
|
||||
}
|
@@ -6,12 +6,12 @@ using Orchard.Security;
|
||||
using Orchard.Services;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class CommonDriver : Orchard.Models.Driver.ContentHandler {
|
||||
public class CommonPartHandler : ContentHandler {
|
||||
private readonly IClock _clock;
|
||||
private readonly IAuthenticationService _authenticationService;
|
||||
private readonly IContentManager _contentManager;
|
||||
|
||||
public CommonDriver(
|
||||
public CommonPartHandler(
|
||||
IRepository<CommonRecord> repository,
|
||||
IClock clock,
|
||||
IAuthenticationService authenticationService,
|
||||
@@ -21,12 +21,12 @@ namespace Orchard.Core.Common.Models {
|
||||
_authenticationService = authenticationService;
|
||||
_contentManager = contentManager;
|
||||
|
||||
AddOnCreating<CommonModel>(SetCreateTimesAndAuthor);
|
||||
AddOnCreating<CommonPart>(SetCreateTimesAndAuthor);
|
||||
Filters.Add(new StorageFilterForRecord<CommonRecord>(repository));
|
||||
AddOnLoaded<CommonModel>(LoadOwnerModel);
|
||||
AddOnLoaded<CommonPart>(LoadOwnerModel);
|
||||
}
|
||||
|
||||
void SetCreateTimesAndAuthor(CreateContentContext context, CommonModel instance) {
|
||||
void SetCreateTimesAndAuthor(CreateContentContext context, CommonPart instance) {
|
||||
if (instance.Record.CreatedUtc == null) {
|
||||
instance.Record.CreatedUtc = _clock.UtcNow;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ namespace Orchard.Core.Common.Models {
|
||||
}
|
||||
}
|
||||
|
||||
void LoadOwnerModel(LoadContentContext context, CommonModel instance) {
|
||||
void LoadOwnerModel(LoadContentContext context, CommonPart instance) {
|
||||
if (instance.Record.OwnerId != 0) {
|
||||
instance.Owner = _contentManager.Get(instance.Record.OwnerId).As<IUser>();
|
||||
}
|
@@ -1,7 +0,0 @@
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class ContentDriver : Orchard.Models.Driver.ContentHandler {
|
||||
|
||||
}
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
using Orchard.Models;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class ContentModel : ContentItemPart {
|
||||
public class ContentPart : ContentItemPart {
|
||||
public string Body { get; set; }
|
||||
public string Format { get; set; }
|
||||
}
|
7
src/Orchard.Web/Core/Common/Models/ContentPartHandler.cs
Normal file
7
src/Orchard.Web/Core/Common/Models/ContentPartHandler.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class ContentPartHandler : ContentHandler {
|
||||
|
||||
}
|
||||
}
|
@@ -2,6 +2,6 @@ using Orchard.Core.Common.Records;
|
||||
using Orchard.Models;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class RoutableModel : ContentItemPartWithRecord<RoutableRecord> {
|
||||
public class RoutablePart : ContentItemPartWithRecord<RoutableRecord> {
|
||||
}
|
||||
}
|
@@ -3,8 +3,8 @@ using Orchard.Data;
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Core.Common.Models {
|
||||
public class RoutableDriver : Orchard.Models.Driver.ContentHandler {
|
||||
public RoutableDriver(IRepository<RoutableRecord> repository) {
|
||||
public class RoutablePartHandler : Orchard.Models.Driver.ContentHandler {
|
||||
public RoutablePartHandler(IRepository<RoutableRecord> repository) {
|
||||
Filters.Add(new StorageFilterForRecord<RoutableRecord>(repository));
|
||||
}
|
||||
}
|
@@ -61,19 +61,19 @@
|
||||
<Reference Include="System.Web.Mobile" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Common\Models\CommonDriver.cs" />
|
||||
<Compile Include="Common\Models\CommonModel.cs" />
|
||||
<Compile Include="Common\Models\ContentDriver.cs" />
|
||||
<Compile Include="Common\Models\ContentModel.cs" />
|
||||
<Compile Include="Common\Models\RoutableModel.cs" />
|
||||
<Compile Include="Common\Models\RoutableDriver.cs" />
|
||||
<Compile Include="Common\Models\CommonPartHandler.cs" />
|
||||
<Compile Include="Common\Models\CommonPart.cs" />
|
||||
<Compile Include="Common\Models\ContentPartHandler.cs" />
|
||||
<Compile Include="Common\Models\ContentPart.cs" />
|
||||
<Compile Include="Common\Models\RoutablePart.cs" />
|
||||
<Compile Include="Common\Models\RoutablePartHandler.cs" />
|
||||
<Compile Include="Common\Records\CommonRecord.cs" />
|
||||
<Compile Include="Common\Records\RoutableRecord.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Settings\AdminMenu.cs" />
|
||||
<Compile Include="Settings\Controllers\AdminController.cs" />
|
||||
<Compile Include="Settings\Models\SiteDriver.cs" />
|
||||
<Compile Include="Settings\Models\SiteModel.cs" />
|
||||
<Compile Include="Settings\Models\SiteSettingsHandler.cs" />
|
||||
<Compile Include="Settings\Models\SiteSettings.cs" />
|
||||
<Compile Include="Settings\Records\SiteSettingsRecord.cs" />
|
||||
<Compile Include="Settings\Services\SiteService.cs" />
|
||||
<Compile Include="Settings\ViewModels\SettingsIndexViewModel.cs" />
|
||||
|
@@ -25,14 +25,14 @@ namespace Orchard.Core.Settings.Controllers {
|
||||
|
||||
public ActionResult Index() {
|
||||
var model = new Orchard.Core.Settings.ViewModels.SettingsIndexViewModel {
|
||||
Site = _siteService.GetSiteSettings().As<SiteModel>() };
|
||||
Site = _siteService.GetSiteSettings().As<SiteSettings>() };
|
||||
model.Editors = _modelManager.GetEditors(model.Site.ContentItem);
|
||||
return View(model);
|
||||
}
|
||||
|
||||
[AcceptVerbs(HttpVerbs.Post)]
|
||||
public ActionResult Index(FormCollection input) {
|
||||
var viewModel = new SettingsIndexViewModel { Site = _siteService.GetSiteSettings().As<SiteModel>() };
|
||||
var viewModel = new SettingsIndexViewModel { Site = _siteService.GetSiteSettings().As<SiteSettings>() };
|
||||
viewModel.Editors = _modelManager.UpdateEditors(viewModel.Site.ContentItem, this);
|
||||
|
||||
if (!TryUpdateModel(viewModel, input.ToValueProvider())) {
|
||||
|
@@ -3,7 +3,7 @@ using Orchard.Models;
|
||||
using Orchard.Settings;
|
||||
|
||||
namespace Orchard.Core.Settings.Models {
|
||||
public sealed class SiteModel : ContentItemPartWithRecord<SiteSettingsRecord>, ISite {
|
||||
public sealed class SiteSettings : ContentItemPartWithRecord<SiteSettingsRecord>, ISite {
|
||||
public string SiteName {
|
||||
get { return Record.SiteName; }
|
||||
set { Record.SiteName = value; }
|
@@ -3,9 +3,9 @@ using Orchard.Data;
|
||||
using Orchard.Models.Driver;
|
||||
|
||||
namespace Orchard.Core.Settings.Models {
|
||||
public class SiteDriver : ContentHandler {
|
||||
public SiteDriver(IRepository<SiteSettingsRecord> repository){
|
||||
Filters.Add(new ActivatingFilter<SiteModel>("site"));
|
||||
public class SiteSettingsHandler : ContentHandler {
|
||||
public SiteSettingsHandler(IRepository<SiteSettingsRecord> repository){
|
||||
Filters.Add(new ActivatingFilter<SiteSettings>("site"));
|
||||
Filters.Add(new StorageFilterForRecord<SiteSettingsRecord>(repository));
|
||||
}
|
||||
}
|
@@ -25,7 +25,7 @@ namespace Orchard.Core.Settings.Services {
|
||||
string applicationName = HttpContext.Current.Request.ApplicationPath;
|
||||
SiteSettingsRecord record = _siteSettingsRepository.Get(x => x.SiteUrl == applicationName);
|
||||
if (record == null) {
|
||||
SiteModel site = _contentManager.New("site").As<SiteModel>();
|
||||
SiteSettings site = _contentManager.New("site").As<SiteSettings>();
|
||||
site.Record.SiteUrl = applicationName;
|
||||
_contentManager.Create(site);
|
||||
return site;
|
||||
|
@@ -7,7 +7,7 @@ using Orchard.UI.Models;
|
||||
|
||||
namespace Orchard.Core.Settings.ViewModels {
|
||||
public class SettingsIndexViewModel : AdminViewModel {
|
||||
public SiteModel Site { get; set; }
|
||||
public SiteSettings Site { get; set; }
|
||||
public IEnumerable<ModelTemplate> Editors { get; set; }
|
||||
|
||||
[HiddenInput(DisplayValue = false)]
|
||||
@@ -16,13 +16,13 @@ namespace Orchard.Core.Settings.ViewModels {
|
||||
}
|
||||
|
||||
public string SiteName {
|
||||
get { return Site.As<SiteModel>().Record.SiteName; }
|
||||
set { Site.As<SiteModel>().Record.SiteName = value; }
|
||||
get { return Site.As<SiteSettings>().Record.SiteName; }
|
||||
set { Site.As<SiteSettings>().Record.SiteName = value; }
|
||||
}
|
||||
|
||||
public string SuperUser {
|
||||
get { return Site.As<SiteModel>().Record.SuperUser; }
|
||||
set { Site.As<SiteModel>().Record.SuperUser = value; }
|
||||
get { return Site.As<SiteSettings>().Record.SuperUser; }
|
||||
set { Site.As<SiteSettings>().Record.SuperUser = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user