From 02dec7af5109f490917f5365f82e46d40d43238a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 6 Dec 2017 12:03:33 +0300 Subject: [PATCH] Moved to CreateModal page. --- .../Identity/Controllers/UsersController.cs | 113 ++++++++---------- .../Pages/Identity/Users/CreateModal.cshtml | 69 +++++++++++ .../Identity/Users/CreateModal.cshtml.cs | 31 +++++ .../Volo.Abp.Identity.Web.csproj | 8 +- .../modules/identity/views/users/index.js | 2 +- 5 files changed, 154 insertions(+), 69 deletions(-) create mode 100644 src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml create mode 100644 src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml.cs diff --git a/src/Volo.Abp.Identity.Web/Areas/Identity/Controllers/UsersController.cs b/src/Volo.Abp.Identity.Web/Areas/Identity/Controllers/UsersController.cs index 3f10c8bc59..01397cc0d2 100644 --- a/src/Volo.Abp.Identity.Web/Areas/Identity/Controllers/UsersController.cs +++ b/src/Volo.Abp.Identity.Web/Areas/Identity/Controllers/UsersController.cs @@ -9,67 +9,54 @@ using Volo.Abp.Identity.Web.Areas.Identity.Models; namespace Volo.Abp.Identity.Web.Areas.Identity.Controllers { - [Area("Identity")] - [Authorize] - public class UsersController : AbpController - { - private readonly IIdentityUserAppService _identityUserAppService; - private readonly IIdentityRoleAppService _identityRoleAppService; - - public UsersController(IIdentityUserAppService identityUserAppService, IIdentityRoleAppService identityRoleAppService) - { - _identityUserAppService = identityUserAppService; - _identityRoleAppService = identityRoleAppService; - } - - //public async Task Index() - //{ - // return View(); - //} - - public async Task Create() - { - - var model = await CreateViewModel(null); - - return PartialView("_Create", model); - } - - public async Task Update(Guid id) - { - var user = await _identityUserAppService.GetAsync(id); - await _identityRoleAppService.GetAllListAsync(); - var model = await CreateViewModel(user); - - return PartialView("_Update", model); - } - - private async Task CreateViewModel(IdentityUserDto user) - { - var allRoles = await _identityRoleAppService.GetAllListAsync(); - - var model = new CreateOrUpdateUserViewModel - { - User = user ?? new IdentityUserDto(), - Roles = ObjectMapper.Map, IdentityUserRoleDto[]>(allRoles) - }; - - var userRoles = new List(); - - if (user != null) - { - userRoles = (await _identityUserAppService.GetRolesAsync(user.Id)).Items.ToList(); - } - - foreach (var role in model.Roles) - { - if (userRoles.Select(x=>x.Name).Contains(role.Name)) - { - role.IsAssigned = true; - } - } - - return model; - } - } + //[Area("Identity")] + //[Authorize] + //public class UsersController : AbpController + //{ + // private readonly IIdentityUserAppService _identityUserAppService; + // private readonly IIdentityRoleAppService _identityRoleAppService; + + // public UsersController(IIdentityUserAppService identityUserAppService, IIdentityRoleAppService identityRoleAppService) + // { + // _identityUserAppService = identityUserAppService; + // _identityRoleAppService = identityRoleAppService; + // } + + // public async Task Update(Guid id) + // { + // var user = await _identityUserAppService.GetAsync(id); + // await _identityRoleAppService.GetAllListAsync(); + // var model = await CreateViewModel(user); + + // return PartialView("_Update", model); + // } + + // private async Task CreateViewModel(IdentityUserDto user) + // { + // var allRoles = await _identityRoleAppService.GetAllListAsync(); + + // var model = new CreateOrUpdateUserViewModel + // { + // User = user ?? new IdentityUserDto(), + // Roles = ObjectMapper.Map, IdentityUserRoleDto[]>(allRoles) + // }; + + // var userRoles = new List(); + + // if (user != null) + // { + // userRoles = (await _identityUserAppService.GetRolesAsync(user.Id)).Items.ToList(); + // } + + // foreach (var role in model.Roles) + // { + // if (userRoles.Select(x=>x.Name).Contains(role.Name)) + // { + // role.IsAssigned = true; + // } + // } + + // return model; + // } + //} } diff --git a/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml b/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml new file mode 100644 index 0000000000..4fa963db83 --- /dev/null +++ b/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml @@ -0,0 +1,69 @@ +@using Microsoft.Extensions.Localization +@using Volo.Abp.Identity.Web.Areas.Identity.Localization.Resource +@using Volo.Abp.Identity.Web.Pages.Identity.Users +@model CreateModalModel +@inject IStringLocalizer Localizer + + + + + \ No newline at end of file diff --git a/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml.cs b/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml.cs new file mode 100644 index 0000000000..27dbd1c1cd --- /dev/null +++ b/src/Volo.Abp.Identity.Web/Pages/Identity/Users/CreateModal.cshtml.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp.AspNetCore.Mvc.RazorPages; +using Volo.Abp.Threading; + +namespace Volo.Abp.Identity.Web.Pages.Identity.Users +{ + public class CreateModalModel : AbpPageModel + { + public IdentityUserDto User { get; set; } + + public IdentityUserRoleDto[] Roles { get; set; } + + private readonly IIdentityUserAppService _identityUserAppService; + private readonly IIdentityRoleAppService _identityRoleAppService; + + public CreateModalModel(IIdentityUserAppService identityUserAppService, IIdentityRoleAppService identityRoleAppService) + { + _identityUserAppService = identityUserAppService; + _identityRoleAppService = identityRoleAppService; + } + + public void OnGet() + { + User = new IdentityUserDto(); + Roles = ObjectMapper.Map, IdentityUserRoleDto[]>( + AsyncHelper.RunSync(() => _identityRoleAppService.GetAllListAsync()) + ); + } + } +} diff --git a/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj b/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj index 5623c6007e..780ded6d1b 100644 --- a/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj +++ b/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj @@ -1,4 +1,4 @@ - + @@ -7,6 +7,7 @@ Volo.Abp.Identity.Web Volo.Abp.Identity.Web $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Library @@ -15,6 +16,7 @@ + @@ -22,10 +24,6 @@ - - - - diff --git a/src/Volo.Abp.Identity.Web/wwwroot/modules/identity/views/users/index.js b/src/Volo.Abp.Identity.Web/wwwroot/modules/identity/views/users/index.js index 0be81bab6f..b112075442 100644 --- a/src/Volo.Abp.Identity.Web/wwwroot/modules/identity/views/users/index.js +++ b/src/Volo.Abp.Identity.Web/wwwroot/modules/identity/views/users/index.js @@ -71,7 +71,7 @@ _$wrapper.find('.create-user-button').click(function () { $('#createUpdateUserModal').modal('show') .find('.modal-content') - .load(abp.appPath + 'Identity/Users/Create'); + .load(abp.appPath + 'Identity/Users/CreateModal'); }); //TODO: btnCreateUserSave and btnUpdateUserSave clicks should be handled in the modals. We may consider to create a model manager as before