fix(facility-grids, members): cross-grid delete auth gap, blank names, wrong...
fix(facility-grids, members): cross-grid delete auth gap, blank names, wrong permissions, dead crons, FY string mismatch FacilityGrids: - ZoneTraineeController::remove()/clearZone()/move() ما كانوش بيتأكدوا إن المتدرب/المنطقة فعلاً تابعين لنفس الشبكة في الـ URL — أي حد عنده facility_grid.manage على أي شبكة كان يقدر يمسح متدرب أو يفرغ منطقة تابعة لشبكة تانية تمامًا لو خمّن الـ ID. دلوقتي بيتأكدوا من الملكية الأول. - FacilityAttendanceService::sendPaymentReminders() والـ view بتاع شاشة الحضور كانوا لسه بيقروا name_ar بعد ما الكويري اتصلح لـ full_name_ar — فكل تذكير دفع كان بيتبعت باسم فاضي، وشاشة تسجيل الحضور كانت بتطلع كل أسماء المدربين/المتدربين فاضية وبتحفظ entity_name_cache فاضي في القاعدة. - MonthlyPlanController::index() كان بيتحقق من صلاحية مختلفة عن اللي مسجلة على الـ route بتاعه (manage بدل view) — يعني حتى لو عندك صلاحية العرض بس، تاخد 403 فور ما تدخل شاشة الخطط الشهرية. - زرار "إنشاء شبكة" و"خطة جديدة" كانوا بيتحكموا بصلاحية facility.manage (بتاعة موديول Facilities المختلف) بدل facility_grid.manage بتاع الموديول نفسه. - زرار "تصدير PDF" في لوحة المالية كان بيسمي نفسه غلط — الملف اللي بينزل فعليًا HTML مش PDF. Members: - AutoFreezeService::freezeTemporaryAtAgeLimit() كانت شرطه بيدور على أكواد فئات (sisters_under_25 إلخ) مش موجودة في القاعدة أصلًا — الفئات الحقيقية المخزنة هي sister/stepchild/orphan، فالكرون كان ميت فعليًا ومفيش شقيقة ولا ابن زوج ولا يتيم بيتقفل تلقائيًا بعد سن 25. - حالة permanently_dropped (اللي بيكتبها كرون إسقاط الأعضاء) ما كانتش في قائمة تسميات الحالات — فكانت بتظهر بالإنجليزي الخام في أي شاشة تعرض حالة العضو. اتضافت هي وterminated اللي كانت ناقصة في نفس القائمة. - MemberController::show() كان بيبني السنة المالية الحالية بصيغة فيها شرطة (2025-2026) بينما كل مكان تاني في الكود بيكتبها بشرطة مايلة (2025/2026) زي ما فعليًا متخزن في subscriptions — فكانت شاشة بروفايل أي عضو دايمًا بتقول إن مفيش اشتراك للسنة الحالية حتى لو مدفوع فعلًا. Plus extreme-detail reference docs for both modules.
Showing
docs/reference/members.md
0 → 100644
This diff is collapsed.
Please register or sign in to comment