Skip to content

إدارة الموظفين

كيان Employee (src/Entity/Organization/Employee) هو نموذج المستخدم في نظام Doggy، وهو أيضًا الموضوع (Principal) لمصادقة Symfony Security. تعتمد نقاط الدخول الإدارية على EmployeeController وEmployeeApiController.

نظرة عامة

يغطي نموذج إدارة الموظفين دورة الحياة الكاملة:

  • منظور الموارد البشرية: إدارة السجل، إجراءات التوظيف، التحليلات الإحصائية
  • منظور تقنية المعلومات: إنشاء الحسابات، توزيع الصلاحيات، إعدادات Passkey
  • منظور المدراء: إدارة الفريق، علاقات التقارير، إعادة توزيع الموظفين

بنية الكيان

Employee هو كيان App\Entity\Organization\Employee، وهو أيضًا مزوّد المستخدمين في Security:

yaml
# config/packages/security.yaml
providers:
  app_user_provider:
    entity:
      class: App\Entity\Organization\Employee

الحقول الرئيسية:

  • isPasswordModifiedByUser: مؤشر على ما إذا كانت كلمة المرور الأولية قد تم تعديلها
  • علاقة واحد-إلى-متعدد مع WebauthnCredential (passkeys)
  • إدارة الصورة الرمزية عبر AvatarController

الوظائف الأساسية

سجل الموظفين

  • واجهة الإدارة: templates/employee/list.html.twig
  • صفحة التفاصيل: templates/employee/show.html.twig
  • صفحة التحرير: templates/employee/edit.html.twig
  • درج التحرير: templates/employee/edit_drawer.html.twig
  • إدارة الصورة الرمزية: templates/employee/_avatar_modal.html.twig

واجهات برمجة التطبيقات

توفر إدارة الموظفين واجهة RESTful API عبر EmployeeApiController:

http
GET    /api/admin/employees         # 员工列表
POST   /api/admin/employees         # 创建员工
GET    /api/admin/employees/{id}    # 员工详情
PUT    /api/admin/employees/{id}    # 更新员工
DELETE /api/admin/employees/{id}    # 删除员工

عملية التوظيف

عند أول تسجيل دخول، يكتشف النظام تلقائيًا حالة المستخدم عبر UserSetupListener:

  1. التحقق مما إذا كانت كلمة المرور قد تم تعديلها (isPasswordModifiedByUser)
  2. التحقق مما إذا تم تسجيل Passkey
  3. في حال عدم اكتمال أي خطوة يتم توجيه المستخدم إلى صفحة الإعدادات

إعدادات المستخدم

php
// src/EventListener/UserSetupListener.php
// 权限路由白名单: app_user_setup, app_logout
// WebAuthn 和登录路由始终可访问

// 密码未修改或未设置 Passkey 时重定向到设置页

نقاط الدخول الإدارية

  • قائمة الموظفين: App\Controller\EmployeeController
  • API: App\Controller\Api\EmployeeApiController
  • الصورة الرمزية: App\Controller\Api\AvatarController

مصدر مفتوح برخصة MIT | حقوق النشر © 2026 Doggy