Continuing to refactor ModelDriver concept into ContentHandler

--HG--
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4041354
This commit is contained in:
loudej
2009-11-19 05:40:38 +00:00
parent 40632265f7
commit 957a4b0127
33 changed files with 105 additions and 109 deletions

View File

@@ -28,7 +28,7 @@ namespace Orchard.Tests.Packages.Users.Controllers {
builder.Register<AdminController>(); builder.Register<AdminController>();
builder.Register<DefaultContentManager>().As<IContentManager>(); builder.Register<DefaultContentManager>().As<IContentManager>();
builder.Register<MembershipService>().As<IMembershipService>(); builder.Register<MembershipService>().As<IMembershipService>();
builder.Register<UserDriver>().As<IContentHandler>(); builder.Register<UserHandler>().As<IContentHandler>();
builder.Register(new Mock<INotifier>().Object); builder.Register(new Mock<INotifier>().Object);
} }
@@ -43,15 +43,15 @@ namespace Orchard.Tests.Packages.Users.Controllers {
var manager = _container.Resolve<IContentManager>(); var manager = _container.Resolve<IContentManager>();
var userOne = manager.New("user").As<UserModel>(); var userOne = manager.New("user").As<User>();
userOne.Record = new UserRecord { UserName = "one" }; userOne.Record = new UserRecord { UserName = "one" };
manager.Create(userOne); manager.Create(userOne);
var userTwo = manager.New("user").As<UserModel>(); var userTwo = manager.New("user").As<User>();
userTwo.Record = new UserRecord { UserName = "two" }; userTwo.Record = new UserRecord { UserName = "two" };
manager.Create(userTwo); manager.Create(userTwo);
var userThree = manager.New("user").As<UserModel>(); var userThree = manager.New("user").As<User>();
userThree.Record = new UserRecord { UserName = "three" }; userThree.Record = new UserRecord { UserName = "three" };
manager.Create(userThree); manager.Create(userThree);

View File

@@ -58,7 +58,7 @@ namespace Orchard.Tests.Packages.Users.Services {
builder.RegisterModule(new ImplicitCollectionSupportModule()); builder.RegisterModule(new ImplicitCollectionSupportModule());
builder.Register<MembershipService>().As<IMembershipService>(); builder.Register<MembershipService>().As<IMembershipService>();
builder.Register<DefaultContentManager>().As<IContentManager>(); builder.Register<DefaultContentManager>().As<IContentManager>();
builder.Register<UserDriver>().As<IContentHandler>(); builder.Register<UserHandler>().As<IContentHandler>();
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)); builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>));
_session = _sessionFactory.OpenSession(); _session = _sessionFactory.OpenSession();
builder.Register(new TestSessionLocator(_session)).As<ISessionLocator>(); builder.Register(new TestSessionLocator(_session)).As<ISessionLocator>();

View File

@@ -8,7 +8,7 @@ namespace Orchard.Tests.Models.Drivers {
public class ModelDriverTests { public class ModelDriverTests {
[Test] [Test]
public void ModelDriverShouldUsePersistenceFilterToDelegateCreateAndLoad() { public void ModelDriverShouldUsePersistenceFilterToDelegateCreateAndLoad() {
var modelDriver = new TestModelDriver(); var modelDriver = new TestModelHandler();
var contentItem = new ContentItem(); var contentItem = new ContentItem();
var part = new TestModelPart(); var part = new TestModelPart();
@@ -20,7 +20,7 @@ namespace Orchard.Tests.Models.Drivers {
[Test] [Test]
public void PartShouldBeAddedBasedOnSimplePredicate() { public void PartShouldBeAddedBasedOnSimplePredicate() {
var modelDriver = new TestModelDriver(); var modelDriver = new TestModelHandler();
var builder = new ContentItemBuilder("testing"); var builder = new ContentItemBuilder("testing");
((IContentHandler)modelDriver).Activating(new ActivatingContentContext { Builder = builder, ContentType = "testing" }); ((IContentHandler)modelDriver).Activating(new ActivatingContentContext { Builder = builder, ContentType = "testing" });
@@ -34,8 +34,8 @@ namespace Orchard.Tests.Models.Drivers {
} }
public class TestModelDriver : ContentHandler { public class TestModelHandler : ContentHandler {
public TestModelDriver() { public TestModelHandler() {
Filters.Add(new ActivatingFilter<TestModelPart>(x => x == "testing")); Filters.Add(new ActivatingFilter<TestModelPart>(x => x == "testing"));
Filters.Add(new TestModelStorageFilter()); Filters.Add(new TestModelStorageFilter());
} }

View File

@@ -3,7 +3,7 @@ using Orchard.Models;
using Orchard.Security; using Orchard.Security;
namespace Orchard.Core.Common.Models { namespace Orchard.Core.Common.Models {
public class CommonModel : ContentItemPartWithRecord<CommonRecord> { public class CommonPart : ContentItemPartWithRecord<CommonRecord> {
public IUser Owner { get; set; } public IUser Owner { get; set; }
} }
} }

View File

@@ -6,12 +6,12 @@ using Orchard.Security;
using Orchard.Services; using Orchard.Services;
namespace Orchard.Core.Common.Models { namespace Orchard.Core.Common.Models {
public class CommonDriver : Orchard.Models.Driver.ContentHandler { public class CommonPartHandler : ContentHandler {
private readonly IClock _clock; private readonly IClock _clock;
private readonly IAuthenticationService _authenticationService; private readonly IAuthenticationService _authenticationService;
private readonly IContentManager _contentManager; private readonly IContentManager _contentManager;
public CommonDriver( public CommonPartHandler(
IRepository<CommonRecord> repository, IRepository<CommonRecord> repository,
IClock clock, IClock clock,
IAuthenticationService authenticationService, IAuthenticationService authenticationService,
@@ -21,12 +21,12 @@ namespace Orchard.Core.Common.Models {
_authenticationService = authenticationService; _authenticationService = authenticationService;
_contentManager = contentManager; _contentManager = contentManager;
AddOnCreating<CommonModel>(SetCreateTimesAndAuthor); AddOnCreating<CommonPart>(SetCreateTimesAndAuthor);
Filters.Add(new StorageFilterForRecord<CommonRecord>(repository)); 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) { if (instance.Record.CreatedUtc == null) {
instance.Record.CreatedUtc = _clock.UtcNow; 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) { if (instance.Record.OwnerId != 0) {
instance.Owner = _contentManager.Get(instance.Record.OwnerId).As<IUser>(); instance.Owner = _contentManager.Get(instance.Record.OwnerId).As<IUser>();
} }

View File

@@ -1,7 +0,0 @@
using Orchard.Models.Driver;
namespace Orchard.Core.Common.Models {
public class ContentDriver : Orchard.Models.Driver.ContentHandler {
}
}

View File

@@ -1,7 +1,7 @@
using Orchard.Models; using Orchard.Models;
namespace Orchard.Core.Common.Models { namespace Orchard.Core.Common.Models {
public class ContentModel : ContentItemPart { public class ContentPart : ContentItemPart {
public string Body { get; set; } public string Body { get; set; }
public string Format { get; set; } public string Format { get; set; }
} }

View File

@@ -0,0 +1,7 @@
using Orchard.Models.Driver;
namespace Orchard.Core.Common.Models {
public class ContentPartHandler : ContentHandler {
}
}

View File

@@ -2,6 +2,6 @@ using Orchard.Core.Common.Records;
using Orchard.Models; using Orchard.Models;
namespace Orchard.Core.Common.Models { namespace Orchard.Core.Common.Models {
public class RoutableModel : ContentItemPartWithRecord<RoutableRecord> { public class RoutablePart : ContentItemPartWithRecord<RoutableRecord> {
} }
} }

View File

@@ -3,8 +3,8 @@ using Orchard.Data;
using Orchard.Models.Driver; using Orchard.Models.Driver;
namespace Orchard.Core.Common.Models { namespace Orchard.Core.Common.Models {
public class RoutableDriver : Orchard.Models.Driver.ContentHandler { public class RoutablePartHandler : Orchard.Models.Driver.ContentHandler {
public RoutableDriver(IRepository<RoutableRecord> repository) { public RoutablePartHandler(IRepository<RoutableRecord> repository) {
Filters.Add(new StorageFilterForRecord<RoutableRecord>(repository)); Filters.Add(new StorageFilterForRecord<RoutableRecord>(repository));
} }
} }

View File

@@ -61,19 +61,19 @@
<Reference Include="System.Web.Mobile" /> <Reference Include="System.Web.Mobile" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Common\Models\CommonDriver.cs" /> <Compile Include="Common\Models\CommonPartHandler.cs" />
<Compile Include="Common\Models\CommonModel.cs" /> <Compile Include="Common\Models\CommonPart.cs" />
<Compile Include="Common\Models\ContentDriver.cs" /> <Compile Include="Common\Models\ContentPartHandler.cs" />
<Compile Include="Common\Models\ContentModel.cs" /> <Compile Include="Common\Models\ContentPart.cs" />
<Compile Include="Common\Models\RoutableModel.cs" /> <Compile Include="Common\Models\RoutablePart.cs" />
<Compile Include="Common\Models\RoutableDriver.cs" /> <Compile Include="Common\Models\RoutablePartHandler.cs" />
<Compile Include="Common\Records\CommonRecord.cs" /> <Compile Include="Common\Records\CommonRecord.cs" />
<Compile Include="Common\Records\RoutableRecord.cs" /> <Compile Include="Common\Records\RoutableRecord.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Settings\AdminMenu.cs" /> <Compile Include="Settings\AdminMenu.cs" />
<Compile Include="Settings\Controllers\AdminController.cs" /> <Compile Include="Settings\Controllers\AdminController.cs" />
<Compile Include="Settings\Models\SiteDriver.cs" /> <Compile Include="Settings\Models\SiteSettingsHandler.cs" />
<Compile Include="Settings\Models\SiteModel.cs" /> <Compile Include="Settings\Models\SiteSettings.cs" />
<Compile Include="Settings\Records\SiteSettingsRecord.cs" /> <Compile Include="Settings\Records\SiteSettingsRecord.cs" />
<Compile Include="Settings\Services\SiteService.cs" /> <Compile Include="Settings\Services\SiteService.cs" />
<Compile Include="Settings\ViewModels\SettingsIndexViewModel.cs" /> <Compile Include="Settings\ViewModels\SettingsIndexViewModel.cs" />

View File

@@ -25,14 +25,14 @@ namespace Orchard.Core.Settings.Controllers {
public ActionResult Index() { public ActionResult Index() {
var model = new Orchard.Core.Settings.ViewModels.SettingsIndexViewModel { 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); model.Editors = _modelManager.GetEditors(model.Site.ContentItem);
return View(model); return View(model);
} }
[AcceptVerbs(HttpVerbs.Post)] [AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection input) { 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); viewModel.Editors = _modelManager.UpdateEditors(viewModel.Site.ContentItem, this);
if (!TryUpdateModel(viewModel, input.ToValueProvider())) { if (!TryUpdateModel(viewModel, input.ToValueProvider())) {

View File

@@ -3,7 +3,7 @@ using Orchard.Models;
using Orchard.Settings; using Orchard.Settings;
namespace Orchard.Core.Settings.Models { namespace Orchard.Core.Settings.Models {
public sealed class SiteModel : ContentItemPartWithRecord<SiteSettingsRecord>, ISite { public sealed class SiteSettings : ContentItemPartWithRecord<SiteSettingsRecord>, ISite {
public string SiteName { public string SiteName {
get { return Record.SiteName; } get { return Record.SiteName; }
set { Record.SiteName = value; } set { Record.SiteName = value; }

View File

@@ -3,9 +3,9 @@ using Orchard.Data;
using Orchard.Models.Driver; using Orchard.Models.Driver;
namespace Orchard.Core.Settings.Models { namespace Orchard.Core.Settings.Models {
public class SiteDriver : ContentHandler { public class SiteSettingsHandler : ContentHandler {
public SiteDriver(IRepository<SiteSettingsRecord> repository){ public SiteSettingsHandler(IRepository<SiteSettingsRecord> repository){
Filters.Add(new ActivatingFilter<SiteModel>("site")); Filters.Add(new ActivatingFilter<SiteSettings>("site"));
Filters.Add(new StorageFilterForRecord<SiteSettingsRecord>(repository)); Filters.Add(new StorageFilterForRecord<SiteSettingsRecord>(repository));
} }
} }

View File

@@ -25,7 +25,7 @@ namespace Orchard.Core.Settings.Services {
string applicationName = HttpContext.Current.Request.ApplicationPath; string applicationName = HttpContext.Current.Request.ApplicationPath;
SiteSettingsRecord record = _siteSettingsRepository.Get(x => x.SiteUrl == applicationName); SiteSettingsRecord record = _siteSettingsRepository.Get(x => x.SiteUrl == applicationName);
if (record == null) { if (record == null) {
SiteModel site = _contentManager.New("site").As<SiteModel>(); SiteSettings site = _contentManager.New("site").As<SiteSettings>();
site.Record.SiteUrl = applicationName; site.Record.SiteUrl = applicationName;
_contentManager.Create(site); _contentManager.Create(site);
return site; return site;

View File

@@ -7,7 +7,7 @@ using Orchard.UI.Models;
namespace Orchard.Core.Settings.ViewModels { namespace Orchard.Core.Settings.ViewModels {
public class SettingsIndexViewModel : AdminViewModel { public class SettingsIndexViewModel : AdminViewModel {
public SiteModel Site { get; set; } public SiteSettings Site { get; set; }
public IEnumerable<ModelTemplate> Editors { get; set; } public IEnumerable<ModelTemplate> Editors { get; set; }
[HiddenInput(DisplayValue = false)] [HiddenInput(DisplayValue = false)]
@@ -16,13 +16,13 @@ namespace Orchard.Core.Settings.ViewModels {
} }
public string SiteName { public string SiteName {
get { return Site.As<SiteModel>().Record.SiteName; } get { return Site.As<SiteSettings>().Record.SiteName; }
set { Site.As<SiteModel>().Record.SiteName = value; } set { Site.As<SiteSettings>().Record.SiteName = value; }
} }
public string SuperUser { public string SuperUser {
get { return Site.As<SiteModel>().Record.SuperUser; } get { return Site.As<SiteSettings>().Record.SuperUser; }
set { Site.As<SiteModel>().Record.SuperUser = value; } set { Site.As<SiteSettings>().Record.SuperUser = value; }
} }
} }
} }

View File

@@ -12,8 +12,8 @@ namespace Orchard.Media.Models {
public virtual string RootMediaFolder { get; set; } public virtual string RootMediaFolder { get; set; }
} }
public class MediaSettingsDriver : ContentHandler { public class MediaSettingsHandler : ContentHandler {
public MediaSettingsDriver(IRepository<MediaSettingsRecord> repository) { public MediaSettingsHandler(IRepository<MediaSettingsRecord> repository) {
Filters.Add(new ActivatingFilter<MediaSettings>("site")); Filters.Add(new ActivatingFilter<MediaSettings>("site"));
Filters.Add(new StorageFilterForRecord<MediaSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true }); Filters.Add(new StorageFilterForRecord<MediaSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true });
} }

View File

@@ -6,8 +6,8 @@ namespace Orchard.Roles.Models.NoRecord {
IList<string> Roles { get; } IList<string> Roles { get; }
} }
public class UserRolesModel : ContentItemPart, IUserRoles { public class UserRoles : ContentItemPart, IUserRoles {
public UserRolesModel() { public UserRoles() {
Roles = new List<string>(); Roles = new List<string>();
} }

View File

@@ -11,12 +11,12 @@ using Orchard.UI.Models;
using Orchard.UI.Notify; using Orchard.UI.Notify;
namespace Orchard.Roles.Models { namespace Orchard.Roles.Models {
public class UserRolesDriver : ContentHandler { public class UserRolesHandler : ContentHandler {
private readonly IRepository<UserRolesRecord> _userRolesRepository; private readonly IRepository<UserRolesRecord> _userRolesRepository;
private readonly IRoleService _roleService; private readonly IRoleService _roleService;
private readonly INotifier _notifier; private readonly INotifier _notifier;
public UserRolesDriver(IRepository<UserRolesRecord> userRolesRepository, IRoleService roleService, INotifier notifier) { public UserRolesHandler(IRepository<UserRolesRecord> userRolesRepository, IRoleService roleService, INotifier notifier) {
_userRolesRepository = userRolesRepository; _userRolesRepository = userRolesRepository;
_roleService = roleService; _roleService = roleService;
_notifier = notifier; _notifier = notifier;
@@ -24,18 +24,18 @@ namespace Orchard.Roles.Models {
protected override void Activating(ActivatingContentContext context) { protected override void Activating(ActivatingContentContext context) {
if (context.ContentType == "user") { if (context.ContentType == "user") {
context.Builder.Weld<UserRolesModel>(); context.Builder.Weld<UserRoles>();
} }
} }
protected override void Creating(CreateContentContext context) { protected override void Creating(CreateContentContext context) {
var userRoles = context.ContentItem.As<UserRolesModel>(); var userRoles = context.ContentItem.As<UserRoles>();
if (userRoles != null) { if (userRoles != null) {
} }
} }
protected override void Loading(LoadContentContext context) { protected override void Loading(LoadContentContext context) {
var userRoles = context.ContentItem.As<UserRolesModel>(); var userRoles = context.ContentItem.As<UserRoles>();
if (userRoles != null) { if (userRoles != null) {
userRoles.Roles = _userRolesRepository.Fetch(x => x.UserId == context.ContentItem.Id) userRoles.Roles = _userRolesRepository.Fetch(x => x.UserId == context.ContentItem.Id)
.Select(x => x.Role.Name).ToList(); .Select(x => x.Role.Name).ToList();
@@ -43,7 +43,7 @@ namespace Orchard.Roles.Models {
} }
protected override void GetEditors(GetContentEditorsContext context) { protected override void GetEditors(GetContentEditorsContext context) {
var userRoles = context.ContentItem.As<UserRolesModel>(); var userRoles = context.ContentItem.As<UserRoles>();
if (userRoles != null) { if (userRoles != null) {
var roles = var roles =
_roleService.GetRoles().Select( _roleService.GetRoles().Select(
@@ -64,7 +64,7 @@ namespace Orchard.Roles.Models {
} }
protected override void UpdateEditors(UpdateContentContext context) { protected override void UpdateEditors(UpdateContentContext context) {
var userRoles = context.ContentItem.As<UserRolesModel>(); var userRoles = context.ContentItem.As<UserRoles>();
if (userRoles != null) { if (userRoles != null) {
var viewModel = new UserRolesViewModel(); var viewModel = new UserRolesViewModel();
if (context.Updater.TryUpdateModel(viewModel, "UserRoles", null, null)) { if (context.Updater.TryUpdateModel(viewModel, "UserRoles", null, null)) {

View File

@@ -65,8 +65,8 @@
<Compile Include="Controllers\AdminController.cs" /> <Compile Include="Controllers\AdminController.cs" />
<Compile Include="Records\PermissionRecord.cs" /> <Compile Include="Records\PermissionRecord.cs" />
<Compile Include="Records\RoleRecord.cs" /> <Compile Include="Records\RoleRecord.cs" />
<Compile Include="Models\UserRolesModel.cs" /> <Compile Include="Models\UserRoles.cs" />
<Compile Include="Models\UserRolesDriver.cs" /> <Compile Include="Models\UserRolesHandler.cs" />
<Compile Include="Records\RolesPermissions.cs" /> <Compile Include="Records\RolesPermissions.cs" />
<Compile Include="Records\UserRolesRecord.cs" /> <Compile Include="Records\UserRolesRecord.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />

View File

@@ -38,7 +38,7 @@ namespace Orchard.Users.Controllers {
var model = new UsersIndexViewModel(); var model = new UsersIndexViewModel();
model.Rows = _userRepository.Fetch(x => x.UserName != null) model.Rows = _userRepository.Fetch(x => x.UserName != null)
.Select(x => new UsersIndexViewModel.Row { .Select(x => new UsersIndexViewModel.Row {
User = _contentManager.Get(x.Id).As<UserModel>() User = _contentManager.Get(x.Id).As<User>()
}) })
.ToList(); .ToList();
@@ -67,14 +67,14 @@ namespace Orchard.Users.Controllers {
} }
public ActionResult Edit(int id) { public ActionResult Edit(int id) {
var model = new UserEditViewModel { User = _contentManager.Get<UserModel>(id) }; var model = new UserEditViewModel { User = _contentManager.Get<User>(id) };
model.Editors = _contentManager.GetEditors(model.User.ContentItem); model.Editors = _contentManager.GetEditors(model.User.ContentItem);
return View(model); return View(model);
} }
[HttpPost] [HttpPost]
public ActionResult Edit(int id, FormCollection input) { public ActionResult Edit(int id, FormCollection input) {
var model = new UserEditViewModel { User = _contentManager.Get<UserModel>(id) }; var model = new UserEditViewModel { User = _contentManager.Get<User>(id) };
model.Editors = _contentManager.UpdateEditors(model.User.ContentItem, this); model.Editors = _contentManager.UpdateEditors(model.User.ContentItem, this);
if (!TryUpdateModel(model, input.ToValueProvider())) { if (!TryUpdateModel(model, input.ToValueProvider())) {

View File

@@ -2,7 +2,7 @@
using Orchard.Security; using Orchard.Security;
namespace Orchard.Users.Models { namespace Orchard.Users.Models {
public sealed class UserModel : ContentItemPartWithRecord<UserRecord>, IUser { public sealed class User : ContentItemPartWithRecord<UserRecord>, IUser {
public int Id { public int Id {
get { return ContentItem.Id; } get { return ContentItem.Id; }
} }

View File

@@ -1,11 +0,0 @@
using Orchard.Data;
using Orchard.Models.Driver;
namespace Orchard.Users.Models {
public class UserDriver : ContentHandler {
public UserDriver(IRepository<UserRecord> repository) {
Filters.Add(new ActivatingFilter<UserModel>("user"));
Filters.Add(new StorageFilterForRecord<UserRecord>(repository));
}
}
}

View File

@@ -0,0 +1,11 @@
using Orchard.Data;
using Orchard.Models.Driver;
namespace Orchard.Users.Models {
public class UserHandler : ContentHandler {
public UserHandler(IRepository<UserRecord> repository) {
Filters.Add(new ActivatingFilter<User>("user"));
Filters.Add(new StorageFilterForRecord<UserRecord>(repository));
}
}
}

View File

@@ -63,8 +63,8 @@
<ItemGroup> <ItemGroup>
<Compile Include="Controllers\AdminController.cs" /> <Compile Include="Controllers\AdminController.cs" />
<Compile Include="Controllers\HomeController.cs" /> <Compile Include="Controllers\HomeController.cs" />
<Compile Include="Models\UserModel.cs" /> <Compile Include="Models\User.cs" />
<Compile Include="Models\UserDriver.cs" /> <Compile Include="Models\UserHandler.cs" />
<Compile Include="Models\UserRecord.cs" /> <Compile Include="Models\UserRecord.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\MembershipService.cs" /> <Compile Include="Services\MembershipService.cs" />

View File

@@ -37,7 +37,7 @@ namespace Orchard.Users.Services {
SetPassword(record, createUserParams.Password); SetPassword(record, createUserParams.Password);
var user = _contentManager.New("user"); var user = _contentManager.New("user");
user.As<UserModel>().Record = record; user.As<User>().Record = record;
_contentManager.Create(user); _contentManager.Create(user);
return user.As<IUser>(); return user.As<IUser>();
} }
@@ -61,10 +61,10 @@ namespace Orchard.Users.Services {
public void SetPassword(IUser user, string password) { public void SetPassword(IUser user, string password) {
if (!user.Is<UserModel>()) if (!user.Is<User>())
throw new InvalidCastException(); throw new InvalidCastException();
var userRecord = user.As<UserModel>().Record; var userRecord = user.As<User>().Record;
SetPassword(userRecord, password); SetPassword(userRecord, password);
} }

View File

@@ -8,7 +8,7 @@ using Orchard.Users.Models;
namespace Orchard.Users.ViewModels { namespace Orchard.Users.ViewModels {
public class UserEditViewModel : AdminViewModel { public class UserEditViewModel : AdminViewModel {
public UserModel User { get; set; } public User User { get; set; }
public IEnumerable<ModelTemplate> Editors { get; set; } public IEnumerable<ModelTemplate> Editors { get; set; }
[HiddenInput(DisplayValue = false)] [HiddenInput(DisplayValue = false)]
@@ -18,14 +18,14 @@ namespace Orchard.Users.ViewModels {
[Required] [Required]
public string UserName { public string UserName {
get { return User.As<UserModel>().Record.UserName; } get { return User.As<User>().Record.UserName; }
set { User.As<UserModel>().Record.UserName = value; } set { User.As<User>().Record.UserName = value; }
} }
[Required] [Required]
public string Email { public string Email {
get { return User.As<UserModel>().Record.Email; } get { return User.As<User>().Record.Email; }
set { User.As<UserModel>().Record.Email = value; } set { User.As<User>().Record.Email = value; }
} }
} }
} }

View File

@@ -6,7 +6,7 @@ namespace Orchard.Users.ViewModels {
public class UsersIndexViewModel : AdminViewModel { public class UsersIndexViewModel : AdminViewModel {
public class Row { public class Row {
public UserModel User { get; set; } public User User { get; set; }
} }
public IList<Row> Rows { get; set; } public IList<Row> Rows { get; set; }

View File

@@ -26,7 +26,7 @@ namespace Orchard.Wikis.Controllers {
} }
public ActionResult View(int id) { public ActionResult View(int id) {
var page = _contentManager.Get(id).As<CommonModel>(); var page = _contentManager.Get(id).As<CommonPart>();
return View(page); return View(page);
} }
} }

View File

@@ -1,19 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Orchard.Core.Common.Models;
using Orchard.Models.Driver;
namespace Orchard.Wikis.Models {
public class WikiPageDriver : ContentHandler {
protected override void Activating(ActivatingContentContext context) {
if (context.ContentType == "wikipage") {
context.Builder
.Weld<CommonModel>()
.Weld<RoutableModel>()
.Weld<ContentModel>();
}
}
}
}

View File

@@ -0,0 +1,15 @@
using Orchard.Core.Common.Models;
using Orchard.Models.Driver;
namespace Orchard.Wikis.Models {
public class WikiPageHandler : ContentHandler {
protected override void Activating(ActivatingContentContext context) {
if (context.ContentType == "wikipage") {
context.Builder
.Weld<CommonPart>()
.Weld<RoutablePart>()
.Weld<ContentPart>();
}
}
}
}

View File

@@ -16,8 +16,8 @@ namespace Orchard.Wikis.Models {
public virtual string WikiEditTheme { get; set; } public virtual string WikiEditTheme { get; set; }
} }
public class WikiSettingsDriver : ContentHandler { public class WikiSettingsHandler : ContentHandler {
public WikiSettingsDriver(IRepository<WikiSettingsRecord> repository) { public WikiSettingsHandler(IRepository<WikiSettingsRecord> repository) {
Filters.Add(new ActivatingFilter<WikiSettings>("site")); Filters.Add(new ActivatingFilter<WikiSettings>("site"));
Filters.Add(new StorageFilterForRecord<WikiSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true }); Filters.Add(new StorageFilterForRecord<WikiSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true });

View File

@@ -63,7 +63,7 @@
<ItemGroup> <ItemGroup>
<Compile Include="AdminMenu.cs" /> <Compile Include="AdminMenu.cs" />
<Compile Include="Controllers\AdminController.cs" /> <Compile Include="Controllers\AdminController.cs" />
<Compile Include="Models\WikiPageDriver.cs" /> <Compile Include="Models\WikiPageHandler.cs" />
<Compile Include="Models\WikiSettings.cs" /> <Compile Include="Models\WikiSettings.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>