Commit 690639de authored by Fares's avatar Fares

fix(foreign): stop showing registration CTA after payment sent to treasury

The type-specific CTA (e.g. "تسجيل بيانات العضوية الأجنبية") was
reappearing after sending payment to treasury because total_pending
dropped to 0 (fee moved to in_queue). Now the CTA is suppressed when
a payment is already pending, in queue, or paid. The "pending at
cashier" block also now shows independently of total_pending.
Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
parent 014320e1
...@@ -287,7 +287,7 @@ $canEdit = can('member.edit') && (!$isLocked || ($isSuperAdmin ?? false)); ...@@ -287,7 +287,7 @@ $canEdit = can('member.edit') && (!$isLocked || ($isSuperAdmin ?? false));
<?php endif; ?> <?php endif; ?>
<!-- Type-specific registration CTA (seasonal/foreign/sports) --> <!-- Type-specific registration CTA (seasonal/foreign/sports) -->
<?php if ($member->status === 'potential' && ($member->membership_type ?? 'working') !== 'working' && $bill['form_fee_paid'] && bccomp($bill['total_pending'] ?? '0', '0.01', 2) < 0): ?> <?php if ($member->status === 'potential' && ($member->membership_type ?? 'working') !== 'working' && $bill['form_fee_paid'] && bccomp($bill['total_pending'] ?? '0', '0.01', 2) < 0 && empty($pendingMembership) && !($bill['membership_pending'] ?? false) && !($bill['membership_paid'] ?? false)): ?>
<?php <?php
$typeFormRoutes = [ $typeFormRoutes = [
'seasonal' => ['route' => '/members/' . (int) $member->id . '/seasonal/create', 'label' => 'تسجيل بيانات العضوية الموسمية', 'icon' => '📋', 'desc' => 'سجّل بيانات المدة والأسرة — سيتم حساب الرسوم وإرسالها للخزينة تلقائياً'], 'seasonal' => ['route' => '/members/' . (int) $member->id . '/seasonal/create', 'label' => 'تسجيل بيانات العضوية الموسمية', 'icon' => '📋', 'desc' => 'سجّل بيانات المدة والأسرة — سيتم حساب الرسوم وإرسالها للخزينة تلقائياً'],
...@@ -314,7 +314,6 @@ $canEdit = can('member.edit') && (!$isLocked || ($isSuperAdmin ?? false)); ...@@ -314,7 +314,6 @@ $canEdit = can('member.edit') && (!$isLocked || ($isSuperAdmin ?? false));
$canShowPayment = true; $canShowPayment = true;
} }
?> ?>
<?php if (bccomp($bill['total_pending'], '0', 2) > 0 && $canShowPayment): ?>
<?php if (!empty($pendingMembership)): ?> <?php if (!empty($pendingMembership)): ?>
<div style="padding:20px;background:#FFF7ED;border-top:2px solid #F59E0B;text-align:center;"> <div style="padding:20px;background:#FFF7ED;border-top:2px solid #F59E0B;text-align:center;">
<div style="font-size:36px;">&#x23F3;</div> <div style="font-size:36px;">&#x23F3;</div>
...@@ -344,7 +343,7 @@ $canEdit = can('member.edit') && (!$isLocked || ($isSuperAdmin ?? false)); ...@@ -344,7 +343,7 @@ $canEdit = can('member.edit') && (!$isLocked || ($isSuperAdmin ?? false));
</div> </div>
<?php endif; ?> <?php endif; ?>
</div> </div>
<?php else: ?> <?php elseif (bccomp($bill['total_pending'], '0', 2) > 0 && $canShowPayment): ?>
<?php <?php
$paymentTypeForType = match ($member->membership_type ?? 'working') { $paymentTypeForType = match ($member->membership_type ?? 'working') {
'foreign' => 'foreign_membership_fee', 'foreign' => 'foreign_membership_fee',
...@@ -474,7 +473,6 @@ $canEdit = can('member.edit') && (!$isLocked || ($isSuperAdmin ?? false)); ...@@ -474,7 +473,6 @@ $canEdit = can('member.edit') && (!$isLocked || ($isSuperAdmin ?? false));
&#x26a0;&#xfe0f; مهلة السداد: 15 يوم من تاريخ القبول — بعدها تنتهي الاستمارة &#x26a0;&#xfe0f; مهلة السداد: 15 يوم من تاريخ القبول — بعدها تنتهي الاستمارة
</div> </div>
</div> </div>
<?php endif; ?>
<?php elseif ($formFilled && in_array($member->status, ['under_review', 'interview_scheduled'])): ?> <?php elseif ($formFilled && in_array($member->status, ['under_review', 'interview_scheduled'])): ?>
<div style="padding:20px;background:#EFF6FF;border-top:2px solid #0284C7;"> <div style="padding:20px;background:#EFF6FF;border-top:2px solid #0284C7;">
<p style="margin:0;color:#0284C7;font-size:14px;">📋 الفاتورة جاهزة — في انتظار قرار مجلس الأمناء قبل السداد</p> <p style="margin:0;color:#0284C7;font-size:14px;">📋 الفاتورة جاهزة — في انتظار قرار مجلس الأمناء قبل السداد</p>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment