Skip to content

Provides a user value to Doctrine Entities that implements Gedmo Blameable when using Console commands.

Notifications You must be signed in to change notification settings

bpolaszek/UserAwareCommandBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UserAwareCommandBundle

This Symfony bundle provides a user value to Doctrine Entities that implements Gedmo Blameable when using Console commands.

Installation

composer require bentools/user-aware-command-bundle

Then, enable the bundle into Symfony's AppKernel.php:

# app/AppKernel.php
class AppKernel extends Kernel
{
    public function registerBundles() 
    {
        // ...
        $bundles[] = new BenTools\UserAwareCommandBundle\UserAwareCommandBundle();
    }
}

Usage

The bundle just works out of the box, provided you already have the Blameable extension configured and working on your entities. Your console command just has to implement BenTools\UserAwareCommandBundle\Model\UserAwareInterface, which contains no method:

namespace AppBundle\Command;

use BenTools\UserAwareCommandBundle\Model\UserAwareInterface;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

class DoMyCommand extends Command implements UserAwareInterface 
{
    protected function execute(InputInterface $input, OutputInterface $output) {
	    // ...
	}
}

By default, the bundle will bind the System user to your createdBy / updatedBy properties.

You can change this user per command run with the --user option:

php bin/console do:mycommand --user Ben

Advanced configuration

# app/config.yml

user_aware_command:
    user_name: System # change default user
    option_name: user # change default command option
    option_shortcut: u # set option shortcut

About

Provides a user value to Doctrine Entities that implements Gedmo Blameable when using Console commands.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages