# التفويضات (كامل أو جزئي) — النطاق والمخرجات

## الهدف
- تمكين مستخدم (المفوَّض) من العمل نيابةً عن مستخدم آخر (الأساسي) عبر آلية تفويض موحّدة.

## تجربة المستخدم
- بدء/إيقاف وضع "العمل نيابةً عن [الأساسي]" من هيدر في أعلى التطبيق.
- مؤشّر دائم في الهيدر يوضح حالة التفويض النشطة.
- رسائل تأكيد/إشعارات الأفعال توضّح صراحة: "قام أحمد بالعمل نيابةً عن بدر" عند استخدام التفويض (دون بانر عام إضافي).
- في صفحات العرض والجداول، تظهر حقول التتبع (مثل: أنشئ بواسطة، اعتمد بواسطة، قدّم بواسطة) بصيغة "أحمد (نيابةً عن بدر)" عند تنفيذ الفعل بالتفويض.

## الصلاحيات والأمان
- تفويض كامل: يستطيع المفوَّض تنفيذ كل ما يستطيع الأساسي تنفيذه.
- تفويض جزئي: يستطيع المفوَّض تنفيذ صلاحيات محددة بالاسم فقط.
- شروط السماح عند كل تغيير في النظام:
  - التفويض يسمح بهذه الصلاحية، و
  - الأساسي يمتلك هذه الصلاحية فعلاً.
- دعم فترات زمنية للتفويض (بداية/نهاية) وإمكانية التعطيل في أي وقت.

## التغييرات على الواجهة
- شارة/وسم في الهيدر: "يعمل نيابةً عن [الأساسي]" مع رابط للإيقاف.
- رسائل واضحة داخل كل إجراء تُظهر أنه تم بالتفويض.
- عرض متسق لعبارات "أحمد (نيابةً عن بدر)" في حقول التتبع داخل صفحات التفاصيل والجداول.

## إدارة التفويضات
- شاشة إدارة للتفويضات: إنشاء/تعديل/إلغاء تفويضات (كاملة أو جزئية).
- اختيار الأساسي → المفوَّض، وتحديد الصلاحيات المسموح بها في التفويض الجزئي، وتعيين تواريخ البدء/الانتهاء والحالة.
- منع التفويض الذاتي وتجنّب تكرار التفويض لنفس الشخص.

## التدقيق والتقارير
- تسجيل الأنشطة يتضمن هوية المفوَّض والأساسي لكل فعل منفَّذ بالتفويض.

## السلوك والأمان التشغيلي
- حالة التفويض تعتمد على الجلسة وتُمسح عند تسجيل الخروج/انتهاء الجلسة.
- يعمل عبر جميع موارد Filament وإجراءاته بدون تغيير المستخدم المصادَق عليه.
- احترام الأدوار/الصلاحيات الحالية دون توسيع صلاحيات الأساسي.

## المخرجات
- نموذج بيانات للتفويض (كامل/جزئي، محدد بزمن) والعلاقات اللازمة.
- طبقة خدمة لإدارة بدء/إيقاف وضع "العمل نيابةً عن" وتطبيق النطاق.
- تكامل مع التفويض/السياسات لضمان إنفاذ القواعد.
- مؤشّر الهيدر ورسائل الأفعال المبيِّنة للتفويض.
- عرض متسق لعبارة "أحمد (نيابةً عن بدر)" في الحقول المتأثرة داخل الصفحات والجداول.
- واجهة إدارة (CRUD) للتفويضات.
- إثراء سجلات التدقيق ببيانات التفويض.
- اختبارات آلية مستهدفة ودليل استخدام مختصر.

## معايير القبول
- [ ] يمكن للمستخدم بدء/إيقاف العمل نيابةً عن مستخدم آخر من الواجهة.
- [ ] يتم إنفاذ التفويض الكامل والجزئي بشكل صحيح عبر الموارد والإجراءات.
- [ ] يظهر مؤشّر الترويسة طوال فترة التفويض النشطة.
- [ ] تعرض رسائل الأفعال "أحمد عملت نيابةً عن بدر" عند استخدام التفويض.
- [ ] تعرض صفحات العرض والجداول الحقول "أحمد (نيابةً عن بدر)" عند الاقتضاء.
- [ ] تسجّل سجلات التدقيق هويتي المفوَّض والأساسي لكل فعل بالتفويض.

## الافتراضات
- الأدوار والصلاحيات الحالية دقيقة ولن تتغير.

## خارج النطاق 
- رحلة موافقات خاصة بخاصية منح التفويضات.
