Browse Source

add version check

pull/19419/head
Salih 2 years ago
parent
commit
bd6de9b9fa
  1. 27
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs

27
modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs

@ -12,6 +12,7 @@ using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Domain.Entities;
using Volo.Docs.Documents;
@ -48,6 +49,8 @@ namespace Volo.Docs.Pages.Documents.Project
public ProjectDto Project { get; set; }
public LanguageConfig LanguageConfig { get; set; }
public ListResultDto<VersionInfoDto> Versions { get; set; }
public List<SelectListItem> LanguageSelectListItems { get; set; }
@ -163,6 +166,11 @@ namespace Volo.Docs.Pages.Documents.Project
{
return RedirectToDefaultLanguage();
}
if (!CheckVersion())
{
return RedirectToDefaultVersion();
}
if (IsDocumentCultureDifferentThanCurrent())
{
@ -238,6 +246,11 @@ namespace Volo.Docs.Pages.Documents.Project
{
return LanguageConfig.Languages.Any(l => l.Code.Equals(LanguageCode, StringComparison.OrdinalIgnoreCase));
}
private bool CheckVersion()
{
return Version == DocsAppConsts.Latest || Versions.Items.Any(v => v.Name.Equals(Version, StringComparison.OrdinalIgnoreCase));
}
private IActionResult ReloadPageWithCulture()
{
@ -280,6 +293,16 @@ namespace Volo.Docs.Pages.Documents.Project
documentName : DocumentName
));
}
private IActionResult RedirectToDefaultVersion()
{
return RedirectToPage(BuildDocumentUrl(
projectName : ProjectName,
version : DocsAppConsts.Latest,
languageCode : LanguageCode,
documentName : DocumentName
));
}
private IActionResult RedirectToDefaultDocument()
{
@ -320,8 +343,8 @@ namespace Volo.Docs.Pages.Documents.Project
Version = DocsAppConsts.Latest;
}
var output = await _projectAppService.GetVersionsAsync(Project.ShortName);
var versions = output.Items
Versions = await _projectAppService.GetVersionsAsync(Project.ShortName);
var versions = Versions.Items
.Select(v => new VersionInfoViewModel(v.DisplayName, v.Name))
.ToList();

Loading…
Cancel
Save