/** * Called on the postLoad event. * * @param LifecycleEventArgs $eventArgs */ public function postLoad(LifecycleEventArgs $eventArgs) { $object = $eventArgs->getObject(); // only handle our model if (!$object instanceof Group) { return; } // read group option data $topLevelCategory = $this->groupService->getOptionsFor($object->getRoleName()); $categories = $topLevelCategory->getCategories(); foreach ($categories as $category) { $name = $category->getName(); switch ($name) { case 'frontend': $object->setFrontendUserCategory($category); break; case 'mod': $object->setFrontendModCategory($category); break; case 'acp': $object->setACPCategory($category); break; } } }
/** * Tests that options can be removed. */ public function testRemoval() { $this->groupService->setOptionsFor('ADMIN', $this->optionData['admin']); $options = $this->groupService->getOptionsFor('ADMIN'); $this->assertEquals($this->optionData['admin'], $options); $this->groupService->removeOptionsFor('ADMIN'); try { $this->groupService->getOptionsFor('ADMIN'); $this->fail(); } catch (\Exception $e) { $this->assertTrue(true); } }