Browse Source

Merge pull request #22903 from abpframework/salihozkara/docs-pdf

Fix: pdf generation
pull/22910/head
Gizem Mutu Kurt 1 year ago
committed by GitHub
parent
commit
bf12905545
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 3
      modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs
  2. 23
      modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs

3
modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs

@ -13,18 +13,15 @@ namespace Volo.Docs.Admin.Pages.Docs.Admin.Projects;
public class GeneratePdfModal : DocsAdminPageModel public class GeneratePdfModal : DocsAdminPageModel
{ {
protected IDocumentPdfGeneratorAppService DocumentPdfGeneratorAppService { get; }
protected IProjectAppService ProjectAppService { get; } protected IProjectAppService ProjectAppService { get; }
protected IProjectAdminAppService ProjectAdminAppService { get; } protected IProjectAdminAppService ProjectAdminAppService { get; }
public GeneratePdfViewModel ViewModel { get; set; } public GeneratePdfViewModel ViewModel { get; set; }
public GeneratePdfModal( public GeneratePdfModal(
IDocumentPdfGeneratorAppService documentPdfGeneratorAppService,
IProjectAppService projectAppService, IProjectAppService projectAppService,
IProjectAdminAppService projectAdminAppService) IProjectAdminAppService projectAdminAppService)
{ {
DocumentPdfGeneratorAppService = documentPdfGeneratorAppService;
ProjectAppService = projectAppService; ProjectAppService = projectAppService;
ProjectAdminAppService = projectAdminAppService; ProjectAdminAppService = projectAdminAppService;
} }

23
modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs

@ -1,7 +1,9 @@
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
using Volo.Abp.Content; using Volo.Abp.Content;
using Volo.Abp.Data;
using Volo.Docs.Projects; using Volo.Docs.Projects;
using Volo.Docs.Projects.Pdf; using Volo.Docs.Projects.Pdf;
@ -24,6 +26,27 @@ public class DocumentPdfGeneratorAppService : ApplicationService, IDocumentPdfGe
public virtual async Task<IRemoteStreamContent> GeneratePdfAsync(DocumentPdfGeneratorInput input) public virtual async Task<IRemoteStreamContent> GeneratePdfAsync(DocumentPdfGeneratorInput input)
{ {
var project = await ProjectRepository.GetAsync(input.ProjectId, includeDetails: true); var project = await ProjectRepository.GetAsync(input.ProjectId, includeDetails: true);
// https://github.com/abpframework/abp/blob/e96f601641ab8a4bb7d704d3b9df2c00517d96f6/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs#L73
var inputVersionStringBuilder = new StringBuilder();
input.Version = inputVersionStringBuilder.Append(GetProjectVersionPrefixIfExist(project)).Append(input.Version).ToString();
return await ProjectPdfGenerator.GenerateAsync(project, input.Version, input.LanguageCode); return await ProjectPdfGenerator.GenerateAsync(project, input.Version, input.LanguageCode);
} }
private string GetProjectVersionPrefixIfExist(Project project)
{
if (GetGithubVersionProviderSource(project) != GithubVersionProviderSource.Branches)
{
return string.Empty;
}
return project.GetProperty<string>("VersionBranchPrefix");
}
private GithubVersionProviderSource GetGithubVersionProviderSource(Project project)
{
return project.HasProperty("GithubVersionProviderSource")
? project.GetProperty<GithubVersionProviderSource>("GithubVersionProviderSource")
: GithubVersionProviderSource.Releases;
}
} }
Loading…
Cancel
Save