Example #1
0
 /**
  *
  * @param object $query
  * @return string Rendered string
  * @api
  */
 public function run($query)
 {
     $schema = $this->templateVariableContainer->get('schema');
     $properties = $schema->getFilterProperties();
     $className = $this->templateVariableContainer->get('className');
     $classSchema = $this->reflectionService->getClassSchema($className);
     if (empty($properties)) {
         return;
     }
     $filter = array();
     if ($this->request->hasArgument("filter")) {
         $filter = $this->request->getArgument("filter");
         $constraints = array();
         foreach ($filter as $property => $value) {
             $constraints[] = $query->equals($property, $value);
         }
         $query->matching($query->logicalAnd($query->getConstraint(), $query->logicalAnd($constraints)));
     }
     $this->viewHelperVariableContainer->add('Flowpack\\Expose\\QueryBehaviors\\FilterBehavior', 'filter', $filter);
     $content = $this->viewHelperVariableContainer->getView()->renderPartial('Filter', NULL, array('filter' => $filter, 'properties' => $properties));
     $this->viewHelperVariableContainer->remove('Flowpack\\Expose\\QueryBehaviors\\FilterBehavior', 'filter');
     $this->addToBlock('sidebar', $content);
 }
 /**
  * Validate lifecycle callbacks
  *
  * @param ReflectionService $reflService
  * @return void
  */
 public function validateLifecycleCallbacks($reflService)
 {
     foreach ($this->lifecycleCallbacks as $event => $callbacks) {
         foreach ($callbacks as $callbackFuncName) {
             if (!$reflService->hasPublicMethod($this->name, $callbackFuncName)) {
                 throw MappingException::lifecycleCallbackMethodNotFound($this->name, $callbackFuncName);
             }
         }
     }
 }