/** * @param PenaltyEvent $event */ public function closedPenalty(PenaltyEvent $event) { $user = $event->getPenalty()->getUser(); $criteria = Criteria::create()->where(Criteria::expr()->eq('status', Penalty::ACTIVE)); if ($user->getPenalties()->matching($criteria)->count() === 0) { $user->setIsPenalized(false); $this->manager->persist($user); $this->manager->flush(); } }
public function let(ObjectManager $manager, Penalty $penalty, PenaltyEvent $event, User $user) { $this->beConstructedWith($manager); $event->getPenalty()->willReturn($penalty); $penalty->getUser()->willReturn($user); }