From b0c63bac5780a31095586174c87e557547d691fd Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Fri, 29 Dec 2017 14:42:16 +0300 Subject: [PATCH] Edit role implemented. --- .../AbpIdentityWebAutoMapperProfile.cs | 39 +++++++++++++------ .../Pages/Identity/Roles/CreateModal.cshtml | 32 +++++++++++++++ .../Identity/Roles/CreateModal.cshtml.cs | 30 ++++++++++++++ .../Identity/Roles/CreateRoleInfoModel.cs | 12 ++++++ .../Pages/Identity/Roles/EditModal.cshtml | 17 ++++---- .../Pages/Identity/Roles/EditModal.cshtml.cs | 14 +++++-- .../Volo.Abp.Identity.Web.csproj | 1 + 7 files changed, 120 insertions(+), 25 deletions(-) create mode 100644 src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml create mode 100644 src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml.cs create mode 100644 src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateRoleInfoModel.cs diff --git a/src/Volo.Abp.Identity.Web/ObjectMappings/AbpIdentityWebAutoMapperProfile.cs b/src/Volo.Abp.Identity.Web/ObjectMappings/AbpIdentityWebAutoMapperProfile.cs index 0b0027cc7a..6d05954565 100644 --- a/src/Volo.Abp.Identity.Web/ObjectMappings/AbpIdentityWebAutoMapperProfile.cs +++ b/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(); + private void CreateUserMappings() + { + //List + CreateMap(); - CreateMap() + //CreateModal + CreateMap() .ForMember(dest => dest.RoleNames, opt => opt.Ignore()); - CreateMap() + CreateMap() .ForMember(dest => dest.IsAssigned, opt => opt.Ignore()); - CreateMap(); + //EditModal + CreateMap() + .ForMember(dest => dest.RoleNames, opt => opt.Ignore()); + CreateMap() + .ForMember(dest => dest.IsAssigned, opt => opt.Ignore()); + } - //CreateModal + private void CreateRoleMappings() + { + //List + CreateMap(); - CreateMap() - .ForMember(dest => dest.RoleNames, opt => opt.Ignore()); + //CreateModal + CreateMap(); - CreateMap() - .ForMember(dest => dest.IsAssigned, opt => opt.Ignore()); + //EditModal + CreateMap(); } + } } diff --git a/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml b/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml new file mode 100644 index 0000000000..c76d414a34 --- /dev/null +++ b/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 L +@{ + Layout = null; +} + +
+ + + + + + + +
+ + + +
+ +
+ +
+ + + +
+ +
diff --git a/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml.cs b/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateModal.cshtml.cs new file mode 100644 index 0000000000..3c0e1dbae0 --- /dev/null +++ b/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 OnPostAsync() + { + ValidateModel(); + + var input = ObjectMapper.Map(RoleModel); + await _identityRoleAppService.CreateAsync(input); + + return NoContent(); + } + } +} \ No newline at end of file diff --git a/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateRoleInfoModel.cs b/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/CreateRoleInfoModel.cs new file mode 100644 index 0000000000..7d98d1bf10 --- /dev/null +++ b/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; } + } +} \ No newline at end of file diff --git a/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml b/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml index ae54404e60..70b6bd3c10 100644 --- a/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml +++ b/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml @@ -7,7 +7,7 @@ Layout = null; } -
+ @@ -15,16 +15,13 @@ -
+ - - -
- - - -
-
+
+ + + +
diff --git a/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml.cs b/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml.cs index 9fe26e56be..29d74108af 100644 --- a/src/Volo.Abp.Identity.Web/Pages/Identity/Roles/EditModal.cshtml.cs +++ b/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(role); + RoleInfo = ObjectMapper.Map( + await _identityRoleAppService.GetAsync(id) + ); } - + public async Task OnPostAsync() + { + ValidateModel(); + + var input = ObjectMapper.Map(RoleInfo); + await _identityRoleAppService.UpdateAsync(RoleInfo.Id, input); + return NoContent(); + } } } \ No newline at end of file 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 a639cf9db1..2431c114a9 100644 --- a/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj +++ b/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj @@ -17,6 +17,7 @@ +