/** * {@inheritdoc} */ protected function executeRoleCommand(OutputInterface $output, UserInterface $user, array $securityRoles) { $error = false; foreach ($securityRoles as $securityRole) { if (!$user->hasRole($securityRole)) { $output->writeln(sprintf('<error>User "%s" didn\'t have "%s" Security role.</error>', (string) $user, $securityRole)); $error = true; continue; } $user->removeRole($securityRole); $output->writeln(sprintf('Security role <comment>%s</comment> has been removed from user <comment>%s</comment>', $securityRole, (string) $user)); } if (!$error) { $this->getEntityManager()->flush(); } }
/** * Check if a wishlist is publicly available, or the * user has special privileges to access it. * * @param $user * @param $wishlist * @return bool */ protected function userCanAccessWishlist(UserInterface $user = null, WishlistInterface $wishlist) { if ($wishlist->isPublic()) { return true; } if ($user) { if ($user->hasRole('ROLE_ADMINISTRATION_ACCESS') || $user->getCustomer() && $user->getCustomer()->getId() == $wishlist->getCustomer()->getId()) { return true; } } return false; }