src/AdminSections/Users/UsersVoter.php line 9

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace PPAdmin\AdminSections\Users;
  3. use PlnaPenezenka\PPSDKBundle\Doctrine\Entity\Administrator;
  4. use PlnaPenezenka\PPSDKBundle\Doctrine\Entity\Web;
  5. use PPAdmin\AdminSections\AdminSectionsList;
  6. use PPAdmin\Security\AbstractAdminGridSectionVoter;
  7. class UsersVoter extends AbstractAdminGridSectionVoter
  8. {
  9.     const SECTION_PERMISSION_VIEW_EMAILS '.view-emails'// can view full e-mail
  10.     public static function getSectionIdentifier(): string
  11.     {
  12.         return AdminSectionsList::USERS;
  13.     }
  14.     protected function voteOnSectionPermission(Administrator $adminstring $section_permission$subject null): bool
  15.     {
  16.         return match($section_permission) {
  17.             self::SECTION_PERMISSION_VIEW_EMAILS => $this->canViewEmails($admin),
  18.             default => parent::voteOnSectionPermission($admin$section_permission$subject)
  19.         };
  20.     }
  21.     function canViewEmails(Administrator $admin): bool
  22.     {
  23.         return $admin->isSuperAdmin() || $admin->hasPermission(self::getPermission(self::SECTION_PERMISSION_VIEW_DETAIL));
  24.     }
  25.     function canCreateSectionRecords(Administrator $adminWeb $web): bool
  26.     {
  27.         return false;
  28.     }
  29. }