diff --git a/src/Orchard.Tests.Modules/Users/Controllers/AdminControllerTests.cs b/src/Orchard.Tests.Modules/Users/Controllers/AdminControllerTests.cs index 19e6d65a5..759fca5f7 100644 --- a/src/Orchard.Tests.Modules/Users/Controllers/AdminControllerTests.cs +++ b/src/Orchard.Tests.Modules/Users/Controllers/AdminControllerTests.cs @@ -43,7 +43,7 @@ namespace Orchard.Tests.Modules.Users.Controllers { builder.RegisterType().As().InstancePerDependency(); builder.RegisterType().As(); builder.RegisterType().As(); - builder.RegisterType().As(); + builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterInstance(new Mock().Object); @@ -53,7 +53,7 @@ namespace Orchard.Tests.Modules.Users.Controllers { protected override IEnumerable DatabaseTypes { get { - return new[] { typeof(UserRecord), + return new[] { typeof(UserPartRecord), typeof(ContentTypeRecord), typeof(ContentItemRecord), typeof(ContentItemVersionRecord), @@ -66,16 +66,16 @@ namespace Orchard.Tests.Modules.Users.Controllers { var manager = _container.Resolve(); - var userOne = manager.New("User"); - userOne.Record = new UserRecord { UserName = "one" }; + var userOne = manager.New("User"); + userOne.Record = new UserPartRecord { UserName = "one" }; manager.Create(userOne.ContentItem); - var userTwo = manager.New("User"); - userTwo.Record = new UserRecord { UserName = "two" }; + var userTwo = manager.New("User"); + userTwo.Record = new UserPartRecord { UserName = "two" }; manager.Create(userTwo.ContentItem); - var userThree = manager.New("User"); - userThree.Record = new UserRecord { UserName = "three" }; + var userThree = manager.New("User"); + userThree.Record = new UserPartRecord { UserName = "three" }; manager.Create(userThree.ContentItem); _controller = _container.Resolve(); @@ -125,7 +125,7 @@ namespace Orchard.Tests.Modules.Users.Controllers { public void EditShouldDisplayUserAndStoreChanges() { _authorizer.Setup(x => x.Authorize(It.IsAny(), It.IsAny())).Returns(true); - var repository = _container.Resolve>(); + var repository = _container.Resolve>(); var id = repository.Get(x => x.UserName == "two").Id; var result = (ViewResult)_container.Resolve().Edit(id); var model = (UserEditViewModel)result.ViewData.Model; diff --git a/src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs b/src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs index 6573949e2..acbff5dcd 100644 --- a/src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs +++ b/src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs @@ -43,7 +43,7 @@ namespace Orchard.Tests.Modules.Users.Services { var databaseFileName = System.IO.Path.GetTempFileName(); _sessionFactory = DataUtility.CreateSessionFactory( databaseFileName, - typeof(UserRecord), + typeof(UserPartRecord), typeof(ContentItemVersionRecord), typeof(ContentItemRecord), typeof(ContentTypeRecord)); @@ -65,7 +65,7 @@ namespace Orchard.Tests.Modules.Users.Services { .As(typeof(IMapper)); builder.RegisterType().As(); builder.RegisterType().As(); - builder.RegisterType().As(); + builder.RegisterType().As(); builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)); _session = _sessionFactory.OpenSession(); builder.RegisterInstance(new TestSessionLocator(_session)).As(); @@ -84,7 +84,7 @@ namespace Orchard.Tests.Modules.Users.Services { public void DefaultPasswordFormatShouldBeHashedAndHaveSalt() { var user = _membershipService.CreateUser(new CreateUserParams("a", "b", "c", null, null, true)); - var userRepository = _container.Resolve>(); + var userRepository = _container.Resolve>(); var userRecord = userRepository.Get(user.Id); Assert.That(userRecord.PasswordFormat, Is.EqualTo(MembershipPasswordFormat.Hashed)); Assert.That(userRecord.Password, Is.Not.EqualTo("b")); @@ -102,7 +102,7 @@ namespace Orchard.Tests.Modules.Users.Services { _session.Flush(); _session.Clear(); - var userRepository = _container.Resolve>(); + var userRepository = _container.Resolve>(); var user1Record = userRepository.Get(user1.Id); var user2Record = userRepository.Get(user2.Id); Assert.That(user1Record.PasswordSalt, Is.Not.EqualTo(user2Record.PasswordSalt)); diff --git a/src/Orchard.Tests/DataMigration/DataMigrationTests.cs b/src/Orchard.Tests/DataMigration/DataMigrationTests.cs index 164de0e32..96ca77e52 100644 --- a/src/Orchard.Tests/DataMigration/DataMigrationTests.cs +++ b/src/Orchard.Tests/DataMigration/DataMigrationTests.cs @@ -215,7 +215,7 @@ namespace Orchard.Tests.DataMigration { } public int Create() { - SchemaBuilder.CreateTable("UserRecord", table => + SchemaBuilder.CreateTable("UserPartRecord", table => table.Column("Id", DbType.Int32, column => column.PrimaryKey().Identity())); diff --git a/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs index 5578531ab..ab768eab5 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs @@ -33,13 +33,13 @@ namespace Orchard.Users.Controllers { return new HttpUnauthorizedResult(); var users = Services.ContentManager - .Query() + .Query() .Where(x => x.UserName != null) .List(); var model = new UsersIndexViewModel { Rows = users - .Select(x => new UsersIndexViewModel.Row { User = x }) + .Select(x => new UsersIndexViewModel.Row { UserPart = x }) .ToList() }; @@ -50,7 +50,7 @@ namespace Orchard.Users.Controllers { if (!Services.Authorizer.Authorize(Permissions.ManageUsers, T("Not authorized to manage users"))) return new HttpUnauthorizedResult(); - var user = Services.ContentManager.New(UserDriver.ContentType.Name); + var user = Services.ContentManager.New(UserPartDriver.ContentType.Name); var model = new UserCreateViewModel { User = Services.ContentManager.BuildEditorModel(user) }; @@ -62,7 +62,7 @@ namespace Orchard.Users.Controllers { if (!Services.Authorizer.Authorize(Permissions.ManageUsers, T("Not authorized to manage users"))) return new HttpUnauthorizedResult(); - var user = Services.ContentManager.New(UserDriver.ContentType.Name); + var user = Services.ContentManager.New(UserPartDriver.ContentType.Name); model.User = Services.ContentManager.UpdateEditorModel(user, this); if (!ModelState.IsValid) { Services.TransactionManager.Cancel(); @@ -99,7 +99,7 @@ namespace Orchard.Users.Controllers { return new HttpUnauthorizedResult(); return View(new UserEditViewModel { - User = Services.ContentManager.BuildEditorModel(id) + User = Services.ContentManager.BuildEditorModel(id) }); } @@ -109,7 +109,7 @@ namespace Orchard.Users.Controllers { return new HttpUnauthorizedResult(); var model = new UserEditViewModel { - User = Services.ContentManager.UpdateEditorModel(id, this) + User = Services.ContentManager.UpdateEditorModel(id, this) }; TryUpdateModel(model); diff --git a/src/Orchard.Web/Modules/Orchard.Users/DataMigrations/UsersDataMigration.cs b/src/Orchard.Web/Modules/Orchard.Users/DataMigrations/UsersDataMigration.cs index b1e87bfb7..f3fdeeed5 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/DataMigrations/UsersDataMigration.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/DataMigrations/UsersDataMigration.cs @@ -5,7 +5,7 @@ namespace Orchard.Users.DataMigrations { public int Create() { //CREATE TABLE Orchard_Users_UserRecord (Id INTEGER not null, UserName TEXT, Email TEXT, NormalizedUserName TEXT, Password TEXT, PasswordFormat TEXT, PasswordSalt TEXT, primary key (Id)); - SchemaBuilder.CreateTable("UserRecord", table => table + SchemaBuilder.CreateTable("UserPartRecord", table => table .ContentPartRecord() .Column("UserName") .Column("Email") diff --git a/src/Orchard.Web/Modules/Orchard.Users/Drivers/UserDriver.cs b/src/Orchard.Web/Modules/Orchard.Users/Drivers/UserPartDriver.cs similarity index 88% rename from src/Orchard.Web/Modules/Orchard.Users/Drivers/UserDriver.cs rename to src/Orchard.Web/Modules/Orchard.Users/Drivers/UserPartDriver.cs index b7c43eaa2..aa3d73366 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Drivers/UserDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Drivers/UserPartDriver.cs @@ -6,7 +6,7 @@ using Orchard.Users.Models; namespace Orchard.Users.Drivers { [UsedImplicitly] - public class UserDriver : ContentItemDriver { + public class UserPartDriver : ContentItemDriver { public readonly static ContentType ContentType = new ContentType { Name = "User", DisplayName = "User Profile" @@ -18,12 +18,12 @@ namespace Orchard.Users.Drivers { return ContentType; } - protected override string GetDisplayText(User item) { + protected override string GetDisplayText(UserPart item) { //TEMP: need a "display name" probably... showing login info likely not a best practice... return item.UserName; } - public override RouteValueDictionary GetEditorRouteValues(User item) { + public override RouteValueDictionary GetEditorRouteValues(UserPart item) { return new RouteValueDictionary { {"Area", "Orchard.Users"}, {"Controller", "Admin"}, diff --git a/src/Orchard.Web/Modules/Orchard.Users/Handlers/UserHandler.cs b/src/Orchard.Web/Modules/Orchard.Users/Handlers/UserPartHandler.cs similarity index 55% rename from src/Orchard.Web/Modules/Orchard.Users/Handlers/UserHandler.cs rename to src/Orchard.Web/Modules/Orchard.Users/Handlers/UserPartHandler.cs index f893fa5b0..125ef34fa 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Handlers/UserHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Handlers/UserPartHandler.cs @@ -6,9 +6,9 @@ using Orchard.Users.Models; namespace Orchard.Users.Handlers { [UsedImplicitly] - public class UserHandler : ContentHandler { - public UserHandler(IRepository repository) { - Filters.Add(new ActivatingFilter(UserDriver.ContentType.Name)); + public class UserPartHandler : ContentHandler { + public UserPartHandler(IRepository repository) { + Filters.Add(new ActivatingFilter(UserPartDriver.ContentType.Name)); Filters.Add(StorageFilter.For(repository)); } } diff --git a/src/Orchard.Web/Modules/Orchard.Users/Models/User.cs b/src/Orchard.Web/Modules/Orchard.Users/Models/UserPart.cs similarity index 86% rename from src/Orchard.Web/Modules/Orchard.Users/Models/User.cs rename to src/Orchard.Web/Modules/Orchard.Users/Models/UserPart.cs index 0dea0b8e4..99ed50bed 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Models/User.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Models/UserPart.cs @@ -2,7 +2,7 @@ using Orchard.Security; namespace Orchard.Users.Models { - public sealed class User : ContentPart, IUser { + public sealed class UserPart : ContentPart, IUser { public int Id { get { return ContentItem.Id; } } diff --git a/src/Orchard.Web/Modules/Orchard.Users/Models/UserRecord.cs b/src/Orchard.Web/Modules/Orchard.Users/Models/UserPartRecord.cs similarity index 88% rename from src/Orchard.Web/Modules/Orchard.Users/Models/UserRecord.cs rename to src/Orchard.Web/Modules/Orchard.Users/Models/UserPartRecord.cs index 3d3c7ec46..459081fdf 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Models/UserRecord.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Models/UserPartRecord.cs @@ -2,7 +2,7 @@ using System.Web.Security; using Orchard.ContentManagement.Records; namespace Orchard.Users.Models { - public class UserRecord : ContentPartRecord { + public class UserPartRecord : ContentPartRecord { public virtual string UserName { get; set; } public virtual string Email { get; set; } public virtual string NormalizedUserName { get; set; } diff --git a/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj b/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj index 99b6fe9bb..8e819e458 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj +++ b/src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj @@ -68,10 +68,10 @@ - - - - + + + + diff --git a/src/Orchard.Web/Modules/Orchard.Users/Services/MembershipService.cs b/src/Orchard.Web/Modules/Orchard.Users/Services/MembershipService.cs index 18905881c..9c432b86a 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Services/MembershipService.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Services/MembershipService.cs @@ -15,9 +15,9 @@ namespace Orchard.Users.Services { [UsedImplicitly] public class MembershipService : IMembershipService { private readonly IContentManager _contentManager; - private readonly IRepository _userRepository; + private readonly IRepository _userRepository; - public MembershipService(IContentManager contentManager, IRepository userRepository) { + public MembershipService(IContentManager contentManager, IRepository userRepository) { _contentManager = contentManager; _userRepository = userRepository; Logger = NullLogger.Instance; @@ -34,7 +34,7 @@ namespace Orchard.Users.Services { public IUser CreateUser(CreateUserParams createUserParams) { Logger.Information("CreateUser {0} {1}", createUserParams.Username, createUserParams.Email); - return _contentManager.Create(UserDriver.ContentType.Name, init => + return _contentManager.Create(UserPartDriver.ContentType.Name, init => { init.Record.UserName = createUserParams.Username; init.Record.Email = createUserParams.Email; @@ -69,57 +69,57 @@ namespace Orchard.Users.Services { public void SetPassword(IUser user, string password) { - if (!user.Is()) + if (!user.Is()) throw new InvalidCastException(); - var userRecord = user.As().Record; + var userRecord = user.As().Record; SetPassword(userRecord, password); } - void SetPassword(UserRecord record, string password) { + void SetPassword(UserPartRecord partRecord, string password) { switch (GetSettings().PasswordFormat) { case MembershipPasswordFormat.Clear: - SetPasswordClear(record, password); + SetPasswordClear(partRecord, password); break; case MembershipPasswordFormat.Hashed: - SetPasswordHashed(record, password); + SetPasswordHashed(partRecord, password); break; case MembershipPasswordFormat.Encrypted: - SetPasswordEncrypted(record, password); + SetPasswordEncrypted(partRecord, password); break; default: throw new ApplicationException("Unexpected password format value"); } } - private bool ValidatePassword(UserRecord record, string password) { + private bool ValidatePassword(UserPartRecord partRecord, string password) { // Note - the password format stored with the record is used // otherwise changing the password format on the site would invalidate // all logins - switch (record.PasswordFormat) { + switch (partRecord.PasswordFormat) { case MembershipPasswordFormat.Clear: - return ValidatePasswordClear(record, password); + return ValidatePasswordClear(partRecord, password); case MembershipPasswordFormat.Hashed: - return ValidatePasswordHashed(record, password); + return ValidatePasswordHashed(partRecord, password); case MembershipPasswordFormat.Encrypted: - return ValidatePasswordEncrypted(record, password); + return ValidatePasswordEncrypted(partRecord, password); default: throw new ApplicationException("Unexpected password format value"); } } - private static void SetPasswordClear(UserRecord record, string password) { - record.PasswordFormat = MembershipPasswordFormat.Clear; - record.Password = password; - record.PasswordSalt = null; + private static void SetPasswordClear(UserPartRecord partRecord, string password) { + partRecord.PasswordFormat = MembershipPasswordFormat.Clear; + partRecord.Password = password; + partRecord.PasswordSalt = null; } - private static bool ValidatePasswordClear(UserRecord record, string password) { - return record.Password == password; + private static bool ValidatePasswordClear(UserPartRecord partRecord, string password) { + return partRecord.Password == password; } - private static void SetPasswordHashed(UserRecord record, string password) { + private static void SetPasswordHashed(UserPartRecord partRecord, string password) { var saltBytes = new byte[0x10]; var random = new RNGCryptoServiceProvider(); @@ -129,33 +129,33 @@ namespace Orchard.Users.Services { var combinedBytes = saltBytes.Concat(passwordBytes).ToArray(); - var hashAlgorithm = HashAlgorithm.Create(record.HashAlgorithm); + var hashAlgorithm = HashAlgorithm.Create(partRecord.HashAlgorithm); var hashBytes = hashAlgorithm.ComputeHash(combinedBytes); - record.PasswordFormat = MembershipPasswordFormat.Hashed; - record.Password = Convert.ToBase64String(hashBytes); - record.PasswordSalt = Convert.ToBase64String(saltBytes); + partRecord.PasswordFormat = MembershipPasswordFormat.Hashed; + partRecord.Password = Convert.ToBase64String(hashBytes); + partRecord.PasswordSalt = Convert.ToBase64String(saltBytes); } - private static bool ValidatePasswordHashed(UserRecord record, string password) { + private static bool ValidatePasswordHashed(UserPartRecord partRecord, string password) { - var saltBytes = Convert.FromBase64String(record.PasswordSalt); + var saltBytes = Convert.FromBase64String(partRecord.PasswordSalt); var passwordBytes = Encoding.Unicode.GetBytes(password); var combinedBytes = saltBytes.Concat(passwordBytes).ToArray(); - var hashAlgorithm = HashAlgorithm.Create(record.HashAlgorithm); + var hashAlgorithm = HashAlgorithm.Create(partRecord.HashAlgorithm); var hashBytes = hashAlgorithm.ComputeHash(combinedBytes); - return record.Password == Convert.ToBase64String(hashBytes); + return partRecord.Password == Convert.ToBase64String(hashBytes); } - private static void SetPasswordEncrypted(UserRecord record, string password) { + private static void SetPasswordEncrypted(UserPartRecord partRecord, string password) { throw new NotImplementedException(); } - private static bool ValidatePasswordEncrypted(UserRecord record, string password) { + private static bool ValidatePasswordEncrypted(UserPartRecord partRecord, string password) { throw new NotImplementedException(); } } diff --git a/src/Orchard.Web/Modules/Orchard.Users/Services/UserService.cs b/src/Orchard.Web/Modules/Orchard.Users/Services/UserService.cs index 2d86bb901..cc46757a9 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Services/UserService.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Services/UserService.cs @@ -18,7 +18,7 @@ namespace Orchard.Users.Services { public ILogger Logger { get; set; } public string VerifyUserUnicity(string userName, string email) { - IEnumerable allUsers = _contentManager.Query().List(); + IEnumerable allUsers = _contentManager.Query().List(); foreach (var user in allUsers) { if (String.Equals(userName.ToLower(), user.NormalizedUserName, StringComparison.OrdinalIgnoreCase)) { @@ -33,7 +33,7 @@ namespace Orchard.Users.Services { } public string VerifyUserUnicity(int id, string userName, string email) { - IEnumerable allUsers = _contentManager.Query().List(); + IEnumerable allUsers = _contentManager.Query().List(); foreach (var user in allUsers) { if (user.Id == id) continue; diff --git a/src/Orchard.Web/Modules/Orchard.Users/ViewModels/UserEditViewModel.cs b/src/Orchard.Web/Modules/Orchard.Users/ViewModels/UserEditViewModel.cs index fe04fade7..9b5ca0811 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/ViewModels/UserEditViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/ViewModels/UserEditViewModel.cs @@ -23,6 +23,6 @@ namespace Orchard.Users.ViewModels { set { User.Item.Record.Email = value; } } - public ContentItemViewModel User { get; set; } + public ContentItemViewModel User { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Users/ViewModels/UsersIndexViewModel.cs b/src/Orchard.Web/Modules/Orchard.Users/ViewModels/UsersIndexViewModel.cs index 626fb724e..a090586c9 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/ViewModels/UsersIndexViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/ViewModels/UsersIndexViewModel.cs @@ -6,7 +6,7 @@ namespace Orchard.Users.ViewModels { public class UsersIndexViewModel : BaseViewModel { public class Row { - public User User { get; set; } + public UserPart UserPart { get; set; } } public IList Rows { get; set; } diff --git a/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.aspx b/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.aspx index 7ff82f7bf..41cd5b2ed 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.aspx +++ b/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.aspx @@ -22,14 +22,14 @@ { %> - <%: row.User.UserName %> + <%: row.UserPart.UserName %> - <%: row.User.Email %> + <%: row.UserPart.Email %> - <%: Html.ActionLink(T("Edit").ToString(), "Edit", new { row.User.Id })%> | - <%: Html.ActionLink(T("Remove").ToString(), "Delete", new { row.User.Id })%> + <%: Html.ActionLink(T("Edit").ToString(), "Edit", new { row.UserPart.Id })%> | + <%: Html.ActionLink(T("Remove").ToString(), "Delete", new { row.UserPart.Id })%> <%}%>