diff -r 806e57d67020 -r e54dfe4d0b2b vendor/bundles/FOS/UserBundle/Command/PromoteUserCommand.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/bundles/FOS/UserBundle/Command/PromoteUserCommand.php Fri Sep 30 11:24:53 2011 +0200 @@ -0,0 +1,57 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace FOS\UserBundle\Command; + +use Symfony\Component\Console\Output\OutputInterface; +use FOS\UserBundle\Util\UserManipulator; + +/** + * @author Matthieu Bontemps + * @author Thibault Duplessis + * @author Luis Cordova + * @author Lenar Lõhmus + */ +class PromoteUserCommand extends RoleCommand +{ + /** + * @see Command + */ + protected function configure() + { + parent::configure(); + + $this + ->setName('fos:user:promote') + ->setDescription('Promotes a user by adding a role') + ->setHelp(<<fos:user:promote command promotes a user by adding a role + + php app/console fos:user:promote matthieu ROLE_CUSTOM + php app/console fos:user:promote --super matthieu +EOT + ); + } + + protected function executeRoleCommand(UserManipulator $manipulator, OutputInterface $output, $username, $super, $role) + { + if ($super) { + $manipulator->promote($username); + $output->writeln(sprintf('User "%s" has been promoted as a super administrator.', $username)); + } else { + if ($added = $manipulator->addRole($username, $role)) { + $output->writeln(sprintf('Role "%s" has been added to user "%s".', $role, $username)); + } else { + $output->writeln(sprintf('User "%s" did already have "%s" role.', $username, $role)); + } + } + } +}