divan/DivanRazor/Areas/User/Pages/Languages.cshtml
Anas Rashid 532d005cdb Rename Ganjoor -> Divan throughout the code
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>
2026-10-04 23:49:01 +02:00

113 lines
4.0 KiB
Plaintext

@page
@model DivanRazor.Areas.User.Pages.LanguagesModel
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_UserPanelLayout";
ViewData["Title"] = "زبان‌ها و نویسش‌ها";
await DivanRazor.Utils.DivanSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData);
}
<div class="up-page-header">
<h1>@ViewData["Title"]</h1>
</div>
@if (!string.IsNullOrEmpty(Model.LastMessage))
{
<div class="up-alert up-alert--info">@Model.LastMessage</div>
}
else
{
<div class="up-card">
<h2 class="up-card__title">زبان جدید</h2>
<form method="post" class="up-form">
@Html.AntiForgeryToken()
<div class="up-field">
<label for="Language_Name">نام</label>
<input asp-for="Language.Name" />
</div>
<div class="up-field up-field--ltr">
<label for="Language_Code">کد</label>
<input asp-for="Language.Code" />
</div>
<div class="up-field up-field--ltr">
<label for="Language_NativeName">نام بومی زبان</label>
<input asp-for="Language.NativeName" />
</div>
<div class="up-check-row">
<input type="checkbox" asp-for="Language.RightToLeft" />
<label for="Language_RightToLeft">راست به چپ</label>
</div>
<div class="up-field">
<label for="Language_Description">شرح</label>
<input asp-for="Language.Description" />
</div>
<div class="up-form-actions">
<input type="submit" value="ایجاد زبان" class="up-btn up-btn--success" />
</div>
</form>
</div>
@if (Model.Languages != null && Model.Languages.Length > 0)
{
<script>
async function deleteLanguage(itemId, itemName) {
var ok = await upConfirm('آیا از حذف این ' + itemName + ' اطمینان دارید؟');
if (!ok) return;
$.ajax({
type: "DELETE",
url: '',
data: {
id: itemId
},
error: function () {
upToast('خطا رخ داد.', 'error');
},
success: function () {
location.reload();
return false;
},
});
}
</script>
<table>
<tr>
<th>نام</th>
<th>کد</th>
<th>نام بومی</th>
<th>ر.ب.چ</th>
<th>شرح</th>
<th>#</th>
</tr>
@foreach (var language in Model.Languages)
{
<tr id="tr-@language.Id">
<td>@language.Name</td>
<td>@language.Code</td>
<td>@language.NativeName</td>
<td>
@if (language.RightToLeft)
{
<input type="checkbox" checked="checked" disabled="disabled" />
}
else
{
<input type="checkbox" disabled="disabled" />
}
</td>
<td>@language.Description</td>
<td>
<a role="button" href="/User/LanguageEdit?id=@language.Id" class="up-icon-btn" title="ویرایش" aria-label="ویرایش این زبان">✎</a>
<a role="button" onclick="deleteLanguage(@language.Id, 'زبان')" class="up-icon-btn" title="حذف" aria-label="حذف این زبان">🗑</a>
</td>
</tr>
}
</table>
}
else
{
<partial name="_EmptyState" model="@("هنوز زبانی ثبت نشده است.")" />
}
}