Example #1
0
 /**
  * @param ProfileEvent $event
  */
 public function updateModuleAccess(ProfileEvent $event)
 {
     if (null !== ($profile = ProfileQuery::create()->findPk($event->getId()))) {
         ProfileModuleQuery::create()->filterByProfileId($event->getId())->delete();
         foreach ($event->getModuleAccess() as $moduleCode => $accesses) {
             $manager = new AccessManager(0);
             $manager->build($accesses);
             $profileModule = new ProfileModule();
             $profileModule->setProfileId($event->getId())->setModule(ModuleQuery::create()->findOneByCode($moduleCode))->setAccess($manager->getAccessValue());
             $profileModule->save();
         }
         $event->setProfile($profile);
     }
 }