Admin: bulk-delete published ingested posts; talent: point to source when no phone
- /Admin/Ingested: "حذف گروهی همهی منتشرشدهها" button removes, in one transaction, every aggregated Shift/Job/Talent published from ingestion plus the approved (Normalized) raw items that produced them. Confirms first and reports counts. Raw rows deleted before the posts (they hold the FKs); DB cascade clears applications/interest events. - Talent details: when the contact number couldn't be extracted (e.g. Divar's login-gated reveal), show a prominent "مشاهده شماره در دیوار/مدجابز ↗" link to the original ad instead of the call button. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,24 @@
|
||||
</div>
|
||||
|
||||
<div class="container section">
|
||||
@if (Model.Message is not null)
|
||||
{
|
||||
<div class="alert alert-success">✓ @Model.Message</div>
|
||||
}
|
||||
|
||||
@{ int publishedCount = Model.Counts.GetValueOrDefault(JobsMedical.Web.Models.RawListingStatus.Normalized); }
|
||||
@if (publishedCount > 0)
|
||||
{
|
||||
<form method="post" asp-page-handler="DeletePublished"
|
||||
onsubmit="return confirm('همه آگهیهای منتشرشده از جمعآوری (شیفت/استخدام/آمادهبهکار) و آیتمهای تأییدشدهی متناظر حذف میشوند. این کار بازگشتناپذیر است. ادامه میدهی؟');"
|
||||
style="margin-bottom:14px;">
|
||||
<button type="submit" class="btn btn-outline" style="color:var(--danger); border-color:var(--danger);">
|
||||
🗑 حذف گروهی همهی منتشرشدهها (@JalaliDate.ToPersianDigits(publishedCount.ToString()))
|
||||
</button>
|
||||
<span class="muted" style="font-size:12px; margin-inline-start:8px;">آگهیهای منتشرشده روی سایت را که از جمعآوری ساخته شدهاند یکجا حذف میکند.</span>
|
||||
</form>
|
||||
}
|
||||
|
||||
<div class="ing-filters">
|
||||
@Html.Raw(Pill("all", "همه", Model.Counts.Values.Sum()))
|
||||
@Html.Raw(Pill("new", "در صف", C(JobsMedical.Web.Models.RawListingStatus.New)))
|
||||
|
||||
Reference in New Issue
Block a user