Projects (GanjooRazor -> DivanRazor, GanjoorService.sln -> DivanService.sln), files, folders, classes, namespaces, settings, API routes (/api/divan) and DB tables (Divan*). External addresses (ganjoor.net, github.com/ganjoor) unchanged. Migrations renamed consistently (no pending model changes); requires a fresh database. Upstream RUNNING_LOCALLY/SEMANTIC_SEARCH docs archived unmodified under docs/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
527 lines
27 KiB
Plaintext
527 lines
27 KiB
Plaintext
@page
|
||
@model DivanRazor.Areas.Admin.Pages.ReviewPartEditsModel
|
||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||
@using DNTPersianUtils.Core
|
||
@{
|
||
Layout = "_AdminLayout";
|
||
}
|
||
|
||
@if (Model.DeletedUserSections)
|
||
{
|
||
ViewData["Title"] = "وزنهای نیافته";
|
||
}
|
||
else
|
||
{
|
||
ViewData["Title"] = "بازبینی ویرایشهای قطعات";
|
||
}
|
||
|
||
<div class="up-page-header">
|
||
<h1>@ViewData["Title"]</h1>
|
||
</div>
|
||
|
||
<div class="up-form-actions" style="margin-bottom:var(--up-space-3);">
|
||
@if (Model.DeletedUserSections == false)
|
||
{
|
||
<a role="button" href="/Admin/ReviewPartEdits/?deletedUserSections=true" class="up-btn up-btn--ghost">وزنهای نیافته</a>
|
||
}
|
||
else
|
||
{
|
||
<a role="button" href="/Admin/ReviewPartEdits" class="up-btn up-btn--ghost">پیشنهادهای عادی</a>
|
||
}
|
||
</div>
|
||
|
||
@if (!string.IsNullOrEmpty(Model.FatalError))
|
||
{
|
||
<div class="up-alert up-alert--danger">@Model.FatalError</div>
|
||
}
|
||
else if (Model.Correction == null)
|
||
{
|
||
<partial name="_EmptyState" model="@("ویرایشی وجود ندارد.")" />
|
||
}
|
||
else if (Model.DeletedUserSections)
|
||
{
|
||
<div class="up-card">
|
||
<p class="up-hint">تعداد کل: @Model.TotalCount</p>
|
||
<p><a role="button" target="_blank" href="@Model.PageInformation.FullUrl" class="up-btn up-btn--ghost up-btn--sm">@Model.PageInformation.FullTitle</a></p>
|
||
|
||
<div>@Html.Raw(Model.PoemSection.HtmlText)</div>
|
||
|
||
<div class="up-field">
|
||
<label for="select-search">جستجوی وزن</label>
|
||
<input type="text" id="select-search" value="" oninput="doSearchInRhythmsCombo('select-search', 'rhythm-new')" list="inputRhythms" autocomplete="off" autofocus />
|
||
<datalist id="inputRhythms">
|
||
@if (Model.RhythmsByVerseCount != null)
|
||
{
|
||
foreach (var rhythm in Model.RhythmsByVerseCount)
|
||
{
|
||
<option value="@rhythm.Rhythm">@rhythm.Rhythm</option>
|
||
}
|
||
}
|
||
</datalist>
|
||
</div>
|
||
|
||
<script>
|
||
function suggestRhythmForDeletedUser(id, correctionId) {
|
||
var rhythm_new = $('#rhythm-new').val();
|
||
|
||
$('#savecorrections').hide();
|
||
$('#saving').text('در حال ذخیره ...');
|
||
|
||
var url = '?handler=SuggestRhythm';
|
||
|
||
$.ajax({
|
||
type: "POST",
|
||
url: url,
|
||
data: {
|
||
sectionId: id,
|
||
correctionId: correctionId,
|
||
rhythm: rhythm_new
|
||
},
|
||
success: function () {
|
||
location.reload(true);
|
||
},
|
||
error: function (e) {
|
||
upToast(e.responseText || 'خطا رخ داد.', 'error');
|
||
$('#savecorrections').show();
|
||
$('#saving').text('');
|
||
}
|
||
|
||
});
|
||
}
|
||
</script>
|
||
|
||
<div class="up-field">
|
||
<label for="rhythm-new">وزن انتخاب شده</label>
|
||
<select id="rhythm-new" name="rhythm-new">
|
||
@foreach (var rhythm in Model.RhythmsAlphabetically)
|
||
{
|
||
<option value="@rhythm.Rhythm">@(rhythm.Rhythm == "" ? "هیچکدام" : rhythm.Rhythm == "null" ? "وزنیابی نشده" : rhythm.Rhythm)</option>
|
||
}
|
||
</select>
|
||
<div class="up-form-actions" style="margin-top:var(--up-space-2);">
|
||
<a role="button" onclick="resetRhythm('rhythm-new')" class="up-btn up-btn--ghost up-btn--sm">پاک کردن وزن</a>
|
||
<a role="button" onclick="newRhythm()" class="up-btn up-btn--ghost up-btn--sm">پیشنهاد وزن جدید</a>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
function newRhythm() {
|
||
var rhythm = prompt("پیشنهاد وزن جدید", "");
|
||
if (rhythm != null) {
|
||
var select = document.getElementById('rhythm-new');
|
||
var options = select.options;
|
||
for (let i = 0; i < options.length; i++) {
|
||
if (options[i].value == rhythm) {
|
||
upToast('وزن پیشنهادی تکراری است.', 'error');
|
||
return;
|
||
}
|
||
}
|
||
var opt = document.createElement('option');
|
||
opt.value = rhythm;
|
||
opt.innerHTML = rhythm;
|
||
select.appendChild(opt);
|
||
|
||
var opt2 = document.createElement('option');
|
||
opt2.value = rhythm;
|
||
opt2.innerHTML = rhythm;
|
||
document.getElementById('rhythm-new2').appendChild(opt2);
|
||
|
||
upToast('وزن پیشنهادی به انتهای لیست وزنها اضافه شده. لطفاً از لیست آن را انتخاب کنید.', 'success');
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<div class="up-form-actions">
|
||
<a role="button" id="savecorrections" class="up-btn up-btn--success" onclick="suggestRhythmForDeletedUser(@Model.PoemSection.Id, @Model.Correction.Id)">ذخیره</a>
|
||
</div>
|
||
</div>
|
||
}
|
||
else
|
||
{
|
||
<script>
|
||
function moderateSectionCorrections(correctionId, verseCount) {
|
||
|
||
$('#moderatecorrections').hide();
|
||
$('#saving').text('در حال بررسی ...');
|
||
|
||
var breakFromVIndices = [];
|
||
for (var i = 0; i <= verseCount; i++) {
|
||
var checkVIndex = '#break-from-' + i.toString();
|
||
if ($(checkVIndex).is(":checked")) {
|
||
breakFromVIndices.push(i);
|
||
}
|
||
}
|
||
|
||
if (breakFromVIndices.length > 10) {
|
||
upToast('حداکثر از ۱۰ محل میتوانید قطعه را بشکنید.', 'error');
|
||
return;
|
||
}
|
||
|
||
var rhythmReviewResult = 'DontCare';
|
||
if ($('#rhythm_review_result_Approved').length > 0) {
|
||
rhythmReviewResult = $('input[name=rhythm_review_result]:checked').val()
|
||
}
|
||
|
||
var rhymeReviewResult = 'DontCare';
|
||
if ($('#rhyme_review_result_Approved').length > 0) {
|
||
rhymeReviewResult = $('input[name=rhyme_review_result]:checked').val()
|
||
}
|
||
|
||
var languageReviewResult = 'DontCare';
|
||
if ($('#language_review_result_Approved').length > 0) {
|
||
languageReviewResult = $('input[name=language_review_result]:checked').val()
|
||
}
|
||
|
||
var poemformatReviewResult = 'DontCare';
|
||
if ($('#poemformat_review_result_Approved').length > 0) {
|
||
poemformatReviewResult = $('input[name=poemformat_review_result]:checked').val()
|
||
}
|
||
|
||
var url = '?handler=SendCorrectionsModeration';
|
||
|
||
$.ajax({
|
||
type: "POST",
|
||
url: url,
|
||
data: {
|
||
correctionId: correctionId,
|
||
rhythmReviewResult: rhythmReviewResult,
|
||
rhymeReviewResult: rhymeReviewResult,
|
||
breakFromVIndices: breakFromVIndices,
|
||
titleReviewNote: $('#title_review_note') == null ? null : $('#title_review_note').val(),
|
||
languageReviewResult: languageReviewResult,
|
||
languageReviewNote: $('#language_review_note') == null ? null : $('#language_review_note').val(),
|
||
poemformatReviewResult: poemformatReviewResult,
|
||
poemformatReviewNote: $('#poemformat_review_note') == null ? null : $('#poemformat_review_note').val(),
|
||
reviewNote: $('#review_note').val()
|
||
},
|
||
success: function () {
|
||
location.reload(true);
|
||
},
|
||
error: function (e) {
|
||
upToast(e.responseText || 'خطا رخ داد.', 'error');
|
||
$('#moderatecorrections').show();
|
||
$('#saving').text('');
|
||
}
|
||
});
|
||
}
|
||
|
||
function checkAllNotCorrect(verseCount) {
|
||
var breakFromVIndices = [];
|
||
for (var i = 0; i <= verseCount; i++) {
|
||
var checkVIndex = '#break-from-' + i.toString();
|
||
if ($(checkVIndex).is(":checked")) {
|
||
$(checkVIndex).prop("checked", false);
|
||
}
|
||
}
|
||
var allNotCorrect = document.getElementsByClassName("radio-notcorrect");
|
||
for (var i = 0; i < allNotCorrect.length; i++) {
|
||
allNotCorrect[i].checked = true;
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<p><a role="button" target="_blank" href="@Model.PageInformation.FullUrl" class="up-btn up-btn--ghost up-btn--sm">@Model.PageInformation.FullTitle</a></p>
|
||
<p><a href="/User/AllPoemSections?id=@Model.PageInformation.Id" class="up-btn up-btn--ghost up-btn--sm">همهٔ قطعات شعر</a></p>
|
||
|
||
<div class="up-card">
|
||
<div class="up-field">
|
||
<label>پیشنهاد دهنده</label>
|
||
<div class="up-field-static"><a href="/hashieha/?userid=@Model.Correction.UserId" target="_blank">@Model.Correction.UserNickname</a></div>
|
||
</div>
|
||
<div class="up-field">
|
||
<label>زمان</label>
|
||
<div class="up-field-static">@Model.Correction.Date.ToFriendlyPersianDateTextify()</div>
|
||
</div>
|
||
<p class="up-hint">تعداد کل: @Model.TotalCount</p>
|
||
<div class="up-field">
|
||
<label>شکستن</label>
|
||
@if (Model.Correction.BreakFromVerse1VOrder != null)
|
||
{
|
||
<span class="up-badge up-badge--danger">دارد</span>
|
||
}
|
||
else
|
||
{
|
||
<span class="up-badge">ندارد</span>
|
||
}
|
||
</div>
|
||
|
||
<div class="up-form-actions">
|
||
<a role="button" onclick="checkAllNotCorrect(@Model.Verses.Count)" class="up-btn up-btn--ghost up-btn--sm">درست نیست</a>
|
||
</div>
|
||
|
||
<p id="saving" class="up-hint"> </p>
|
||
|
||
@if (Model.TextSourceImage != null)
|
||
{
|
||
<div class="related-images">
|
||
<div class="related-image-container">
|
||
<a target="_blank" href="@Html.Raw(Model.TextSourceImage.TargetPageUrl)">
|
||
<img src="@Html.Raw(Model.TextSourceImage.ThumbnailImageUrl)" alt="@Model.TextSourceImage.AltText" loading="lazy" width="200" class="related-image">
|
||
</a>
|
||
</div>
|
||
</div>
|
||
}
|
||
|
||
@if (Model.Correction.Rhythm != null)
|
||
{
|
||
<h2 class="up-card__title">وزن</h2>
|
||
<div>@Html.Raw(Model.PoemSection.HtmlText)</div>
|
||
<div class="up-field">
|
||
<label>متن اولیه</label>
|
||
<p class="red-color">@Model.Correction.OriginalRhythm</p>
|
||
</div>
|
||
<div class="up-field">
|
||
<label>پیشنهاد</label>
|
||
<p class="green-color">@Model.Correction.Rhythm</p>
|
||
</div>
|
||
<div class="up-field">
|
||
@if (Model.Correction.RhythmResult == RMuseum.Models.Divan.CorrectionReviewResult.NotChanged)
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhythm_review_result_Approved" name="rhythm_review_result" class="radio-approved" value="@RMuseum.Models.Divan.CorrectionReviewResult.Approved">
|
||
<label for="rhythm_review_result_Approved">تأیید میشود</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhythm_review_result_NotChanged" name="rhythm_review_result" class="radio-notchanged" value="@RMuseum.Models.Divan.CorrectionReviewResult.NotChanged" checked="checked">
|
||
<label for="rhythm_review_result_NotChanged">تغییری نکرده</label>
|
||
</div>
|
||
}
|
||
else
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhythm_review_result_Approved" name="rhythm_review_result" class="radio-approved" value="@RMuseum.Models.Divan.CorrectionReviewResult.Approved" checked="checked">
|
||
<label for="rhythm_review_result_Approved">تأیید میشود</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhythm_review_result_NotChanged" name="rhythm_review_result" class="radio-notchanged" value="@RMuseum.Models.Divan.CorrectionReviewResult.NotChanged">
|
||
<label for="rhythm_review_result_NotChanged">تغییری نکرده</label>
|
||
</div>
|
||
}
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhythm_review_result_RejectedBecauseWrong" name="rhythm_review_result" class="radio-notcorrect" value="@RMuseum.Models.Divan.CorrectionReviewResult.RejectedBecauseWrong">
|
||
<label for="rhythm_review_result_RejectedBecauseWrong">درست نیست</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhythm_review_result_RejectedBecauseVariant" name="rhythm_review_result" class="radio-variant" value="@RMuseum.Models.Divan.CorrectionReviewResult.RejectedBecauseVariant">
|
||
<label for="rhythm_review_result_Rejected">به دلیل دیگری رد میشود</label>
|
||
</div>
|
||
<input type="text" id="title_review_note" name="title_review_note" value="" placeholder="یادداشت بررسی" />
|
||
</div>
|
||
}
|
||
|
||
@if (Model.Correction.RhymeLetters != null)
|
||
{
|
||
<h2 class="up-card__title">قافیه</h2>
|
||
@if (Model.Correction.Rhythm == null)
|
||
{
|
||
<div>@Html.Raw(Model.PoemSection.HtmlText)</div>
|
||
}
|
||
<div class="up-field">
|
||
<label>متن اولیه</label>
|
||
<p class="red-color">@Model.PoemSection.RhymeLetters</p>
|
||
</div>
|
||
<div class="up-field">
|
||
<label>پیشنهاد</label>
|
||
<p class="green-color">@Model.Correction.RhymeLetters</p>
|
||
</div>
|
||
<div class="up-field">
|
||
@if (Model.Correction.RhymeLettersReviewResult == RMuseum.Models.Divan.CorrectionReviewResult.NotChanged)
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhyme_review_result_Approved" name="rhyme_review_result" class="radio-approved" value="@RMuseum.Models.Divan.CorrectionReviewResult.Approved">
|
||
<label for="rhyme_review_result_Approved">تأیید میشود</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhyme_review_result_NotChanged" name="rhyme_review_result" class="radio-notchanged" value="@RMuseum.Models.Divan.CorrectionReviewResult.NotChanged" checked="checked">
|
||
<label for="rhyme_review_result_NotChanged">تغییری نکرده</label>
|
||
</div>
|
||
}
|
||
else
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhyme_review_result_Approved" name="rhyme_review_result" class="radio-approved" value="@RMuseum.Models.Divan.CorrectionReviewResult.Approved" checked="checked">
|
||
<label for="rhyme_review_result_Approved">تأیید میشود</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhyme_review_result_NotChanged" name="rhyme_review_result" class="radio-notchanged" value="@RMuseum.Models.Divan.CorrectionReviewResult.NotChanged">
|
||
<label for="rhyme_review_result_NotChanged">تغییری نکرده</label>
|
||
</div>
|
||
}
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhyme_review_result_RejectedBecauseWrong" name="rhyme_review_result" class="radio-notcorrect" value="@RMuseum.Models.Divan.CorrectionReviewResult.RejectedBecauseWrong">
|
||
<label for="rhyme_review_result_RejectedBecauseWrong">درست نیست</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="rhyme_review_result_RejectedBecauseVariant" name="rhyme_review_result" class="radio-variant" value="@RMuseum.Models.Divan.CorrectionReviewResult.RejectedBecauseVariant">
|
||
<label for="rhyme_review_result_Rejected">به دلیل دیگری رد میشود</label>
|
||
</div>
|
||
<input type="text" id="title_review_note" name="title_review_note" value="" placeholder="یادداشت بررسی" />
|
||
</div>
|
||
}
|
||
|
||
@if (Model.Correction.Language != null)
|
||
{
|
||
<h2 class="up-card__title">زبان</h2>
|
||
<div class="up-field">
|
||
<label>متن اولیه</label>
|
||
<p id="original-language" class="red-color">@Model.Correction.OriginalLanguage</p>
|
||
</div>
|
||
<div class="up-field">
|
||
<label>پیشنهاد</label>
|
||
<p id="edited-language" class="green-color">@Model.Correction.Language</p>
|
||
</div>
|
||
<div class="up-field">
|
||
@if (Model.Correction.LanguageReviewResult == RMuseum.Models.Divan.CorrectionReviewResult.NotChanged)
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="language_review_result_Approved" name="language_review_result" class="radio-approved" value="@RMuseum.Models.Divan.CorrectionReviewResult.Approved">
|
||
<label for="language_review_result_Approved">تأیید میشود</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="language_review_result_NotChanged" name="language_review_result" class="radio-notchanged" value="@RMuseum.Models.Divan.CorrectionReviewResult.NotChanged" checked="checked">
|
||
<label for="language_review_result_NotChanged">تغییری نکرده</label>
|
||
</div>
|
||
}
|
||
else
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="language_review_result_Approved" name="language_review_result" class="radio-approved" value="@RMuseum.Models.Divan.CorrectionReviewResult.Approved" checked="checked">
|
||
<label for="language_review_result_Approved">تأیید میشود</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="language_review_result_NotChanged" name="language_review_result" class="radio-notchanged" value="@RMuseum.Models.Divan.CorrectionReviewResult.NotChanged">
|
||
<label for="language_review_result_NotChanged">تغییری نکرده</label>
|
||
</div>
|
||
}
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="language_review_result_RejectedBecauseWrong" name="language_review_result" class="radio-notcorrect" value="@RMuseum.Models.Divan.CorrectionReviewResult.RejectedBecauseWrong">
|
||
<label for="language_review_result_RejectedBecauseWrong">درست نیست</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="language_review_result_RejectedBecauseVariant" name="language_review_result" class="radio-variant" value="@RMuseum.Models.Divan.CorrectionReviewResult.RejectedBecauseVariant">
|
||
<label for="language_review_result_RejectedBecauseUnnecessaryChange">تغییر سلیقهای یا بی دلیل است</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="language_review_result_Rejected" name="language_review_result" class="radio-rejected" value="@RMuseum.Models.Divan.CorrectionReviewResult.Rejected">
|
||
<label for="language_review_result_Rejected">به دلیل دیگری رد میشود</label>
|
||
</div>
|
||
<input type="text" id="language_review_note" name="language_review_note" value="" placeholder="یادداشت بررسی" />
|
||
</div>
|
||
}
|
||
|
||
@if (Model.Correction.PoemFormat != null)
|
||
{
|
||
<h2 class="up-card__title">قالب شعری</h2>
|
||
<div class="up-field">
|
||
<label>متن اولیه</label>
|
||
<p id="original-poemformat" class="red-color">@RMuseum.Services.Implementation.DivanPoemFormatConvertor.GetString(Model.Correction.OriginalPoemFormat)</p>
|
||
</div>
|
||
<div class="up-field">
|
||
<label>پیشنهاد</label>
|
||
<p id="edited-poemformat" class="green-color">@RMuseum.Services.Implementation.DivanPoemFormatConvertor.GetString(Model.Correction.PoemFormat)</p>
|
||
</div>
|
||
<div class="up-field">
|
||
@if (Model.Correction.PoemFormatReviewResult == RMuseum.Models.Divan.CorrectionReviewResult.NotChanged)
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="poemformat_review_result_Approved" name="poemformat_review_result" class="radio-approved" value="@RMuseum.Models.Divan.CorrectionReviewResult.Approved">
|
||
<label for="poemformat_review_result_Approved">تأیید میشود</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="poemformat_review_result_NotChanged" name="poemformat_review_result" class="radio-notchanged" value="@RMuseum.Models.Divan.CorrectionReviewResult.NotChanged" checked="checked">
|
||
<label for="poemformat_review_result_NotChanged">تغییری نکرده</label>
|
||
</div>
|
||
}
|
||
else
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="poemformat_review_result_Approved" name="poemformat_review_result" class="radio-approved" value="@RMuseum.Models.Divan.CorrectionReviewResult.Approved" checked="checked">
|
||
<label for="poemformat_review_result_Approved">تأیید میشود</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="poemformat_review_result_NotChanged" name="poemformat_review_result" class="radio-notchanged" value="@RMuseum.Models.Divan.CorrectionReviewResult.NotChanged">
|
||
<label for="poemformat_review_result_NotChanged">تغییری نکرده</label>
|
||
</div>
|
||
}
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="poemformat_review_result_RejectedBecauseWrong" name="poemformat_review_result" class="radio-notcorrect" value="@RMuseum.Models.Divan.CorrectionReviewResult.RejectedBecauseWrong">
|
||
<label for="poemformat_review_result_RejectedBecauseWrong">درست نیست</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="poemformat_review_result_RejectedBecauseVariant" name="poemformat_review_result" class="radio-variant" value="@RMuseum.Models.Divan.CorrectionReviewResult.RejectedBecauseVariant">
|
||
<label for="poemformat_review_result_RejectedBecauseUnnecessaryChange">تغییر سلیقهای یا بی دلیل است</label>
|
||
</div>
|
||
<div class="up-radio-option">
|
||
<input type="radio" id="poemformat_review_result_Rejected" name="poemformat_review_result" class="radio-rejected" value="@RMuseum.Models.Divan.CorrectionReviewResult.Rejected">
|
||
<label for="poemformat_review_result_Rejected">به دلیل دیگری رد میشود</label>
|
||
</div>
|
||
<input type="text" id="poemformat_review_note" name="poemformat_review_note" value="" placeholder="یادداشت بررسی" />
|
||
</div>
|
||
}
|
||
|
||
@if (!string.IsNullOrEmpty(Model.Correction.Note))
|
||
{
|
||
<div class="up-field">
|
||
<label>یادداشت</label>
|
||
<div class="up-field-static">@Model.Correction.Note</div>
|
||
</div>
|
||
}
|
||
|
||
<div class="up-field">
|
||
<label>ابیات</label>
|
||
@for (int v = 0; v < Model.Verses.Count; v++)
|
||
{
|
||
if (
|
||
Model.Correction.BreakFromVerse1VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse2VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse3VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse4VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse5VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse6VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse7VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse8VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse9VOrder == Model.Verses[v].VOrder
|
||
||
|
||
Model.Correction.BreakFromVerse10VOrder == Model.Verses[v].VOrder
|
||
)
|
||
{
|
||
<div class="up-radio-option">
|
||
<input type="checkbox" name="break-from-@v" id="break-from-@v" checked />
|
||
<label for="break-from-@v">@Model.Verses[v].Text</label>
|
||
</div>
|
||
}
|
||
else
|
||
{
|
||
<p>@Model.Verses[v].Text</p>
|
||
}
|
||
}
|
||
</div>
|
||
|
||
<div class="up-field">
|
||
<label for="review_note">یادداشت بررسی</label>
|
||
<input type="text" id="review_note" name="review_note" value="" />
|
||
</div>
|
||
|
||
@if (Model.PoemSection != null)
|
||
{
|
||
<p><a role="button" href=@($"/User/Section?poemId={Model.PoemSection.PoemId}&index={Model.PoemSection.Index}") class="up-btn up-btn--ghost up-btn--sm" target="_blank">خودم ویرایش کنم</a></p>
|
||
}
|
||
|
||
<div class="up-form-actions">
|
||
<a role="button" id="moderatecorrections" class="up-btn up-btn--success" onclick="moderateSectionCorrections(@Model.Correction.Id, @Model.Verses.Count)">بررسی</a>
|
||
<form method="post">
|
||
@Html.AntiForgeryToken()
|
||
<button type="submit" name="next" id="next" class="up-btn up-btn--ghost">بعدی</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
}
|