digitalstate / platform-user-bundle
DigitalState User Bundle
Installs: 153
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 1
Type:symfony-bundle
Requires
- php: >=5.6
- digitalstate/platform-data-bundle: ~0.3.0
- digitalstate/platform-user-persona-bundle: ~0.3.0
- oro/platform: 2.0.*
- oro/platform-serialised-fields: 2.0.*
This package is not auto-updated.
Last update: 2024-10-26 20:26:44 UTC
README
The User bundle extends the OroUserBundle and provides the developers additional core user functionality.
Table of Contents
Data Resolvers
This bundle introduces another type of data resolver based on current session data, instead of the database.
Example:
<?php namespace Gov\Bundle\DemoBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class DemoController extends Controller { public function demoAction() { $data = $this->get('ds.data.data'); $username = $data->resolve('ds.session.user.username'); } }
A typical use case would be when you wish to pre-populate a form with session data.
Example:
<?php namespace Gov\Bundle\DemoBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; class DemoType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('username', 'text', [ 'data' => 'ds.session.user.username', 'resolve' => true ]); } }
Migration Extensions
This bundle introduces a collection of convenient migration extensions to help with loading yml-based data fixtures.
Example:
<?php namespace Gov\Bundle\DemoBundle\Migrations\Data\ORM; use Doctrine\Common\DataFixtures\AbstractFixture; use Ds\Bundle\UserBundle\Migration\Extension\UserExtensionAwareInterface; use Ds\Bundle\UserBundle\Migration\Extension\UserExtensionAwareTrait; use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Symfony\Component\DependencyInjection\ContainerAwareTrait; use Doctrine\Common\Persistence\ObjectManager; class LoadUserData extends AbstractFixture implements UserExtensionAwareInterface, ContainerAwareInterface { use UserExtensionAwareTrait; use ContainerAwareTrait; public function load(ObjectManager $manager) { // Currently extensions are not automatically injected via the *AwareInterface. $this->setUserExtension($this->container->get('ds.user.migration.extension.user')); // $resource = __DIR__.'/../../../Resources/data/users.yml'; $this->userExtension->import($resource, $manager); } }
users: - username: john password: john email: john@gov.com roles: [ ROLE_USER ] first_name: John last_name: Doe prototype: email: ~ roles: [] first_name: ~ last_name: ~ owner: main business_units: [ main ] organization: default organizations: [ default ] enabled: true