Commit e7dd5f21 authored by Mahmoud Aglan's avatar Mahmoud Aglan

koko

parent 6a8cdf08
...@@ -92,6 +92,7 @@ class RetroactiveWizardController extends Controller ...@@ -92,6 +92,7 @@ class RetroactiveWizardController extends Controller
// Step 1: Basic member info // Step 1: Basic member info
'full_name_ar' => trim($post['full_name_ar'] ?? ''), 'full_name_ar' => trim($post['full_name_ar'] ?? ''),
'full_name_en' => trim($post['full_name_en'] ?? '') ?: null, 'full_name_en' => trim($post['full_name_en'] ?? '') ?: null,
'membership_number' => trim($post['membership_number'] ?? '') ?: null,
'national_id' => trim($post['national_id'] ?? '') ?: null, 'national_id' => trim($post['national_id'] ?? '') ?: null,
'passport_number' => trim($post['passport_number'] ?? '') ?: null, 'passport_number' => trim($post['passport_number'] ?? '') ?: null,
'date_of_birth' => $post['date_of_birth'] ?? null, 'date_of_birth' => $post['date_of_birth'] ?? null,
...@@ -191,6 +192,7 @@ class RetroactiveWizardController extends Controller ...@@ -191,6 +192,7 @@ class RetroactiveWizardController extends Controller
'full_name_ar' => $post["spouse_name_{$i}"], 'full_name_ar' => $post["spouse_name_{$i}"],
'national_id' => $post["spouse_nid_{$i}"] ?? null, 'national_id' => $post["spouse_nid_{$i}"] ?? null,
'date_of_birth' => $post["spouse_dob_{$i}"] ?? null, 'date_of_birth' => $post["spouse_dob_{$i}"] ?? null,
'marriage_date' => $post["spouse_marriage_date_{$i}"] ?? null,
'phone_mobile' => $post["spouse_phone_{$i}"] ?? null, 'phone_mobile' => $post["spouse_phone_{$i}"] ?? null,
'join_date' => $post["spouse_join_date_{$i}"] ?? ($post['join_date'] ?? date('Y-m-d')), 'join_date' => $post["spouse_join_date_{$i}"] ?? ($post['join_date'] ?? date('Y-m-d')),
'addition_fee' => $post["spouse_fee_{$i}"] ?? '0.00', 'addition_fee' => $post["spouse_fee_{$i}"] ?? '0.00',
......
...@@ -57,8 +57,16 @@ final class RetroactiveMembershipService ...@@ -57,8 +57,16 @@ final class RetroactiveMembershipService
'created_by' => $empId, 'created_by' => $empId,
])); ]));
// Assign membership number // Assign membership number (use provided one or auto-generate)
$membershipNumber = MemberNumberGenerator::assign($memberId); if (!empty($data['membership_number'])) {
$membershipNumber = $data['membership_number'];
$db->update('members', [
'membership_number' => $membershipNumber,
'updated_at' => date('Y-m-d H:i:s'),
], '`id` = ?', [$memberId]);
} else {
$membershipNumber = MemberNumberGenerator::assign($memberId);
}
// Update activated_at to the join date // Update activated_at to the join date
$db->update('members', [ $db->update('members', [
...@@ -149,6 +157,7 @@ final class RetroactiveMembershipService ...@@ -149,6 +157,7 @@ final class RetroactiveMembershipService
'full_name_ar' => $spouse['full_name_ar'], 'full_name_ar' => $spouse['full_name_ar'],
'national_id' => $spouse['national_id'] ?? null, 'national_id' => $spouse['national_id'] ?? null,
'date_of_birth' => $spouse['date_of_birth'] ?? null, 'date_of_birth' => $spouse['date_of_birth'] ?? null,
'marriage_date' => $spouse['marriage_date'] ?? $joinDate,
'phone_mobile' => $spouse['phone_mobile'] ?? null, 'phone_mobile' => $spouse['phone_mobile'] ?? null,
'status' => 'active', 'status' => 'active',
'join_date' => $spouse['join_date'] ?? $joinDate, 'join_date' => $spouse['join_date'] ?? $joinDate,
......
...@@ -54,6 +54,11 @@ ...@@ -54,6 +54,11 @@
<label style="display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151;">الاسم بالإنجليزية</label> <label style="display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151;">الاسم بالإنجليزية</label>
<input type="text" name="full_name_en" class="form-input" style="width:100%;padding:10px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;direction:ltr;" placeholder="Full Name in English"> <input type="text" name="full_name_en" class="form-input" style="width:100%;padding:10px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;direction:ltr;" placeholder="Full Name in English">
</div> </div>
<div>
<label style="display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151;">رقم العضوية</label>
<input type="text" name="membership_number" class="form-input" style="width:100%;padding:10px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;direction:ltr;" placeholder="رقم العضوية القديم (اختياري — يُولّد تلقائياً إن ترك فارغاً)">
<div style="font-size:11px;color:#6B7280;margin-top:4px;">أدخل رقم العضوية الأصلي للعضو القديم إن وُجد</div>
</div>
<div> <div>
<label style="display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151;">الرقم القومي</label> <label style="display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151;">الرقم القومي</label>
<input type="text" name="national_id" class="form-input" style="width:100%;padding:10px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;direction:ltr;" maxlength="14" placeholder="14 رقم"> <input type="text" name="national_id" class="form-input" style="width:100%;padding:10px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;direction:ltr;" maxlength="14" placeholder="14 رقم">
...@@ -657,6 +662,7 @@ function addSpouse() { ...@@ -657,6 +662,7 @@ function addSpouse() {
<div><label style="font-size:11px;color:#6B7280;">الاسم *</label><input type="text" name="spouse_name_${spouseIdx}" required class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div> <div><label style="font-size:11px;color:#6B7280;">الاسم *</label><input type="text" name="spouse_name_${spouseIdx}" required class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div>
<div><label style="font-size:11px;color:#6B7280;">الرقم القومي</label><input type="text" name="spouse_nid_${spouseIdx}" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;direction:ltr;"></div> <div><label style="font-size:11px;color:#6B7280;">الرقم القومي</label><input type="text" name="spouse_nid_${spouseIdx}" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;direction:ltr;"></div>
<div><label style="font-size:11px;color:#6B7280;">تاريخ الميلاد</label><input type="date" name="spouse_dob_${spouseIdx}" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div> <div><label style="font-size:11px;color:#6B7280;">تاريخ الميلاد</label><input type="date" name="spouse_dob_${spouseIdx}" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div>
<div><label style="font-size:11px;color:#6B7280;">تاريخ الزواج *</label><input type="date" name="spouse_marriage_date_${spouseIdx}" required class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div>
<div><label style="font-size:11px;color:#6B7280;">الهاتف</label><input type="text" name="spouse_phone_${spouseIdx}" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;direction:ltr;"></div> <div><label style="font-size:11px;color:#6B7280;">الهاتف</label><input type="text" name="spouse_phone_${spouseIdx}" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;direction:ltr;"></div>
<div><label style="font-size:11px;color:#6B7280;">تاريخ الانضمام</label><input type="date" name="spouse_join_date_${spouseIdx}" value="${joinDate}" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div> <div><label style="font-size:11px;color:#6B7280;">تاريخ الانضمام</label><input type="date" name="spouse_join_date_${spouseIdx}" value="${joinDate}" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div>
<div><label style="font-size:11px;color:#6B7280;">رسوم الإضافة</label><input type="number" name="spouse_fee_${spouseIdx}" value="0" step="0.01" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div> <div><label style="font-size:11px;color:#6B7280;">رسوم الإضافة</label><input type="number" name="spouse_fee_${spouseIdx}" value="0" step="0.01" class="form-input" style="width:100%;padding:6px 8px;border:1px solid #D1D5DB;border-radius:4px;font-size:12px;"></div>
......
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