Sylius GDPR Plugin
Features
- Anonymize customer with the GDPR section in the admin customer show.
- Export customer data with the GDPR section in the admin customer show.
Click to see the anonymization configuration.
Click to see the export data configuration.
- Anonymize any entity with command for example :
php bin/console synolia:gdpr:anonymize --entity='Sylius\Component\Core\Model\Customer' --id=1 Use --help to get more informations
Events
- Synolia\SyliusGDPRPlugin\Event\BeforeAnonymize
- Synolia\SyliusGDPRPlugin\Event\AfterAnonymize
- Synolia\SyliusGDPRPlugin\Event\BeforeCustomerAnonymize
- Synolia\SyliusGDPRPlugin\Event\AfterCustomerAnonymize
- Synolia\SyliusGDPRPlugin\Event\BeforeExportCustomerData
Requirements
| Version | |
|---|---|
| PHP | 7.4, 8.0, 8.1 |
| Sylius | 1.10, 1.11 |
Installation
-
Add the bundle and dependencies in your composer.json :
composer require synolia/sylius-gdpr-plugin --no-scripts
-
Enable the plugin in your
config/bundles.phpfile by addSynolia\SyliusGDPRPlugin\SynoliaSyliusGDPRPlugin::class => ['all' => true],
-
Import required config in your
config/packages/_sylius.yamlfile:imports: - { resource: "@SynoliaSyliusGDPRPlugin/Resources/config/app/config.yaml" }
-
Import routing in your
config/routes.yamlfile:synolia_gdpr: resource: "@SynoliaSyliusGDPRPlugin/Resources/config/routes/admin/customer.yaml" prefix: '/%sylius_admin.path_name%'
And
synolia_gdpr: resource: "@SynoliaSyliusGDPRPlugin/Resources/config/routes/admin/gdpr.yaml" prefix: '/%sylius_admin.path_name%'
Or you can add this conf file, which will import the entire route configuration
synolia_gdpr: resource: "@SynoliaSyliusGDPRPlugin/Resources/config/routes.yaml" prefix: '/%sylius_admin.path_name%'
-
Clear cache
php bin/console cache:clear
Add anonymization configuration
synolia_sylius_gdpr: disable_default_mappings: false # False by default anonymization: mappings: paths: - # Your\Paths\To\Mappings\Directory
Example of configuration
Sylius\Component\Core\Model\Address: # Your class path properties: firstName: faker: text # let's see => https://fakerphp.github.io/formatters/ args: [20] # The associated faker arguments prefix: 'anonymized-' lastName: value: 'Fake lastName' prefix: 'anonymized-'
Value can be null, an array, an int and a string
Add form in advanced actions page
There's two steps to add your custom form into the page:
- Override the controller service by setting the link of your FormType in the $formsType variable
Synolia\SyliusGDPRPlugin\Controller\AdvancedActionsController: arguments: $formsType: - 'Synolia\SyliusGDPRPlugin\Form\Type\Actions\AnonymizeCustomerNotLoggedSinceType' tags: ['controller.service_arguments']
- Then create your form processor by implementing Synolia\SyliusGDPRPlugin\Processor\AnonymizerProcessor\AdvancedActionsFormDataProcessorInterface
There a form processor example
Development
See How to contribute.
License
This library is under the EUPL-1.2 license.
Credits
Developed by Synolia.
