#203 more fields in the UI
This commit is contained in:
parent
ff6dd15351
commit
78b9fa1aa4
@ -4,7 +4,7 @@
|
||||
@using System.Linq
|
||||
@{
|
||||
Layout = "_Layout";
|
||||
ViewData["Title"] = "ترجمه / نویسش";
|
||||
ViewData["Title"] = "برگردان / نویسش";
|
||||
await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData);
|
||||
}
|
||||
|
||||
@ -33,105 +33,142 @@ else
|
||||
|
||||
@if (Model.PageInformation.Poem.Previous != null)
|
||||
{
|
||||
<p><a href="/User/Translate?id=@Model.PageInformation.Poem.Previous.Id">ترجمهٔ شعر قبل</a></p>
|
||||
<p><a href="/User/Translate?id=@Model.PageInformation.Poem.Previous.Id">برگردان شعر قبل</a></p>
|
||||
}
|
||||
@if (Model.PageInformation.Poem.Next != null)
|
||||
{
|
||||
<p><a href="/User/Translate?id=@Model.PageInformation.Poem.Next.Id">ترجمهٔ شعر بعد</a></p>
|
||||
<p><a href="/User/Translate?id=@Model.PageInformation.Poem.Next.Id">برگردان شعر بعد</a></p>
|
||||
}
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<p><strong>ترجمهٔ متن:</strong></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
عنوان اصلی:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="color:red" id="original-0">@Model.PageInformation.Poem.Title</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
ترجمهٔ عنوان:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<p><strong>برگردان متن:</strong></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
عنوان اصلی:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="color:red" id="original-0">@Model.PageInformation.Poem.Title</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
برگردان عنوان:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<div type="text" id="id-0" name="id-0" contenteditable="true" style="background-color:white">@Model.Translation.Title</div>
|
||||
|
||||
<div type="text" id="id-0" name="id-0" contenteditable="true" style="background-color:white">@Model.Translation.Title</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@foreach (var verse in Model.Translation.TranslatedVerses)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
بیت @Model.GetVerseCoupletNumber(verse.Verse).ToPersianNumbers()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
مصرع @verse.Verse.VOrder.ToPersianNumbers()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
نوع: @Model.GetVersePosition(verse.Verse)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
متن اصلی:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="color: red" id="original-@($"{verse.Verse.VOrder}")">@verse.Verse.Text</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
برگردان:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div id="id-@($"{verse.Verse.VOrder}")" name="name-@($"{verse.Verse.VOrder}")" contenteditable="true" style="background-color:white">@verse.TText</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@foreach (var verse in Model.Translation.TranslatedVerses)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
<tr>
|
||||
@if (Model.Translation.Published)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
بیت @Model.GetVerseCoupletNumber(verse.Verse).ToPersianNumbers()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
مصرع @verse.Verse.VOrder.ToPersianNumbers()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
نوع: @Model.GetVersePosition(verse.Verse)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
متن اصلی:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="color: red" id="original-@($"{verse.Verse.VOrder}")">@verse.Verse.Text</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
ترجمه:
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div id="id-@($"{verse.Verse.VOrder}")" name="name-@($"{verse.Verse.VOrder}")" contenteditable="true" style="background-color:white">@verse.TText</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<td colspan="2">منتشر شده <input type="checkbox" name="published" id="published" checked /> </td>
|
||||
}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a role="button" id="savecorrections" style="cursor:pointer;width:100%;color:white;background-color:green;display:block" onclick="savePoemCorrections(@Model.PageInformation.Poem.Id, @Model.PageInformation.Poem.Verses.Length)">ذخیره</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><p id="saving"> </p></td>
|
||||
</tr>
|
||||
|
||||
@if (Model.PageInformation.Poem.Previous != null)
|
||||
else
|
||||
{
|
||||
<tr>
|
||||
<td><a href="/User/Translate?id=@Model.PageInformation.Poem.Previous.Id">ترجمهٔ شعر قبل</a></td>
|
||||
</tr>
|
||||
<td colspan="2">منتشر شده <input type="checkbox" name="published" id="published" /> </td>
|
||||
}
|
||||
@if (Model.PageInformation.Poem.Next != null)
|
||||
{
|
||||
<tr>
|
||||
<td><a href="/User/Translate?id=@Model.PageInformation.Poem.Next.Id">ترجمهٔ شعر بعد</a></td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
توضیح این ویرایش:
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" id="description" name="description" value="@Model.Translation.Description" size="50" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
توسط:
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
@Model.Translation.ContributerName
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a role="button" id="savecorrections" style="cursor:pointer;width:100%;color:white;background-color:green;display:block" onclick="savePoemCorrections(@Model.PageInformation.Poem.Id, @Model.PageInformation.Poem.Verses.Length)">ذخیره</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><p id="saving"> </p></td>
|
||||
</tr>
|
||||
|
||||
@if (Model.PageInformation.Poem.Previous != null)
|
||||
{
|
||||
<tr>
|
||||
<td><a href="/User/Translate?id=@Model.PageInformation.Poem.Previous.Id">برگردان شعر قبل</a></td>
|
||||
</tr>
|
||||
}
|
||||
@if (Model.PageInformation.Poem.Next != null)
|
||||
{
|
||||
<tr>
|
||||
<td><a href="/User/Translate?id=@Model.PageInformation.Poem.Next.Id">برگردان شعر بعد</a></td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
|
||||
}
|
||||
@ -10,6 +10,7 @@ using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using RMuseum.Models.Ganjoor;
|
||||
using RMuseum.Models.Ganjoor.ViewModels;
|
||||
using RSecurityBackend.Models.Auth.ViewModels;
|
||||
|
||||
namespace GanjooRazor.Areas.User.Pages
|
||||
{
|
||||
@ -79,6 +80,11 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
return -1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// user info
|
||||
/// </summary>
|
||||
public PublicRAppUser UserInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// get
|
||||
/// </summary>
|
||||
@ -90,6 +96,8 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
{
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
{
|
||||
|
||||
|
||||
HttpResponseMessage response = await secureClient.GetAsync($"{APIRoot.Url}/api/translations/languages");
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
@ -98,6 +106,12 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
}
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
var userInfoResponse = await secureClient.GetAsync($"{APIRoot.Url}/api/users/{Request.Cookies["UserId"]}");
|
||||
if (userInfoResponse.IsSuccessStatusCode)
|
||||
{
|
||||
UserInfo = JsonConvert.DeserializeObject<PublicRAppUser>(await userInfoResponse.Content.ReadAsStringAsync());
|
||||
}
|
||||
|
||||
Languages = JsonConvert.DeserializeObject<GanjoorLanguage[]>(await response.Content.ReadAsStringAsync());
|
||||
|
||||
if(Languages.Length == 0)
|
||||
@ -122,6 +136,8 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
PoemId = PageInformation.Id,
|
||||
Title = "",
|
||||
Published = false,
|
||||
Description = "",
|
||||
ContributerName = UserInfo.NickName == null ? UserInfo.Id.ToString() : UserInfo.NickName,
|
||||
TranslatedVerses = PageInformation.Poem.Verses.Select(v =>
|
||||
new GanjoorVerseTranslationViewModel()
|
||||
{
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<title>
|
||||
گنجور » ترجمهها و نویسهای شعر
|
||||
گنجور » برگردانها و نویسهای شعر
|
||||
</title>
|
||||
<link href="~/css/p7.css" rel="stylesheet" type="text/css" />
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
|
||||
@ -29,12 +29,12 @@
|
||||
if (Model.Languages.Length == 0)
|
||||
{
|
||||
<p>
|
||||
هنوز برای این شعر هیچ ترجمه یا نویسشی ارائه یا منتشر نشده است.
|
||||
هنوز برای این شعر هیچ برگردان یا نویسشی ارائه یا منتشر نشده است.
|
||||
</p>
|
||||
|
||||
@if (Model.LoggedIn)
|
||||
{
|
||||
<a role="button" target="_blank" style="text-decoration: none; cursor: pointer; width: 100%; color: white; background-color: #300; display: block; text-align: center; border-color: #300 " href="/User/Translate?id=@Model.PoemId">ترجمه کنید</a>
|
||||
<a role="button" target="_blank" style="text-decoration: none; cursor: pointer; width: 100%; color: white; background-color: #300; display: block; text-align: center; border-color: #300 " href="/User/Translate?id=@Model.PoemId">برگردان کنید</a>
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@ -25,6 +25,16 @@
|
||||
/// </summary>
|
||||
public bool Published { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// comments or description
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// contributer name
|
||||
/// </summary>
|
||||
public string ContributerName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// translated verses
|
||||
/// </summary>
|
||||
|
||||
@ -6213,6 +6213,16 @@
|
||||
published
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.ViewModels.GanjoorPoemTranslationViewModel.Description">
|
||||
<summary>
|
||||
comments or description
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.ViewModels.GanjoorPoemTranslationViewModel.ContributerName">
|
||||
<summary>
|
||||
contributer name
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.ViewModels.GanjoorPoemTranslationViewModel.TranslatedVerses">
|
||||
<summary>
|
||||
translated verses
|
||||
|
||||
@ -204,7 +204,9 @@ namespace RMuseum.Services.Implementation
|
||||
{
|
||||
Language = dbTranslation.Language,
|
||||
PoemId = poemId,
|
||||
Title = dbTranslation == null ? null : dbTranslation.Title,
|
||||
Title = dbTranslation.Title,
|
||||
Description = dbTranslation.Description,
|
||||
ContributerName = string.IsNullOrEmpty(dbTranslation.User.NickName) ? dbTranslation.User.Id.ToString() : dbTranslation.User.NickName,
|
||||
TranslatedVerses = dbTranslation.Verses.Select(v =>
|
||||
new GanjoorVerseTranslationViewModel()
|
||||
{
|
||||
@ -240,7 +242,7 @@ namespace RMuseum.Services.Implementation
|
||||
{
|
||||
try
|
||||
{
|
||||
var dbTranslations = await _context.GanjoorPoemTranslations.Include(t => t.Verses).Where(t => t.PoemId == poemId && t.Published == true).Include(t => t.Language).OrderBy(t => t.LanguageId).ToArrayAsync();
|
||||
var dbTranslations = await _context.GanjoorPoemTranslations.Include(t => t.Verses).Where(t => t.PoemId == poemId && t.Published == true).Include(t => t.Language).Include(t => t.User).OrderBy(t => t.LanguageId).ToArrayAsync();
|
||||
List<GanjoorPoemTranslationViewModel> res = new List<GanjoorPoemTranslationViewModel>();
|
||||
if (dbTranslations.Length > 0)
|
||||
{
|
||||
@ -255,6 +257,8 @@ namespace RMuseum.Services.Implementation
|
||||
Language = dbTranslation.Language,
|
||||
PoemId = poemId,
|
||||
Title = dbTranslation == null ? null : dbTranslation.Title,
|
||||
Description = dbTranslation.Description,
|
||||
ContributerName = string.IsNullOrEmpty(dbTranslation.User.NickName) ? dbTranslation.User.Id.ToString() : dbTranslation.User.NickName,
|
||||
TranslatedVerses = dbTranslation.Verses.Select(v =>
|
||||
new GanjoorVerseTranslationViewModel()
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user