1 الخلاصة في سطرين
الكاشير مايظبّطش الخزائن — الأدمن بيظبّطها مرة واحدة، والكاشير بس بيحصّل والفلوس بتتوجّه تلقائيًا. ظهور «No treasuries found» عند emad لأنه دور reception ومعندوش صلاحية lis.settings، فشاشة «حسابات الدفع» (إعداد) بترجّع 403 وتبان فاضية — وهي أصلاً مش شاشته.
2 اللي بيحصل فعلاً مع emad (بالأدلة)
| العنصر | القيمة |
| الدور | reception |
| صلاحيات الدفع | عنده lis.payments.view + lis.payments.create — يقدر يحصّل |
| صلاحية الإعدادات | معندوش lis.settings — مايقدرش يدير الخزائن |
GET /lis/treasuries عنده | HTTP 403 → القائمة فاضية → «No treasuries found» |
| الخزائن الموجودة فعلاً (الأدمن شايفها) | 5 خزائن: خزينة رئيسية · فيزا/شبكة · تمارا · تابي · تحويل بنكي |
يعني: الخزائن موجودة ومتظبطة — emad بس مش بيشوفها لأنها شاشة إعداد (أدمن). الرسالة مضلّلة ليه لأنها بتقترح إنه «يعمل خزائن» وهو لا يقدر ولا المفروض.
3 النموذج الصح — مين يعمل إيه
👤 الأدمن / مدير المعمل lis.settings
- ينشئ الخزائن (كاش + فيزا + تمارا + تابي + تحويل).
- يربط كل وسيلة دفع بحسابها (تابة حسابات الدفع).
- (اختياري) خزينة كاش لكل فرع.
مرة واحدة عند الإعداد — مش شغل يومي.
🧾 الكاشير (emad) lis.payments
- يحصّل من شاشة التحصيل/المدفوعات.
- الفلوس تتوجّه تلقائيًا لحساب الوسيلة (من غير ما يختار خزينة).
- كل دفعة تتختم على ورديته + فرعه.
- مايدخلش تابة حسابات الدفع خالص.
شغل يومي بسيط — ضغطة تحصيل.
4 «الكاشير بيشتغل على الخزنة» إزاي؟ = عن طريق الوردية مش الإعدادات
مسؤولية الكاشير عن الكاش بتتحدد بـ وردية (Cashier Shift) — مش بإدارة الخزينة:
يفتح وردية بفكّة افتتاحية (float)→
يحصّل (كل دفعة تتختم session + branch + method)→
يقفل ويعدّ الكاش→
Z-report: متوقع مقابل معدود = عجز/زيادة
ده موجود فعلاً (LisCashierSession: float / expected / counted / over_short). فالكاشير «بيشتغل على الخزنة» من خلال ورديته، والكاش بيتطابق آخر اليوم — من غير ما يلمس إعدادات الخزائن.
5 المشكلة الحقيقية + الإصلاح
| المشكلة | الإصلاح |
| تابة «حسابات الدفع» (وشاشة إعدادات المعمل) ظاهرة للكاشير رغم إنها أدمن-أونلي، وبتوريه رسالة مضلّلة. |
نخفي شاشة الإعدادات (وتابة حسابات الدفع) عن أي يوزر معندوش lis.settings. ده جزء من فجوة «لينك Settings ظاهر دايمًا» اللي رصدناها في تدقيق الصلاحيات. |
| الكاشير محتاج يحصّل والفلوس تروح صح. |
جاهز — التحصيل بيوجّه تلقائيًا للخزينة المربوطة بالوسيلة + يختم الوردية. (emad عنده lis.payments.create.) |
متعدد الفروع: emad في 3 فروع، والخزائن دلوقتي عامة (branch_id = None). |
(اختياري) خزينة كاش لكل فرع + الكاشير يفتح ورديته على خزينة فرعه. القنوات (فيزا/تمارا…) تفضل مشتركة. |
6 قرارات محتاج رأيك فيها
قرار 1 — إخفاء شاشة الإعدادات عن الكاشير
أخفي «إعدادات المعمل / حسابات الدفع» عن أي يوزر بدون
lis.settings (زي emad)؟
(توصيتي: نعم — مش شاشته أصلاً)
قرار 2 — خزينة كاش لكل فرع
نعمل خزينة كاش لكل فرع من فروع emad (Medinah 2 / الرياض / جده) ونلزمه يفتح ورديته على خزينة فرعه؟
(توصيتي: نعم لو الفروع بتمسك كاش منفصل)
قرار 3 — فتح وردية إجباري قبل التحصيل
نخلي الكاشير
لازم يفتح وردية قبل ما يحصّل (عشان كل قرش يتربط بوردية)؟
(توصيتي: نعم — ده جوهر المساءلة)
7 الخلاصة
emad مش محتاج يشوف الخزائن أو يظبّطها — الأدمن ظبّطها (5 خزائن جاهزة)، وemad بس يحصّل والفلوس بتتوجّه تلقائيًا وتتختم على ورديته. كل اللي محتاجينه: نخفي تابة الإعدادات عنه، و(اختياري) خزائن كاش بالفرع + إلزام فتح الوردية. مساءلة الكاشير عن الكاش = الوردية، مش إدارة الخزينة.