#125 ability to view an earlier version of a page
This commit is contained in:
parent
6fc5f955ec
commit
c1e346ec50
98
GanjooRazor/Areas/Admin/Pages/EarlierVersion.cshtml
Normal file
98
GanjooRazor/Areas/Admin/Pages/EarlierVersion.cshtml
Normal file
@ -0,0 +1,98 @@
|
||||
@page
|
||||
@model GanjooRazor.Areas.Admin.Pages.EarlierVersionModel
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@{
|
||||
Layout = "_AdminLayout";
|
||||
ViewData["Title"] = "نسخهٔ قدیمی";
|
||||
}
|
||||
|
||||
<h1>@ViewData["Title"]</h1>
|
||||
|
||||
<p>@Model.LastMessage</p>
|
||||
|
||||
@if(Model.EarlierVersion != null)
|
||||
{
|
||||
<table style="width:100%" class="noborder">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">عنوان: </span>
|
||||
</td>
|
||||
<td>
|
||||
<input asp-for="EarlierVersion.Title" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">نامک: </span>
|
||||
</td>
|
||||
<td>
|
||||
<input style="text-align:left;direction:ltr;" asp-for="EarlierVersion.UrlSlug" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">متن: </span>
|
||||
</td>
|
||||
<td>
|
||||
<textarea asp-for="EarlierVersion.HtmlText" tabindex="4" rows="20" cols="80"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">منبع (شعر): </span>
|
||||
</td>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><span>نام:</span> <input asp-for="EarlierVersion.SourceName" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span>نشانی:</span> <input style="text-align:left;direction:ltr;" asp-for="EarlierVersion.SourceUrlSlug" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">دستهبندی کهن (شعر): </span>
|
||||
</td>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><span>نام:</span> <input asp-for="EarlierVersion.OldTag" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span>نشانی:</span> <input style="text-align:left;direction:ltr;" asp-for="EarlierVersion.OldTagPageUrl" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">وزن (شعر): </span>
|
||||
</td>
|
||||
<td>
|
||||
<input asp-for="EarlierVersion.Rhythm" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">حروف قافیه (شعر): </span>
|
||||
</td>
|
||||
<td>
|
||||
<input asp-for="EarlierVersion.RhymeLetters" />
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">توضیح این ویرایش: </span>
|
||||
</td>
|
||||
<td>
|
||||
<input asp-for="EarlierVersion.Note" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
}
|
||||
53
GanjooRazor/Areas/Admin/Pages/EarlierVersion.cshtml.cs
Normal file
53
GanjooRazor/Areas/Admin/Pages/EarlierVersion.cshtml.cs
Normal file
@ -0,0 +1,53 @@
|
||||
using GanjooRazor.Utils;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Newtonsoft.Json;
|
||||
using RMuseum.Models.Ganjoor.ViewModels;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace GanjooRazor.Areas.Admin.Pages
|
||||
{
|
||||
public class EarlierVersionModel : PageModel
|
||||
{
|
||||
/// <summary>
|
||||
/// last message
|
||||
/// </summary>
|
||||
public string LastMessage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// model
|
||||
/// </summary>
|
||||
[BindProperty]
|
||||
public GanjoorModifyPageViewModel EarlierVersion { get; set; }
|
||||
|
||||
public async Task<IActionResult> OnGetAsync()
|
||||
{
|
||||
LastMessage = "";
|
||||
|
||||
using (HttpClient secureClient = new HttpClient())
|
||||
{
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
{
|
||||
var response = await secureClient.GetAsync($"{APIRoot.Url}/api/ganjoor/oldversion/{Request.Query["id"]}");
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
LastMessage = await response.Content.ReadAsStringAsync();
|
||||
}
|
||||
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
EarlierVersion = JsonConvert.DeserializeObject<GanjoorModifyPageViewModel>(await response.Content.ReadAsStringAsync());
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
LastMessage = "لطفا از گنجور خارج و مجددا به آن وارد شوید.";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return Page();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -23,7 +23,7 @@
|
||||
{
|
||||
<tr id="tr-@olderVersion.Id">
|
||||
<td>
|
||||
<a href="/Admin/ViewPageHistory?id=@olderVersion.Id">@olderVersion.Id</a>
|
||||
<a href="/Admin/EarlierVersion?id=@olderVersion.Id">@olderVersion.Id</a>
|
||||
</td>
|
||||
<td>
|
||||
@olderVersion.RecordDate.ToFriendlyPersianDateTextify()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user