/**
  * Before controller action listener.
  *
  * @param FilterControllerEvent $event
  */
 public function onKernelController(FilterControllerEvent $event)
 {
     $controller = $event->getController();
     if (!is_array($controller)) {
         return;
     }
     if ($controller[0] instanceof ExpressionAwareController) {
         // Initialize Accard Language component.
         AccardLanguage::setExpressionLanguage($this->exprLanguage);
     }
     // Inject the request if required.
     if ($controller[0] instanceof ResourceController) {
         $controller[0]->getConfiguration()->setRequest($event->getRequest());
     }
     // Run initialization if required.
     if ($controller[0] instanceof InitializableController) {
         $controller[0]->initialize($event->getRequest(), $this->authChecker);
     }
 }
 /**
  * Construct.
  *
  * @param AccardLanguage $accardLanguage
  */
 public function __construct(AccardLanguage $accardLanguage)
 {
     $this->exprLanguage = $accardLanguage->getExpressionLanguage();
 }
Ejemplo n.º 3
0
 public function setContainer(ContainerInterface $container = null)
 {
     parent::setContainer($container);
     // Initialize the expression language.
     // This may not be the best place to put this...
     AccardLanguage::setExpressionLanguage($container->get('dag.expression_language'));
     $this->resourceResolver = new ResourceResolver($this->config);
     if (null !== $container) {
         $this->redirectHandler = new RedirectHandler($this->config, $container->get('router'));
         $this->flashHelper = new FlashHelper($this->config, $container->get('translator'), $container->get('session'));
         $this->domainManager = new DomainManager($container->get($this->config->getServiceName('manager')), $container->get('event_dispatcher'), $this->flashHelper, $this->config);
         $authChecker = $this->get('security.authorization_checker');
         if ($this->getUser() && $authChecker->isGranted('IS_AUTHENTICATED_FULLY')) {
             $this->actionLogger = new ActionLogger($this->config, $this->getUser(), $container->get('dag.manager.log'));
         }
     }
 }
Ejemplo n.º 4
0
 /**
  * Create a dataset translator.
  *
  * @return DatasetTranslator
  */
 public function createDatasetTranslator()
 {
     if (null === $this->datasetTranslatorCache) {
         $exprLanguage = $this->container->get('accard.expression_language');
         AccardLanguage::setExpressionLanguage($exprLanguage);
         $this->datasetTranslatorCache = new DatasetTranslator(AccardLanguage::getInstance());
     }
     return $this->datasetTranslatorCache;
 }
Ejemplo n.º 5
0
 public function testAccardLanguageGetExpressionLanguageReturnsExpressionLanguage()
 {
     $dagLanguage = new AccardLanguage();
     $this->assertInstanceOf('DAG\\Bundle\\ResourceBundle\\ExpressionLanguage\\ExpressionLanguage', $dagLanguage->getExpressionLanguage());
 }
Ejemplo n.º 6
0
 /**
  * {@inheritdoc}
  */
 public function getParsedDescription(PrototypeSubjectInterface $subject)
 {
     return AccardLanguage::getInstance()->createPrototypeDescription($subject);
 }