Browse Source

add version check

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

Loading…
Cancel
Save