Commit 3be93f73 authored by Administrator's avatar Administrator

Update 1 files via Son of Anton

parent 791d1875
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<?php $__template->section('page_actions'); ?> <?php $__template->section('page_actions'); ?>
<a href="/members/<?= (int) $member->id ?>/edit" class="btn btn-outline">✏️ تعديل</a> <a href="/members/<?= (int) $member->id ?>/edit" class="btn btn-outline">✏️ تعديل</a>
<a href="/audit/entity/members/<?= (int) $member->id ?>" class="btn btn-outline">📜 سجل المراجعة</a>
<a href="/members" class="btn btn-outline">← العودة</a> <a href="/members" class="btn btn-outline">← العودة</a>
<?php $__template->endSection(); ?> <?php $__template->endSection(); ?>
...@@ -12,6 +13,7 @@ ...@@ -12,6 +13,7 @@
$statusLabel = $member->getStatusLabel(); $statusLabel = $member->getStatusLabel();
$statusColor = $member->getStatusColor(); $statusColor = $member->getStatusColor();
$isInitialPhase = in_array($member->status, ['potential', 'under_review', 'interview_scheduled', 'accepted', 'payment_pending']); $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'interview_scheduled', 'accepted', 'payment_pending']);
$isActive = ($member->status === 'active');
?> ?>
<!-- ═══════════════════════════════════════ --> <!-- ═══════════════════════════════════════ -->
...@@ -107,11 +109,7 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter ...@@ -107,11 +109,7 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter
<?php endif; ?> <?php endif; ?>
</td> </td>
<td style="padding:10px;text-align:left;font-weight:600;direction:ltr;<?= $item['included'] ? 'color:#9CA3AF;text-decoration:line-through;' : '' ?>"> <td style="padding:10px;text-align:left;font-weight:600;direction:ltr;<?= $item['included'] ? 'color:#9CA3AF;text-decoration:line-through;' : '' ?>">
<?php if ($item['included']): ?>
<?= money($item['amount']) ?> <?= money($item['amount']) ?>
<?php else: ?>
<?= money($item['amount']) ?>
<?php endif; ?>
</td> </td>
<td style="padding:10px;text-align:center;"> <td style="padding:10px;text-align:center;">
<?php if ($item['paid']): ?> <?php if ($item['paid']): ?>
...@@ -158,7 +156,6 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter ...@@ -158,7 +156,6 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter
<?php if (bccomp($bill['total_pending'], '0', 2) > 0 && in_array($member->status, ['accepted', 'payment_pending'])): ?> <?php if (bccomp($bill['total_pending'], '0', 2) > 0 && in_array($member->status, ['accepted', 'payment_pending'])): ?>
<div style="padding:20px;background:#FFF7ED;border-top:2px solid #F59E0B;"> <div style="padding:20px;background:#FFF7ED;border-top:2px solid #F59E0B;">
<h4 style="margin:0 0 15px;color:#D97706;">💰 اختر طريقة السداد</h4> <h4 style="margin:0 0 15px;color:#D97706;">💰 اختر طريقة السداد</h4>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:20px;"> <div style="display:grid;grid-template-columns:1fr 1fr;gap:20px;">
<!-- Cash Full --> <!-- Cash Full -->
<div style="background:#fff;border:2px solid #059669;border-radius:12px;padding:20px;"> <div style="background:#fff;border:2px solid #059669;border-radius:12px;padding:20px;">
...@@ -170,14 +167,11 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter ...@@ -170,14 +167,11 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter
<input type="hidden" name="payment_type" value="membership_fee"> <input type="hidden" name="payment_type" value="membership_fee">
<input type="hidden" name="amount" value="<?= e($bill['total_pending']) ?>"> <input type="hidden" name="amount" value="<?= e($bill['total_pending']) ?>">
<select name="payment_method" class="form-select" style="margin-bottom:10px;"> <select name="payment_method" class="form-select" style="margin-bottom:10px;">
<option value="cash">نقدي</option> <option value="cash">نقدي</option><option value="visa">فيزا</option><option value="bank_transfer">تحويل بنكي</option>
<option value="visa">فيزا</option>
<option value="bank_transfer">تحويل بنكي</option>
</select> </select>
<button type="submit" class="btn btn-primary" style="width:100%;background:#059669;border-color:#059669;" onclick="return confirm('تأكيد دفع <?= money($bill['total_pending']) ?>؟')">ادفع الآن</button> <button type="submit" class="btn btn-primary" style="width:100%;background:#059669;border-color:#059669;" onclick="return confirm('تأكيد دفع <?= money($bill['total_pending']) ?>؟')">ادفع الآن</button>
</form> </form>
</div> </div>
<!-- Installment --> <!-- Installment -->
<div style="background:#fff;border:2px solid #0284C7;border-radius:12px;padding:20px;"> <div style="background:#fff;border:2px solid #0284C7;border-radius:12px;padding:20px;">
<h5 style="margin:0 0 10px;color:#0284C7;">📅 تقسيط</h5> <h5 style="margin:0 0 10px;color:#0284C7;">📅 تقسيط</h5>
...@@ -192,15 +186,14 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter ...@@ -192,15 +186,14 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter
?> ?>
<table style="width:100%;font-size:13px;margin-bottom:10px;"> <table style="width:100%;font-size:13px;margin-bottom:10px;">
<tr><td style="color:#6B7280;">المقدم (25%)</td><td style="text-align:left;font-weight:600;"><?= money($minDown) ?></td></tr> <tr><td style="color:#6B7280;">المقدم (25%)</td><td style="text-align:left;font-weight:600;"><?= money($minDown) ?></td></tr>
<tr><td style="color:#6B7280;">الباقي</td><td style="text-align:left;"><?= money($remaining) ?></td></tr>
<tr><td style="color:#6B7280;">الفائدة (22%)</td><td style="text-align:left;color:#D97706;"><?= money($interest) ?></td></tr> <tr><td style="color:#6B7280;">الفائدة (22%)</td><td style="text-align:left;color:#D97706;"><?= money($interest) ?></td></tr>
<tr><td style="color:#6B7280;">القسط الشهري (~30 شهر)</td><td style="text-align:left;font-weight:600;"><?= money($monthlyEst) ?></td></tr> <tr><td style="color:#6B7280;">القسط (~30 شهر)</td><td style="text-align:left;font-weight:600;"><?= money($monthlyEst) ?></td></tr>
</table> </table>
<form method="POST" action="/members/<?= (int) $member->id ?>/pay-membership"> <form method="POST" action="/members/<?= (int) $member->id ?>/pay-membership">
<?= csrf_field() ?> <?= csrf_field() ?>
<input type="hidden" name="payment_type" value="down_payment"> <input type="hidden" name="payment_type" value="down_payment">
<div class="form-group" style="margin-bottom:10px;"> <div class="form-group" style="margin-bottom:10px;">
<label class="form-label" style="font-size:12px;">المقدم (الحد الأدنى <?= money($minDown) ?>)</label> <label class="form-label" style="font-size:12px;">المقدم ( <?= money($minDown) ?>)</label>
<input type="number" name="amount" value="<?= e($minDown) ?>" min="<?= e($minDown) ?>" step="0.01" class="form-input" style="direction:ltr;text-align:left;" required> <input type="number" name="amount" value="<?= e($minDown) ?>" min="<?= e($minDown) ?>" step="0.01" class="form-input" style="direction:ltr;text-align:left;" required>
</div> </div>
<div class="form-group" style="margin-bottom:10px;"> <div class="form-group" style="margin-bottom:10px;">
...@@ -208,17 +201,14 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter ...@@ -208,17 +201,14 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter
<input type="number" name="installment_months" value="30" min="1" max="30" class="form-input" style="direction:ltr;text-align:left;"> <input type="number" name="installment_months" value="30" min="1" max="30" class="form-input" style="direction:ltr;text-align:left;">
</div> </div>
<select name="payment_method" class="form-select" style="margin-bottom:10px;"> <select name="payment_method" class="form-select" style="margin-bottom:10px;">
<option value="cash">نقدي</option> <option value="cash">نقدي</option><option value="visa">فيزا</option><option value="bank_transfer">تحويل</option>
<option value="visa">فيزا</option>
<option value="bank_transfer">تحويل بنكي</option>
</select> </select>
<button type="submit" class="btn btn-primary" style="width:100%;background:#0284C7;border-color:#0284C7;" onclick="return confirm('تأكيد دفع المقدم؟')">ادفع المقدم</button> <button type="submit" class="btn btn-primary" style="width:100%;background:#0284C7;border-color:#0284C7;" onclick="return confirm('تأكيد دفع المقدم؟')">ادفع المقدم</button>
</form> </form>
</div> </div>
</div> </div>
<div style="margin-top:15px;padding:10px;background:#FEF2F2;border-radius:8px;font-size:12px;color:#DC2626;"> <div style="margin-top:15px;padding:10px;background:#FEF2F2;border-radius:8px;font-size:12px;color:#DC2626;">
⚠️ مهلة السداد: 15 يوم من تاريخ القبول — بعدها تنتهي الاستمارة ويجب شراء استمارة جديدة ⚠️ مهلة السداد: 15 يوم من تاريخ القبول — بعدها تنتهي الاستمارة
</div> </div>
</div> </div>
<?php elseif ($formFilled && in_array($member->status, ['under_review', 'interview_scheduled'])): ?> <?php elseif ($formFilled && in_array($member->status, ['under_review', 'interview_scheduled'])): ?>
...@@ -243,6 +233,8 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter ...@@ -243,6 +233,8 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter
<tr><td style="padding:5px 0;color:#6B7280;">المؤهل</td><td style="padding:5px 0;"><?= e($qualificationName) ?></td></tr> <tr><td style="padding:5px 0;color:#6B7280;">المؤهل</td><td style="padding:5px 0;"><?= e($qualificationName) ?></td></tr>
<tr><td style="padding:5px 0;color:#6B7280;">الحالة الاجتماعية</td><td style="padding:5px 0;"><?= e($member->marital_status ?? '—') ?></td></tr> <tr><td style="padding:5px 0;color:#6B7280;">الحالة الاجتماعية</td><td style="padding:5px 0;"><?= e($member->marital_status ?? '—') ?></td></tr>
<?php if ($member->email): ?><tr><td style="padding:5px 0;color:#6B7280;">البريد</td><td style="padding:5px 0;direction:ltr;text-align:right;"><?= e($member->email) ?></td></tr><?php endif; ?> <?php if ($member->email): ?><tr><td style="padding:5px 0;color:#6B7280;">البريد</td><td style="padding:5px 0;direction:ltr;text-align:right;"><?= e($member->email) ?></td></tr><?php endif; ?>
<?php if ($member->residence_address): ?><tr><td style="padding:5px 0;color:#6B7280;">العنوان</td><td style="padding:5px 0;"><?= e($member->residence_address) ?></td></tr><?php endif; ?>
<?php if ($member->occupation): ?><tr><td style="padding:5px 0;color:#6B7280;">المهنة</td><td style="padding:5px 0;"><?= e($member->occupation) ?></td></tr><?php endif; ?>
</table> </table>
</div> </div>
</div> </div>
...@@ -253,27 +245,126 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter ...@@ -253,27 +245,126 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter
<div style="background:#F0FDF4;padding:15px;border-radius:8px;text-align:center;"><div style="font-size:20px;font-weight:700;color:#059669;"><?= money($member->membership_value ?? '0') ?></div><div style="color:#6B7280;font-size:11px;">قيمة العضوية</div></div> <div style="background:#F0FDF4;padding:15px;border-radius:8px;text-align:center;"><div style="font-size:20px;font-weight:700;color:#059669;"><?= money($member->membership_value ?? '0') ?></div><div style="color:#6B7280;font-size:11px;">قيمة العضوية</div></div>
<div style="background:#EFF6FF;padding:15px;border-radius:8px;text-align:center;"><div style="font-size:20px;font-weight:700;color:#0284C7;"><?= money($bill['total_paid']) ?></div><div style="color:#6B7280;font-size:11px;">إجمالي المدفوع</div></div> <div style="background:#EFF6FF;padding:15px;border-radius:8px;text-align:center;"><div style="font-size:20px;font-weight:700;color:#0284C7;"><?= money($bill['total_paid']) ?></div><div style="color:#6B7280;font-size:11px;">إجمالي المدفوع</div></div>
</div> </div>
<a href="/payments/member/<?= (int) $member->id ?>" class="btn btn-outline" style="width:100%;text-align:center;margin-top:10px;">📜 سجل المدفوعات</a>
</div> </div>
</div> </div>
</div> </div>
<!-- Quick Actions --> <!-- ═══════════════════════════════════════════════ -->
<div class="card" style="margin-bottom:20px;padding:15px;"> <!-- ALL ACTIONS — organized by category -->
<h4 style="margin:0 0 10px;color:#6B7280;font-size:13px;">إجراءات سريعة</h4> <!-- ═══════════════════════════════════════════════ -->
<div style="display:flex;gap:10px;flex-wrap:wrap;"> <div class="card" style="margin-bottom:20px;">
<?php if ($bill['form_fee_paid'] && !$formFilled): ?><a href="/members/<?= (int) $member->id ?>/fill-form" class="btn btn-primary">📝 ملء الاستمارة</a><?php endif; ?> <div style="padding:15px 20px;border-bottom:1px solid #E5E7EB;">
<h3 style="margin:0;color:#0D7377;font-size:15px;">⚡ الإجراءات</h3>
</div>
<div style="padding:15px 20px;">
<!-- Registration & Form -->
<?php if ($bill['form_fee_paid'] && !$formFilled): ?>
<div style="margin-bottom:15px;">
<div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">📋 الاستمارة</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/members/<?= (int) $member->id ?>/fill-form" class="btn btn-primary">📝 ملء الاستمارة</a>
</div>
</div>
<?php endif; ?>
<!-- Family Management -->
<?php if ($formFilled): ?>
<div style="margin-bottom:15px;">
<div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">👨‍👩‍👧‍👦 الأسرة</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/members/<?= (int) $member->id ?>/spouses/create" class="btn btn-sm btn-outline">💍 إضافة زوج/ة</a>
<a href="/members/<?= (int) $member->id ?>/children/create" class="btn btn-sm btn-outline">👶 إضافة ابن/ة</a>
<a href="/members/<?= (int) $member->id ?>/temporary/create" class="btn btn-sm btn-outline">👤 إضافة عضو مؤقت</a>
</div>
</div>
<?php endif; ?>
<!-- Interview & Review -->
<?php if (in_array($member->status, ['under_review', 'interview_scheduled', 'potential'])): ?>
<div style="margin-bottom:15px;">
<div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">🗓️ المقابلة والمراجعة</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/interviews/schedule/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">🗓️ تحديد مقابلة</a>
</div>
</div>
<?php endif; ?>
<!-- Financial -->
<div style="margin-bottom:15px;">
<div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">💰 المالية</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/payments/process/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">💰 تسجيل دفعة</a>
<a href="/payments/member/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">📜 سجل المدفوعات</a>
<?php if ($isActive): ?>
<a href="/installments/create/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">📅 خطة تقسيط</a>
<a href="/subscriptions/member/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">🔄 الاشتراكات</a>
<?php endif; ?>
</div>
</div>
<!-- Documents & Carnet -->
<?php if ($formFilled): ?> <?php if ($formFilled): ?>
<a href="/members/<?= (int) $member->id ?>/spouses/create" class="btn btn-outline">💍 إضافة زوجة</a> <div style="margin-bottom:15px;">
<a href="/members/<?= (int) $member->id ?>/children/create" class="btn btn-outline">👶 إضافة ابن/ة</a> <div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">📁 المستندات والكارنيه</div>
<a href="/documents/upload/<?= (int) $member->id ?>" class="btn btn-outline">📁 رفع مستندات</a> <div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/documents/upload/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">📁 رفع مستندات</a>
<a href="/documents/member/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">📂 عرض المستندات</a>
<?php if ($isActive): ?>
<a href="/carnets/issue/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">🪪 إصدار كارنيه</a>
<?php endif; ?> <?php endif; ?>
<?php if (in_array($member->status, ['under_review', 'interview_scheduled'])): ?> </div>
<a href="/interviews/schedule/<?= (int) $member->id ?>" class="btn btn-outline">🗓️ تحديد مقابلة</a> </div>
<?php endif; ?> <?php endif; ?>
<?php if ($member->status === 'active'): ?>
<a href="/carnets/issue/<?= (int) $member->id ?>" class="btn btn-outline">🪪 إصدار كارنيه</a> <!-- Special Memberships (active members only) -->
<a href="/payments/process/<?= (int) $member->id ?>" class="btn btn-outline">💰 تسجيل دفعة</a> <?php if ($isActive): ?>
<div style="margin-bottom:15px;">
<div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">🏅 عضويات خاصة</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/seasonal/create/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">☀️ عضوية موسمية</a>
<a href="/members/<?= (int) $member->id ?>/sports/create" class="btn btn-sm btn-outline">🏆 عضوية رياضية</a>
<a href="/members/<?= (int) $member->id ?>/honorary/create" class="btn btn-sm btn-outline">⭐ عضوية شرفية</a>
<a href="/members/<?= (int) $member->id ?>/foreign/create" class="btn btn-sm btn-outline">🌍 عضوية أجنبية</a>
</div>
</div>
<?php endif; ?> <?php endif; ?>
<!-- Violations & Fines (active members only) -->
<?php if ($isActive): ?>
<div style="margin-bottom:15px;">
<div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">⚠️ المخالفات والغرامات</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/violations/create/<?= (int) $member->id ?>" class="btn btn-sm btn-outline" style="color:#DC2626;border-color:#DC2626;">⚠️ تسجيل مخالفة</a>
</div>
</div>
<?php endif; ?>
<!-- Life Events (active members only) -->
<?php if ($isActive): ?>
<div style="margin-bottom:15px;">
<div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">🔀 التحويلات وأحداث الحياة</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/transfers/create/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">🔀 طلب تحويل/فصل</a>
<a href="/divorce/create/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">💔 تسجيل طلاق</a>
<a href="/death/create/<?= (int) $member->id ?>" class="btn btn-sm btn-outline" style="color:#6B7280;">🕊️ تسجيل وفاة</a>
<a href="/waiver/create/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">📤 طلب تنازل</a>
</div>
</div>
<?php endif; ?>
<!-- Archive & Audit -->
<div style="margin-bottom:0;">
<div style="font-size:12px;color:#6B7280;font-weight:600;margin-bottom:8px;text-transform:uppercase;">🗄️ الأرشيف والمراجعة</div>
<div style="display:flex;gap:8px;flex-wrap:wrap;">
<a href="/audit/entity/members/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">📜 سجل المراجعة</a>
<a href="/archive/entity/members/<?= (int) $member->id ?>" class="btn btn-sm btn-outline">🗄️ اللقطات الأرشيفية</a>
<?php if ($member->membership_number): ?>
<a href="/archive/number-chain/<?= urlencode($member->membership_number) ?>" class="btn btn-sm btn-outline">🔗 سلسلة رقم العضوية</a>
<?php endif; ?>
</div>
</div>
</div> </div>
</div> </div>
...@@ -292,11 +383,8 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter ...@@ -292,11 +383,8 @@ $isInitialPhase = in_array($member->status, ['potential', 'under_review', 'inter
<td style="direction:ltr;text-align:right;font-size:12px;"><?= e($s['national_id'] ?? '—') ?></td> <td style="direction:ltr;text-align:right;font-size:12px;"><?= e($s['national_id'] ?? '—') ?></td>
<td style="font-weight:600;"><?php <td style="font-weight:600;"><?php
$fee = $s['addition_fee'] ?? '0.00'; $fee = $s['addition_fee'] ?? '0.00';
if (bccomp($fee, '0', 2) <= 0 && (int) $s['spouse_order'] === 1) { if (bccomp($fee, '0', 2) <= 0 && (int) $s['spouse_order'] === 1) echo '<span style="color:#059669;">مشمولة</span>';
echo '<span style="color:#059669;">مشمولة</span>'; else echo money($fee);
} else {
echo money($fee);
}
?></td> ?></td>
<td><span style="color:<?= $s['status'] === 'active' ? '#059669' : '#DC2626' ?>;font-weight:600;"><?= $s['status'] === 'active' ? 'نشط' : $s['status'] ?></span></td> <td><span style="color:<?= $s['status'] === 'active' ? '#059669' : '#DC2626' ?>;font-weight:600;"><?= $s['status'] === 'active' ? 'نشط' : $s['status'] ?></span></td>
<td><a href="/members/<?= (int) $member->id ?>/spouses/<?= (int) $s['id'] ?>" class="btn btn-sm btn-outline">عرض</a></td> <td><a href="/members/<?= (int) $member->id ?>/spouses/<?= (int) $s['id'] ?>" class="btn btn-sm btn-outline">عرض</a></td>
......
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