Browse Source

Edit role implemented.

pull/184/head
Alper Ebicoglu 8 years ago
parent
commit
b0c63bac57
  1. 39
      src/Volo.Abp.Identity.Web/ObjectMappings/AbpIdentityWebAutoMapperProfile.cs
  2. 32
      src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml
  3. 30
      src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml.cs
  4. 12
      src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateRoleInfoModel.cs
  5. 17
      src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml
  6. 14
      src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml.cs
  7. 1
      src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj

39
src/Volo.Abp.Identity.Web/ObjectMappings/AbpIdentityWebAutoMapperProfile.cs

@ -1,7 +1,7 @@
using AutoMapper;
using Volo.Abp.Identity.Web.Pages.Identity.Roles;
using Volo.Abp.Identity.Web.Pages.Identity.Users;
using EditModalModel = Volo.Abp.Identity.Web.Pages.Identity.Users.EditModalModel;
using CreateUserModalModel = Volo.Abp.Identity.Web.Pages.Identity.Users.CreateModalModel;
using EditUserModalModel = Volo.Abp.Identity.Web.Pages.Identity.Users.EditModalModel;
namespace Volo.Abp.Identity.Web.ObjectMappings
{
@ -9,26 +9,41 @@ namespace Volo.Abp.Identity.Web.ObjectMappings
{
public AbpIdentityWebAutoMapperProfile()
{
//EditModal
CreateUserMappings();
CreateRoleMappings();
}
CreateMap<IdentityUserDto, EditModalModel.UserInfoViewModel>();
private void CreateUserMappings()
{
//List
CreateMap<IdentityUserDto, EditUserModalModel.UserInfoViewModel>();
CreateMap<EditModalModel.UserInfoViewModel, IdentityUserUpdateDto>()
//CreateModal
CreateMap<CreateUserModalModel.UserInfoViewModel, IdentityUserCreateDto>()
.ForMember(dest => dest.RoleNames, opt => opt.Ignore());
CreateMap<IdentityRoleDto, EditModalModel.AssignedRoleViewModel>()
CreateMap<IdentityRoleDto, CreateUserModalModel.AssignedRoleViewModel>()
.ForMember(dest => dest.IsAssigned, opt => opt.Ignore());
CreateMap<IdentityRoleDto, RoleInfoModel>();
//EditModal
CreateMap<EditUserModalModel.UserInfoViewModel, IdentityUserUpdateDto>()
.ForMember(dest => dest.RoleNames, opt => opt.Ignore());
CreateMap<IdentityRoleDto, EditUserModalModel.AssignedRoleViewModel>()
.ForMember(dest => dest.IsAssigned, opt => opt.Ignore());
}
//CreateModal
private void CreateRoleMappings()
{
//List
CreateMap<IdentityRoleDto, RoleInfoModel>();
CreateMap<CreateModalModel.UserInfoViewModel, IdentityUserCreateDto>()
.ForMember(dest => dest.RoleNames, opt => opt.Ignore());
//CreateModal
CreateMap<CreateRoleInfoModel, IdentityRoleCreateDto>();
CreateMap<IdentityRoleDto, CreateModalModel.AssignedRoleViewModel>()
.ForMember(dest => dest.IsAssigned, opt => opt.Ignore());
//EditModal
CreateMap<RoleInfoModel, IdentityRoleUpdateDto>();
}
}
}

32
src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml

@ -0,0 +1,32 @@
@page
@using Microsoft.Extensions.Localization
@using Volo.Abp.Identity.Web.Localization.Resources.AbpIdentity
@model Volo.Abp.Identity.Web.Pages.Identity.Roles.CreateModalModel
@inject IStringLocalizer<IdentityResource> L
@{
Layout = null;
}
<form method="post" asp-page="/Identity/Roles/CreateModal">
<abp-modal>
<abp-modal-header title="@L["NewRole"]"></abp-modal-header>
<abp-modal-body>
<div class="form-group">
<label asp-for="RoleModel.Name"></label>
<input asp-for="RoleModel.Name" class="form-control"/>
<span asp-validation-for="RoleModel.Name" class="text-danger"></span>
</div>
<div asp-validation-summary="All" class="text-danger"></div>
</abp-modal-body>
<abp-modal-footer></abp-modal-footer>
</abp-modal>
</form>

30
src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml.cs

@ -0,0 +1,30 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.RazorPages;
namespace Volo.Abp.Identity.Web.Pages.Identity.Roles
{
public class CreateModalModel : AbpPageModel
{
[BindProperty]
public CreateRoleInfoModel RoleModel { get; set; }
private readonly IIdentityRoleAppService _identityRoleAppService;
public CreateModalModel(IIdentityRoleAppService identityRoleAppService)
{
_identityRoleAppService = identityRoleAppService;
RoleModel = new CreateRoleInfoModel();
}
public async Task<IActionResult> OnPostAsync()
{
ValidateModel();
var input = ObjectMapper.Map<CreateRoleInfoModel, IdentityRoleCreateDto>(RoleModel);
await _identityRoleAppService.CreateAsync(input);
return NoContent();
}
}
}

12
src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateRoleInfoModel.cs

@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace Volo.Abp.Identity.Web.Pages.Identity.Roles
{
public class CreateRoleInfoModel
{
[Required]
[StringLength(IdentityRoleConsts.MaxNameLength)]
[Display(Name = "RoleName")]
public string Name { get; set; }
}
}

17
src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml

@ -7,7 +7,7 @@
Layout = null;
}
<form method="post" asp-page="/Identity/Roles/EditModal">
<form method="post" asp-page="/Identity/Roles/EditModal" autocomplete="off">
<abp-modal>
@ -15,16 +15,13 @@
<abp-modal-body>
<div class="tab-pane active" id="EditUser_UserInfoTab" role="tabpanel">
<input asp-for="RoleInfo.Id" />
<input asp-for="RoleInfo.Id" />
<div class="form-group">
<label asp-for="RoleInfo.Name"></label>
<input asp-for="RoleInfo.Name" class="form-control" />
<span asp-validation-for="RoleInfo.Name" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="RoleInfo.Name"></label>
<input asp-for="RoleInfo.Name" class="form-control"/>
<span asp-validation-for="RoleInfo.Name" class="text-danger"></span>
</div>
<div asp-validation-summary="All" class="text-danger"></div>

14
src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml.cs

@ -19,11 +19,19 @@ namespace Volo.Abp.Identity.Web.Pages.Identity.Roles
public async Task OnGetAsync(Guid id)
{
var role = await _identityRoleAppService.GetAsync(id);
RoleInfo = ObjectMapper.Map<IdentityRoleDto, RoleInfoModel>(role);
RoleInfo = ObjectMapper.Map<IdentityRoleDto, RoleInfoModel>(
await _identityRoleAppService.GetAsync(id)
);
}
public async Task<IActionResult> OnPostAsync()
{
ValidateModel();
var input = ObjectMapper.Map<RoleInfoModel, IdentityRoleUpdateDto>(RoleInfo);
await _identityRoleAppService.UpdateAsync(RoleInfo.Id, input);
return NoContent();
}
}
}

1
src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj

@ -17,6 +17,7 @@
</ItemGroup>
<ItemGroup>
<Content Remove="Pages\Identity\Roles\CreateModal.cshtml" />
<Content Remove="Pages\Identity\Roles\EditModal.cshtml" />
<Content Remove="Pages\Identity\Roles\Index.cshtml" />
</ItemGroup>

Loading…
Cancel
Save