Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. class UserSerializationSubscriber implements EventSubscriberInterface
  2. {
  3. private $coreTwigExtension;
  4.  
  5. private $user;
  6.  
  7. public function setCoreTwigExtension(TwigExtension $coreTwigExtension)
  8. {
  9. $this->coreTwigExtension = $coreTwigExtension;
  10. }
  11.  
  12. public function setUserService(UserService $user)
  13. {
  14. $this->user = $user;
  15. }
  16.  
  17. public static function getSubscribedEvents()
  18. {
  19. return array(
  20. array(
  21. 'event' => 'serializer.pre_serialize',
  22. 'method' => 'onObjPreSerialize',
  23. 'class' => 'SomeBundleEntityEntityClass',
  24. 'format' => 'json'
  25. )
  26. );
  27. }
  28.  
  29. public function onObjPreSerialize(PreSerializeEvent $event)
  30. {
  31. $context = $event->getContext();
  32. $context->attributes->get('groups')->map(
  33. function(array $groups) use ($event) {
  34. if (in_array('somegroup', $groups)) {
  35. $obj= $event->getObject();
  36.  
  37. if ($obj->getConfirmedOn()) {
  38. $contextualDate = $this->coreTwigExtension->getContextualDate($obj->getConfirmedOn());
  39. $event->getVisitor()->addData('displayConfirmedOn', $contextualDate);
  40. }
  41. }
  42. }
  43. );
  44. }
  45.  
  46. some_bundle.handler.serialization:
  47. class: SomeBundleHandlerObjectSerializationSubscriber
  48. calls:
  49. - [setCoreTwigExtension, ['@bundle_core.twig.extension']]
  50. - [setUserService, ['@some_bundle.service.user']]
  51. tags:
  52. - { name: jms_serializer.event_subscriber }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement