docs: #306 fixes for supporting the second metre
This commit is contained in:
parent
2fcd8b4410
commit
b8e44b658f
@ -222,6 +222,80 @@ else
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
|
||||
@if (Model.Correction.Rhythm2 != null)
|
||||
{
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
وزن دوم
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
@if (Model.PageInformation.Poem.Verses.Length > 0)
|
||||
{
|
||||
@Model.PageInformation.Poem.Verses[0].Text
|
||||
}
|
||||
</td>
|
||||
<td>
|
||||
@if (Model.PageInformation.Poem.Verses.Length > 1)
|
||||
{
|
||||
@Model.PageInformation.Poem.Verses[1].Text
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>متن اولیه</td>
|
||||
<td>پیشنهاد</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p style="color:red">@Model.Correction.OriginalRhythm2</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="color:green">@Model.Correction.Rhythm2</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
||||
@if (Model.Correction.Rhythm2Result == RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged)
|
||||
{
|
||||
<input type="radio" id="rhythm2_review_result_Approved" name="rhythm2_review_result" class="radio-approved" value="@RMuseum.Models.Ganjoor.CorrectionReviewResult.Approved">
|
||||
<label for="rhythm2_review_result_Approved">تأیید میشود</label>
|
||||
|
||||
<br>
|
||||
<input type="radio" id="rhythm2_review_result_NotChanged" name="rhythm2_review_result" class="radio-notchanged" value="@RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged" checked="checked">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="radio" id="rhythm2_review_result_Approved" name="rhythm2_review_result" class="radio-approved" value="@RMuseum.Models.Ganjoor.CorrectionReviewResult.Approved" checked="checked">
|
||||
<label for="rhythm2_review_result_Approved">تأیید میشود</label>
|
||||
|
||||
<br>
|
||||
<input type="radio" id="rhythm2_review_result_NotChanged" name="rhythm2_review_result" class="radio-notchanged" value="@RMuseum.Models.Ganjoor.CorrectionReviewResult.NotChanged">
|
||||
}
|
||||
<label for="rhythm2_review_result_NotChanged">تغییری نکرده</label><br>
|
||||
<input type="radio" id="rhythm2_review_result_RejectedBecauseWrong" name="rhythm2_review_result" class="radio-notcorrect" value="@RMuseum.Models.Ganjoor.CorrectionReviewResult.RejectedBecauseWrong">
|
||||
<label for="rhythm2_review_result_RejectedBecauseWrong">درست نیست</label><br>
|
||||
<input type="radio" id="rhythm2_review_result_RejectedBecauseVariant" name="rhythm2_review_result" class="radio-variant" value="@RMuseum.Models.Ganjoor.CorrectionReviewResult.RejectedBecauseVariant">
|
||||
<label for="rhythm2_review_result_RejectedBecauseVariant">مربوط به نسخهٔ دیگری است</label><br>
|
||||
<input type="radio" id="rhythm_2review_result_RejectedBecauseUnnecessaryChange" name="rhythm2_review_result" class="radio-unnecessary" value="@RMuseum.Models.Ganjoor.CorrectionReviewResult.RejectedBecauseUnnecessaryChange">
|
||||
<label for="rhythm2_review_result_RejectedBecauseUnnecessaryChange">تغییر سلیقهای یا بی دلیل است</label><br>
|
||||
<input type="radio" id="rhythm2_review_result_Rejected" name="rhythm2_review_result" class="radio-rejected" value="@RMuseum.Models.Ganjoor.CorrectionReviewResult.Rejected">
|
||||
<label for="rhythm2_review_result_Rejected">به دلیل دیگری رد میشود</label><br>
|
||||
@if (Model.Correction.Title != null)
|
||||
{
|
||||
<p>در صورت نیاز به درج یادداشت برای تغییر وزن آن را در قسمت عنوان وارد فرمایید.</p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="text" id="title_review_note" name="title_review_note" value="" size="50" />
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
@if (Model.Correction.VerseOrderText != null)
|
||||
@foreach (var verse in Model.Correction.VerseOrderText)
|
||||
{
|
||||
|
||||
@ -111,14 +111,26 @@ namespace GanjooRazor.Areas.Admin.Pages
|
||||
if (Correction.Rhythm != null)
|
||||
{
|
||||
GanjoorMetre originalMetre = null;
|
||||
if (PageInformation.Poem.Sections.Where(s => s.SectionType == PoemSectionType.WholePoem && s.GanjoorMetre != null).Any())
|
||||
if (PageInformation.Poem.Sections.Where(s => s.SectionType == PoemSectionType.WholePoem && s.GanjoorMetre != null && s.VerseType == VersePoemSectionType.First).Any())
|
||||
{
|
||||
originalMetre = PageInformation.Poem.Sections.Where(s => s.SectionType == PoemSectionType.WholePoem && s.GanjoorMetre != null).OrderBy(s => s.VerseType).First().GanjoorMetre;
|
||||
originalMetre = PageInformation.Poem.Sections.Where(s => s.SectionType == PoemSectionType.WholePoem && s.VerseType == VersePoemSectionType.First && s.GanjoorMetre != null).OrderBy(s => s.VerseType).First().GanjoorMetre;
|
||||
}
|
||||
Correction.OriginalRhythm = originalMetre == null ? null : originalMetre.Rhythm;
|
||||
if (Correction.OriginalRhythm == Correction.Rhythm)
|
||||
Correction.RhythmResult = CorrectionReviewResult.NotChanged;
|
||||
}
|
||||
|
||||
if (Correction.Rhythm2 != null)
|
||||
{
|
||||
GanjoorMetre originalMetre2 = null;
|
||||
if (PageInformation.Poem.Sections.Where(s => s.SectionType == PoemSectionType.WholePoem && s.GanjoorMetre != null && s.VerseType == VersePoemSectionType.Second).Any())
|
||||
{
|
||||
originalMetre2 = PageInformation.Poem.Sections.Where(s => s.SectionType == PoemSectionType.WholePoem && s.GanjoorMetre != null && s.VerseType == VersePoemSectionType.Second).OrderBy(s => s.VerseType).First().GanjoorMetre;
|
||||
}
|
||||
Correction.OriginalRhythm2 = originalMetre2 == null ? null : originalMetre2.Rhythm;
|
||||
if (Correction.OriginalRhythm2 == Correction.Rhythm2)
|
||||
Correction.Rhythm2Result = CorrectionReviewResult.NotChanged;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -141,7 +153,7 @@ namespace GanjooRazor.Areas.Admin.Pages
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostSendCorrectionsModerationAsync(int correctionId,
|
||||
string titleReviewResult, string rhythmReviewResult,
|
||||
string titleReviewResult, string rhythmReviewResult, string rhythm2ReviewResult,
|
||||
string titleReviewNote, string[] verseReviewResult,
|
||||
string[] verseReviewNotes)
|
||||
{
|
||||
@ -184,7 +196,20 @@ namespace GanjooRazor.Areas.Admin.Pages
|
||||
}
|
||||
}
|
||||
|
||||
if(verseReviewResult.Length != Correction.VerseOrderText.Length)
|
||||
if (Correction.Rhythm2 != null)
|
||||
{
|
||||
if (rhythm2ReviewResult == null)
|
||||
{
|
||||
return new BadRequestObjectResult("لطفا تغییر وزن دوم را بازبینی کنید.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Correction.Rhythm2Result = (CorrectionReviewResult)Enum.Parse(typeof(CorrectionReviewResult), rhythm2ReviewResult);
|
||||
Correction.ReviewNote = titleReviewNote;
|
||||
}
|
||||
}
|
||||
|
||||
if (verseReviewResult.Length != Correction.VerseOrderText.Length)
|
||||
{
|
||||
return new BadRequestObjectResult("لطفا تکلیف بررسی تمام مصرعهای پیشنهادی را مشخص کنید.");
|
||||
}
|
||||
|
||||
@ -308,6 +308,11 @@
|
||||
rhythmReviewResult = $('input[name=rhythm_review_result]:checked').val()
|
||||
}
|
||||
|
||||
var rhythm2ReviewResult = 'DontCare';
|
||||
if ($('#rhythm2_review_result_Approved').length > 0) {
|
||||
rhythm2ReviewResult = $('input[name=rhythm2_review_result]:checked').val()
|
||||
}
|
||||
|
||||
|
||||
var verseReviewResult = [];
|
||||
var verseReviewNotes = [];
|
||||
@ -331,6 +336,7 @@
|
||||
correctionId: correctionId,
|
||||
titleReviewResult: titleReviewResult,
|
||||
rhythmReviewResult: rhythmReviewResult,
|
||||
rhythm2ReviewResult: rhythm2ReviewResult,
|
||||
titleReviewNote: $('#title_review_note') == null? null : $('#title_review_note').val(),
|
||||
verseReviewResult: verseReviewResult,
|
||||
verseReviewNotes: verseReviewNotes,
|
||||
|
||||
@ -254,7 +254,7 @@ namespace RMuseum.Services.Implementation
|
||||
dbCorrection.AffectedThePoem = true;
|
||||
var secondMetreSection = sections.FirstOrDefault(s => s.SectionType == PoemSectionType.WholePoem && s.VerseType == VersePoemSectionType.Second);
|
||||
|
||||
if (moderation.Rhythm == "")
|
||||
if (moderation.Rhythm2 == "")
|
||||
{
|
||||
if (secondMetreSection != null)
|
||||
{
|
||||
@ -347,12 +347,12 @@ namespace RMuseum.Services.Implementation
|
||||
}
|
||||
secondMetreSection.OldGanjoorMetreId = secondMetreSection.GanjoorMetreId;
|
||||
|
||||
var metre = await _context.GanjoorMetres.AsNoTracking().Where(m => m.Rhythm == moderation.Rhythm).SingleOrDefaultAsync();
|
||||
var metre = await _context.GanjoorMetres.AsNoTracking().Where(m => m.Rhythm == moderation.Rhythm2).SingleOrDefaultAsync();
|
||||
if (metre == null)
|
||||
{
|
||||
metre = new GanjoorMetre()
|
||||
{
|
||||
Rhythm = moderation.Rhythm,
|
||||
Rhythm = moderation.Rhythm2,
|
||||
VerseCount = 0
|
||||
};
|
||||
_context.GanjoorMetres.Add(metre);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user