تخطَّ إلى المحتوى

المستخدمين والصلاحيات

الشابتر ده بيغطي كل حاجة عن مين يقدر يدخل التطبيق وإيه يقدر يعمله. أربع أدوار جاهزة، مصفوفة صلاحيات تفصيلية، وسجل نشاط بيتتبّع مين غيّر إيه.

الأربع أدوار

كل مستخدم عنده دور واحد بالظبط. الأدوار قوالب صلاحيات افتراضية — وتقدر تخصّص لكل دور من التحكم في الوصول.

الدورالمستخدم النموذجيالوصول الافتراضي
Adminالمالك، رئيس السنتركل حاجة. تحكم كامل.
Moderatorمدير المكتب، مسؤول الفرعكل حاجة ماعدا إدارة المستخدمين.
Teacherالمدرسينيشوف الداتا الأكاديمية، ياخد الحضور، يدير جدول مجموعاته.
Staffالاستقبال، السكرتاريةيشوف الداتا الأكاديمية، يعمل حجوزات، يشوف الجدول (قراءة بس).

مفيش طريقة تضيف دور جديد من الـ UI — الأربعة مدمجين في التطبيق. لكن تقدر تغيّر إيه كل دور يقدر ومايقدرش يعمله من مصفوفة الصلاحيات.

دعوة مستخدم جديد

المستخدمين ← مستخدم جديد (فوق على الشمال). املا:

  1. الاسم — بيظهر في dropdown الهيدر وفي سجل النشاط.
  2. الإيميل — هوية الدخول. لازم يكون فريد لكل سنتر.
  3. الدور — اختار من الأربعة. ينفع تغيّره بعدين.
  4. كلمة سر مبدئية — حطها دلوقتي، المستخدم يغيّرها أول دخول.
  5. نشط — قفله عشان تعمل الحساب بس تمنع الدخول.

اضغط إنشاء. المستخدم يقدر يدخل فوراً بالإيميل وكلمة السر المبدئية.

تغيير دور مستخدم

افتح صف المستخدم ← تعديل ← غيّر dropdown الدور ← احفظ. التأثير فوري؛ لو المستخدم داخل، أول صفحة يفتحها بعدها هتعكس الصلاحيات الجديدة.

ماتغيّرش دورك لغير-Admin — هتفقد القدرة على إرجاعه. التطبيق بيحذرك، بس آخر Admin متبقي هو اللي يقدر يرقّيك تاني.

إعادة تعيين كلمة سر مستخدم

طريقتين:

كأدمن (force reset)

صف المستخدم ← إعادة تعيين كلمة السر ← حط واحدة جديدة. المستخدم يستخدمها أول دخول بعد كده. مفيش إيميل بيتبعت.

كمستخدم (نسيت كلمة السر)

شاشة الدخول فيها رابط نسيت كلمة السر؟. بيبعت إيميل reset — المستخدم يضغط الرابط ويعمل كلمة سر جديدة من غير تدخل من الأدمن.

إيميلات نسيان كلمة السر محتاجة SMTP يكون مظبوط. من غير SMTP، المستخدمين مش هيقدروا يعملوا reset بنفسهم.

تعطيل وحذف

  • التعطيل (إقفال زر النشط) — بيحتفظ بسجل المستخدم وسجل نشاطه. ينفع تشغّله تاني في أي وقت. استخدمه لما موظف يمشي مؤقتاً أو محتاج تشيل وصول بسرعة.
  • الحذف — حذف نهائي. سجلات النشاط اللي عملها بتفضل (بإيميله، مش اسمه).

في حالة الشك، عطّل بدل ما تحذف. المستخدمين المعطلين مش بيتحسبوا على حد المستخدمين بتاع خطتك.

صفحة التحكم في الوصول (مصفوفة الصلاحيات)

الإعدادات ← التحكم في الوصول (Admin بس). شبكة: الصفوف صلاحيات (مجمّعة بالفئة)، الأعمدة أدوار. علّم على المربع للمنح؛ شيل العلامة للمنع. احفظ من فوق.

الفئات:

  • Core — عرض الداشبورد.
  • Academic — المدرسين، المواد، المجموعات، الطلاب، الفصول الدراسية، سلّم التقدير. كل كيان عنده مفاتيح منفصلة view / create / edit / delete.
  • Bookings — الحجوزات، أكواد الحجز، طلبات الحجز (بمفاتيحها الخاصة approve/reject).
  • Attendance — الحضور + الجدول، الاتنين view و manage.
  • Exams — view, create, edit, delete, publish, grade.
  • Memberships — view, create, edit, assign, sell.
  • Inventory — view, create, edit, delete, sell (Pro+).
  • Users — view، create، edit، delete للمستخدمين.
  • System — الفروع، العمولات (settle/edit/delete)، الفوترة، التكاملات، الإعدادات، إدارة السنتر، وصفحة التحكم في الوصول نفسها.

العمليات اللي بتشوفها عبر الفئات: view, create, edit, delete، بالإضافة لعمليات مخصّصة زي approve, reject, publish, grade, assign, sell, settle, manage.

لو الصلاحية اتغيّرت أثناء الجلسة

كاش الصلاحيات بيتحدّث لما المستخدم يتنقّل بين الصفحات. لو شيلت bookings.delete من Staff وموظف على صفحة الحجوزات، أول صفحة يضغطها بعدها هتعكس التغيير. مش هيتطرد، بس هيتقيّد بهدوء.

الاستثناء: لو طفّيت زر النشط للمستخدم، بيتعمله sign-out إجباري في حوالي 30 ث.

سجل النشاط

النشاط في الـ sidebar. قائمة عكسية بالوقت لأهم الأحداث:

  • الحجوزات (إنشاء، قبول، رفض، إلغاء)
  • التسجيلات (إنشاء، نقل، إلغاء)
  • تعديلات الحصص (إلغاء، تأجيل، تراجع)
  • إدارة المستخدمين (تغيير دور، reset كلمة سر، تعطيل/حذف)
  • تعديلات المواد / المجموعات / المدرسين
  • أحداث الدخول (sign-in، sign-out، فشل دخول)

كل صف بيعرض: مين، عمل إيه، إمتى، ولمحة سياق. فلتر بالـ actor أو نوع الإجراء. اضغط الصف عشان تدخل على الكيان.

السجل قراءة بس — محدش يقدر يعدّل أو يحذف، حتى الأدمن. الـ audit trail هو الـ audit trail.

أسئلة شائعة

مدرس بيشوف طلاب في مجموعات مش بيدرّسها. صحيح — الافتراضي حالياً “شوف كل الداتا الأكاديمية”. الرؤية لكل مدرس على مجموعاته بس في خطة v1.5. الحل المؤقت: ضيّق صلاحية students.view للدور، أو اعمل حسابات Staff لكل مدرس.

أدمنين، واحد نزّل دور التاني بالغلط. رقّيه تاني — افتح المستخدم وغيّر الدور لـ Admin. لو شيلت دورك أنت وكنت الأدمن الوحيد، تواصل مع السبورت — الاسترجاع يدوي بيتطلب تأكيد ملكية السنتر.

Moderator مش شايف الإعدادات ← التحكم في الوصول. صحيح — إدارة التحكم في الوصول للأدمن بس افتراضياً. اعطي مفتاح page.access_control.manage للـ Moderator من المصفوفة لو واثق فيه.