diff --git a/src/Web/Grand.Web.Admin/Controllers/SettingController.cs b/src/Web/Grand.Web.Admin/Controllers/SettingController.cs index d46686f55..ca5247876 100644 --- a/src/Web/Grand.Web.Admin/Controllers/SettingController.cs +++ b/src/Web/Grand.Web.Admin/Controllers/SettingController.cs @@ -116,12 +116,10 @@ public async Task Content() var knowledgebaseSettings = _settingService.LoadSetting(storeScope); var model = new ContentSettingsModel() { BlogSettings = blogSettings.ToModel(), - NewsSettings = newsSettings.ToModel() + NewsSettings = newsSettings.ToModel(), + KnowledgebaseSettings = knowledgebaseSettings.ToModel() }; - model.KnowledgebaseSettings.Enabled = knowledgebaseSettings.Enabled; - model.KnowledgebaseSettings.AllowNotRegisteredUsersToLeaveComments = knowledgebaseSettings.AllowNotRegisteredUsersToLeaveComments; - model.KnowledgebaseSettings.NotifyAboutNewArticleComments = knowledgebaseSettings.NotifyAboutNewArticleComments; - + model.ActiveStore = storeScope; return View(model); } @@ -142,9 +140,7 @@ public async Task Content(ContentSettingsModel model) //knowledgebase var knowledgeBaseSettings = _settingService.LoadSetting(storeScope); - knowledgeBaseSettings.Enabled = model.KnowledgebaseSettings.Enabled; - knowledgeBaseSettings.AllowNotRegisteredUsersToLeaveComments = model.KnowledgebaseSettings.AllowNotRegisteredUsersToLeaveComments; - knowledgeBaseSettings.NotifyAboutNewArticleComments = model.KnowledgebaseSettings.NotifyAboutNewArticleComments; + knowledgeBaseSettings = model.KnowledgebaseSettings.ToEntity(knowledgeBaseSettings); await _settingService.SaveSetting(knowledgeBaseSettings, storeScope); //selected tab diff --git a/src/Web/Grand.Web.Admin/Extensions/Mapping/Settings/KnowledgebaseMappingExtensions.cs b/src/Web/Grand.Web.Admin/Extensions/Mapping/Settings/KnowledgebaseMappingExtensions.cs new file mode 100644 index 000000000..54f81e839 --- /dev/null +++ b/src/Web/Grand.Web.Admin/Extensions/Mapping/Settings/KnowledgebaseMappingExtensions.cs @@ -0,0 +1,18 @@ +using Grand.Domain.Knowledgebase; +using Grand.Infrastructure.Mapper; +using Grand.Web.Admin.Models.Settings; + +namespace Grand.Web.Admin.Extensions +{ + public static class KnowledgebaseSettingsMappingExtensions + { + public static ContentSettingsModel.KnowledgebaseSettingsModel ToModel(this KnowledgebaseSettings entity) + { + return entity.MapTo(); + } + public static KnowledgebaseSettings ToEntity(this ContentSettingsModel.KnowledgebaseSettingsModel model, KnowledgebaseSettings destination) + { + return model.MapTo(destination); + } + } +} \ No newline at end of file diff --git a/src/Web/Grand.Web.Admin/Mapper/KnowledgebaseSettingsProfile.cs b/src/Web/Grand.Web.Admin/Mapper/KnowledgebaseSettingsProfile.cs new file mode 100644 index 000000000..0aeb283d3 --- /dev/null +++ b/src/Web/Grand.Web.Admin/Mapper/KnowledgebaseSettingsProfile.cs @@ -0,0 +1,19 @@ +using AutoMapper; +using Grand.Domain.Knowledgebase; +using Grand.Infrastructure.Mapper; +using Grand.Web.Admin.Models.Settings; + +namespace Grand.Web.Admin.Mapper +{ + public class KnowledgebaseSettingsProfile : Profile, IAutoMapperProfile + { + public KnowledgebaseSettingsProfile() + { + CreateMap() + .ForMember(dest => dest.UserFields, mo => mo.Ignore()); + CreateMap(); + } + + public int Order => 0; + } +} \ No newline at end of file