diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/CmsKitAdminApplicationContractsModule.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/CmsKitAdminApplicationContractsModule.cs index 83bae35311..1e92d382b2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/CmsKitAdminApplicationContractsModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/CmsKitAdminApplicationContractsModule.cs @@ -61,8 +61,8 @@ public class CmsKitAdminApplicationContractsModule : AbpModule ModuleExtensionConfigurationHelper.ApplyEntityConfigurationToApi( CmsKitModuleExtensionConsts.ModuleName, CmsKitModuleExtensionConsts.EntityNames.MenuItem, - createApiTypes: new[] { typeof(MenuCreateInput) }, - updateApiTypes: new[] { typeof(MenuUpdateInput) } + createApiTypes: new[] { typeof(MenuCreateInput) , typeof(MenuItemCreateInput)}, + updateApiTypes: new[] { typeof(MenuUpdateInput) , typeof(MenuItemUpdateInput)} ); ModuleExtensionConfigurationHelper.ApplyEntityConfigurationToApi( diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs index 5736048076..d5f32c4bfc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs @@ -6,6 +6,7 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; +using Volo.Abp.ObjectExtending; using Volo.CmsKit.Blogs; using Volo.CmsKit.Features; using Volo.CmsKit.GlobalFeatures; @@ -56,7 +57,8 @@ public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppServi public virtual async Task CreateAsync(CreateBlogDto input) { var blog = await BlogManager.CreateAsync(input.Name, input.Slug); - + input.MapExtraPropertiesTo(blog); + await BlogRepository.InsertAsync(blog, autoSave: true); await BlogFeatureManager.SetDefaultsAsync(blog.Id); @@ -70,7 +72,7 @@ public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppServi var blog = await BlogRepository.GetAsync(id); blog = await BlogManager.UpdateAsync(blog, input.Name, input.Slug); - + input.MapExtraPropertiesTo(blog); blog.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); await BlogRepository.UpdateAsync(blog); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs index 297e70344f..f396e3edd5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs @@ -6,6 +6,7 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; +using Volo.Abp.ObjectExtending; using Volo.Abp.Users; using Volo.CmsKit.Admin.MediaDescriptors; using Volo.CmsKit.Blogs; @@ -59,7 +60,7 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe input.Content, input.CoverImageMediaId ); - + input.MapExtraPropertiesTo(blogPost); await BlogPostRepository.InsertAsync(blogPost); return ObjectMapper.Map(blogPost); @@ -85,7 +86,8 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe { await BlogPostManager.SetSlugUrlAsync(blogPost, input.Slug); } - + input.MapExtraPropertiesTo(blogPost); + await BlogPostRepository.UpdateAsync(blogPost); return ObjectMapper.Map(blogPost); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs index 3ba2a4b5b9..8eac471a22 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs @@ -6,6 +6,7 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; +using Volo.Abp.ObjectExtending; using Volo.CmsKit.Features; using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Menus; @@ -69,7 +70,7 @@ public class MenuItemAdminAppService : CmsKitAdminAppServiceBase, IMenuItemAdmin { MenuManager.SetPageUrl(menuItem, await PageRepository.GetAsync(input.PageId.Value)); } - + input.MapExtraPropertiesTo(menuItem); await MenuItemRepository.InsertAsync(menuItem); return ObjectMapper.Map(menuItem); @@ -96,7 +97,7 @@ public class MenuItemAdminAppService : CmsKitAdminAppServiceBase, IMenuItemAdmin menuItem.ElementId = input.ElementId; menuItem.CssClass = input.CssClass; menuItem.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); - + input.MapExtraPropertiesTo(menuItem); await MenuItemRepository.UpdateAsync(menuItem); return ObjectMapper.Map(menuItem); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs index 16c39dd859..e858bab189 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs @@ -7,6 +7,7 @@ using Volo.Abp.Caching; using Volo.Abp.Data; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; +using Volo.Abp.ObjectExtending; using Volo.CmsKit.Features; using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Pages; @@ -62,7 +63,7 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi public virtual async Task CreateAsync(CreatePageInputDto input) { var page = await PageManager.CreateAsync(input.Title, input.Slug, input.Content, input.Script, input.Style); - + input.MapExtraPropertiesTo(page); await PageRepository.InsertAsync(page); return ObjectMapper.Map(page); @@ -84,6 +85,7 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi page.SetScript(input.Script); page.SetStyle(input.Style); page.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); + input.MapExtraPropertiesTo(page); await PageRepository.UpdateAsync(page); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs index 46324937cc..d856fa8511 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs @@ -8,6 +8,7 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; +using Volo.Abp.ObjectExtending; using Volo.CmsKit.Features; using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Permissions; @@ -44,7 +45,7 @@ public class TagAdminAppService : CmsKitAppServiceBase, ITagAdminAppService GuidGenerator.Create(), input.EntityType, input.Name); - + input.MapExtraPropertiesTo(tag); await Repository.InsertAsync(tag); return ObjectMapper.Map(tag); @@ -56,6 +57,7 @@ public class TagAdminAppService : CmsKitAppServiceBase, ITagAdminAppService var tag = await TagManager.UpdateAsync( id, input.Name); + input.MapExtraPropertiesTo(tag); tag.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs index 68220dd9ef..cd01a3fd88 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs @@ -14,7 +14,6 @@ using Volo.Abp.UI.Navigation; using Volo.Abp.VirtualFileSystem; using Volo.CmsKit.Admin.MediaDescriptors; using Volo.CmsKit.Admin.Web.Menus; -using Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags; using Volo.CmsKit.Localization; using Volo.CmsKit.Permissions; using Volo.CmsKit.Web; @@ -187,7 +186,38 @@ public class CmsKitAdminWebModule : AbpModule createFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.CreateModalModel.CreateBlogViewModel) }, editFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.UpdateModalModel.UpdateBlogViewModel) } ); - + + ModuleExtensionConfigurationHelper + .ApplyEntityConfigurationToUi( + CmsKitModuleExtensionConsts.ModuleName, + CmsKitModuleExtensionConsts.EntityNames.BlogPost, + createFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts.CreateModel.CreateBlogPostViewModel) }, + editFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts.UpdateModel.UpdateBlogPostViewModel) } + ); + + ModuleExtensionConfigurationHelper + .ApplyEntityConfigurationToUi( + CmsKitModuleExtensionConsts.ModuleName, + CmsKitModuleExtensionConsts.EntityNames.MenuItem, + createFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.CreateModalModel.MenuItemCreateViewModel) }, + editFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.UpdateModalModel.MenuItemUpdateViewModel) } + ); + + ModuleExtensionConfigurationHelper + .ApplyEntityConfigurationToUi( + CmsKitModuleExtensionConsts.ModuleName, + CmsKitModuleExtensionConsts.EntityNames.Page, + createFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.CreateModel.CreatePageViewModel) }, + editFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel) } + ); + + ModuleExtensionConfigurationHelper + .ApplyEntityConfigurationToUi( + CmsKitModuleExtensionConsts.ModuleName, + CmsKitModuleExtensionConsts.EntityNames.Tag, + createFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags.CreateModalModel.TagCreateViewModel) }, + editFormTypes: new[] { typeof(Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags.EditModalModel.TagEditViewModel) } + ); }); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs index ff2c58e5e2..83fa3d0285 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs @@ -26,6 +26,7 @@ public class CreateModel : CmsKitAdminPageModel IBlogPostAdminAppService blogPostAdminAppService) { BlogPostAdminAppService = blogPostAdminAppService; + ViewModel = new CreateBlogPostViewModel(); } public async Task OnPostAsync()