Browse Source

Merge pull request #1359 from colinin/fix-text-template

fix(text-templating): failed to fix the change template
pull/1361/head
yx lin 3 months ago
committed by GitHub
parent
commit
da32d64ce4
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 64
      aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/LINGYUN/Abp/TextTemplating/TextTemplateContentAppService.cs
  2. 3
      aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/LINGYUN/Abp/TextTemplating/AbpTextTemplatingDomainModule.cs

64
aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/LINGYUN/Abp/TextTemplating/TextTemplateContentAppService.cs

@ -1,6 +1,8 @@
using Microsoft.AspNetCore.Authorization;
using System;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Localization;
using Volo.Abp.TextTemplating;
namespace LINGYUN.Abp.TextTemplating;
@ -11,22 +13,41 @@ public class TextTemplateContentAppService : AbpTextTemplatingAppServiceBase, IT
protected ITextTemplateRepository TextTemplateRepository { get; }
protected ITemplateContentProvider TemplateContentProvider { get; }
protected ITemplateDefinitionManager TemplateDefinitionManager { get; }
protected ILocalizableStringSerializer LocalizableStringSerializer { get; }
public TextTemplateContentAppService(
ITextTemplateRepository textTemplateRepository,
ITemplateContentProvider templateContentProvider,
ITemplateDefinitionManager templateDefinitionManager)
ITemplateDefinitionManager templateDefinitionManager,
ILocalizableStringSerializer localizableStringSerializer)
{
TextTemplateRepository = textTemplateRepository;
TemplateContentProvider = templateContentProvider;
TemplateDefinitionManager = templateDefinitionManager;
LocalizableStringSerializer = localizableStringSerializer;
}
public async virtual Task<TextTemplateContentDto> GetAsync(TextTemplateContentGetInput input)
{
var templateDefinition = await GetTemplateDefinition(input.Name);
string content = null;
var content = await TemplateContentProvider.GetContentOrNullAsync(templateDefinition.Name, input.Culture);
try
{
content = await TemplateContentProvider.GetContentOrNullAsync(templateDefinition.Name, input.Culture);
}
catch
{
// Ignore
// 场景: 模板未在当前宿主服务中注册时, VirtualPath将抛出异常, 应忽略此异常
// See: https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.TextTemplating.Core/Volo/Abp/TextTemplating/VirtualFiles/LocalizedTemplateContentReaderFactory.cs#L66
}
if (content.IsNullOrWhiteSpace())
{
var textTemplate = await TextTemplateRepository.FindByNameAsync(templateDefinition.Name, input.Culture);
content = textTemplate?.Content;
}
return new TextTemplateContentDto
{
@ -36,41 +57,6 @@ public class TextTemplateContentAppService : AbpTextTemplatingAppServiceBase, IT
};
}
//public virtual Task<PagedResultDto<TextTemplateDefinitionDto>> GetListAsync(TextTemplateDefinitionGetListInput input)
//{
// var templates = new List<TextTemplateDefinitionDto>();
// var templateDefinitions = TemplateDefinitionManager.GetAll();
// var filterTemplates = templateDefinitions
// .WhereIf(!input.Filter.IsNullOrWhiteSpace(), x =>
// x.Name.Contains(input.Filter) || x.Layout.Contains(input.Filter))
// .Skip(input.SkipCount)
// .Take(input.MaxResultCount);
// foreach (var templateDefinition in filterTemplates)
// {
// var layout = templateDefinition.Layout;
// if (!layout.IsNullOrWhiteSpace())
// {
// var layoutDefinition = GetTemplateDefinition(templateDefinition.Layout);
// layout = layoutDefinition.DisplayName.Localize(StringLocalizerFactory);
// }
// var result = new TextTemplateDefinitionDto
// {
// DefaultCultureName = templateDefinition.DefaultCultureName,
// IsInlineLocalized = templateDefinition.IsInlineLocalized,
// IsLayout = templateDefinition.IsLayout,
// Layout = layout,
// Name = templateDefinition.Name,
// DisplayName = templateDefinition.DisplayName.Localize(StringLocalizerFactory),
// };
// templates.Add(result);
// }
// return Task.FromResult(new PagedResultDto<TextTemplateDefinitionDto>(templateDefinitions.Count, templates));
//}
[Authorize(AbpTextTemplatingPermissions.TextTemplateContent.Delete)]
public async virtual Task RestoreToDefaultAsync(string name, TextTemplateRestoreInput input)
{
@ -89,13 +75,13 @@ public class TextTemplateContentAppService : AbpTextTemplatingAppServiceBase, IT
{
var templateDefinition = await GetTemplateDefinition(name);
var template = await TextTemplateRepository.FindByNameAsync(name, input.Culture);
var template = await TextTemplateRepository.FindByNameAsync(templateDefinition.Name, input.Culture);
if (template == null)
{
template = new TextTemplate(
GuidGenerator.Create(),
templateDefinition.Name,
templateDefinition.DisplayName.Localize(StringLocalizerFactory),
LocalizableStringSerializer.Serialize(templateDefinition.DisplayName),
input.Content,
input.Culture);

3
aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/LINGYUN/Abp/TextTemplating/AbpTextTemplatingDomainModule.cs

@ -35,7 +35,8 @@ public class AbpTextTemplatingDomainModule : AbpModule
options.EtoMappings.Add<TextTemplate, TextTemplateEto>();
options.EtoMappings.Add<TextTemplateDefinition, TextTemplateDefinitionEto>();
options.AutoEventSelectors.Add<TextTemplate>();
// TODO: CAP组件异常将导致应用无法启动, 临时禁用
// options.AutoEventSelectors.Add<TextTemplate>();
});
if (context.Services.IsDataMigrationEnvironment())

Loading…
Cancel
Save