Ejemplo n.º 1
0
 /**
  * @param string $themeClassName
  * @param PropertyAccessorInterface $propertyAccessor
  */
 public function __construct($themeClassName, PropertyAccessorInterface $propertyAccessor)
 {
     $this->themeClassName = $themeClassName;
     $this->propertyAccessor = $propertyAccessor;
     $this->optionsResolver = new OptionsResolver();
     $this->optionsResolver->setRequired(['name', 'slug'])->setDefined('description')->setDefault('parents', [])->setAllowedTypes('parents', 'array');
 }
 /**
  * Set up the configurations of options
  * passed as argument into the following methods of this class :
  * - getWeekDates
  * - getWeekMeals
  */
 private function configureWeekMealOptions()
 {
     $this->weekMealResolver->setDefined(array('date_day', 'without_pork', 'enable_next_week', 'days_ofweek_off', 'dates_off'));
     $this->weekMealResolver->setAllowedTypes('date_day', \DateTimeInterface::class);
     $this->weekMealResolver->setDefaults(array('without_pork' => false, 'enable_next_week' => false, 'days_ofweek_off' => array(Day::WEEK_WEDNESDAY), 'dates_off' => array()));
     $this->weekMealResolver->setRequired(array('without_pork', 'date_day'));
 }
 /**
  * ActivityRepositoryAbstract constructor.
  *
  * @inheritdoc
  */
 public function __construct($em, \Doctrine\ORM\Mapping\ClassMetadata $class)
 {
     $this->dayListResolver = new OptionsResolver();
     $this->dayListResolver->setRequired(array('date_day', 'school'));
     $this->configureDayListOptions($this->dayListResolver);
     parent::__construct($em, $class);
 }
Ejemplo n.º 4
0
 protected function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired("type");
     $resolver->setRequired("name");
     $resolver->setAllowedValues('type', ['url', 'image', 'text', 'page_select', 'product_category_select', 'product_select', 'collection_select']);
     $resolver->setDefaults(array('type' => 'text', 'options' => 'options'));
 }
Ejemplo n.º 5
0
 /**
  * Configure adapter options
  *
  * @param  OptionsResolver $resolver
  * @throws \Symfony\Component\OptionsResolver\Exception\AccessException
  * @throws \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired('username')->setAllowedTypes('username', ['string']);
     $resolver->setRequired('password')->setAllowedTypes('password', ['string']);
     $resolver->setRequired('roles')->setAllowedTypes('roles', ['array']);
     $resolver->setDefined('salt')->setAllowedTypes('salt', ['string', 'null']);
 }
Ejemplo n.º 6
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired(array('relative_path'));
     $resolver->setRequired(array('imagine_filter'));
     $resolver->setDefaults(array('class' => '', 'padding' => '', 'name' => '', 'orderable' => false, 'searchable' => false, 'title' => '', 'type' => '', 'visible' => true, 'width' => '', 'search_type' => 'like', 'filter_type' => 'text', 'filter_options' => array(), 'filter_property' => '', 'filter_search_column' => '', 'holder_url' => '', 'holder_width' => '50', 'holder_height' => '50', 'enlarge' => false));
     $resolver->setAllowedTypes('class', 'string');
     $resolver->setAllowedTypes('padding', 'string');
     $resolver->setAllowedTypes('name', 'string');
     $resolver->setAllowedTypes('orderable', 'bool');
     $resolver->setAllowedTypes('searchable', 'bool');
     $resolver->setAllowedTypes('title', 'string');
     $resolver->setAllowedTypes('type', 'string');
     $resolver->setAllowedTypes('visible', 'bool');
     $resolver->setAllowedTypes('width', 'string');
     $resolver->setAllowedTypes('search_type', 'string');
     $resolver->setAllowedTypes('filter_type', 'string');
     $resolver->setAllowedTypes('filter_options', 'array');
     $resolver->setAllowedTypes('filter_property', 'string');
     $resolver->setAllowedTypes('filter_search_column', 'string');
     $resolver->setAllowedTypes('imagine_filter', 'string');
     $resolver->setAllowedTypes('relative_path', 'string');
     $resolver->setAllowedTypes('holder_url', 'string');
     $resolver->setAllowedTypes('holder_width', 'string');
     $resolver->setAllowedTypes('holder_height', 'string');
     $resolver->setAllowedTypes('enlarge', 'bool');
     $resolver->setAllowedValues('search_type', array('like', 'notLike', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte', 'in', 'notIn', 'isNull', 'isNotNull'));
     $resolver->setAllowedValues('filter_type', array('text', 'select'));
     return $this;
 }
Ejemplo n.º 7
0
 public function __construct(TokenRetrieveHelper $helper, array $config = [])
 {
     $this->config = $config;
     $this->helper = $helper;
     $this->optionsResolver = new OptionsResolver();
     $this->optionsResolver->setRequired(['client_id', 'client_secret', 'grant_type']);
     $this->optionsResolver->setDefault('grant_type', $this->getGrantType());
 }
 /**
  * Instanciate the base filter
  *
  * @param AttributeValidatorHelper       $attrValidatorHelper
  * @param ConfigurationRegistryInterface $registry
  * @param ReferenceDataIdResolver        $idsResolver
  * @param array                          $supportedOperators
  */
 public function __construct(AttributeValidatorHelper $attrValidatorHelper, ConfigurationRegistryInterface $registry, ReferenceDataIdResolver $idsResolver, array $supportedOperators = [])
 {
     $this->attrValidatorHelper = $attrValidatorHelper;
     $this->registry = $registry;
     $this->idsResolver = $idsResolver;
     $this->supportedOperators = $supportedOperators;
     $this->optionsResolver = new OptionsResolver();
     $this->optionsResolver->setRequired(['field'])->setDefined(['locale', 'scope']);
 }
Ejemplo n.º 9
0
 /**
  * Configure adapter options
  *
  * @param  OptionsResolver $resolver
  * @throws \Symfony\Component\OptionsResolver\Exception\AccessException
  * @throws \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired('table_name')->setAllowedTypes('table_name', ['string']);
     $resolver->setRequired('identity_column')->setAllowedTypes('identity_column', ['string']);
     $resolver->setRequired('credential_column')->setAllowedTypes('credential_column', ['string']);
     $resolver->setDefined('roles_column')->setAllowedTypes('roles_column', ['string', 'null']);
     $resolver->setDefined('salt_column')->setAllowedTypes('salt_column', ['string', 'null']);
     $resolver->setDefault('use_ambiguity_identity', false)->setAllowedTypes('use_ambiguity_identity', ['bool']);
 }
Ejemplo n.º 10
0
 /**
  * @param array $params
  * @param ApplicationPaths $appPaths
  * @param ActiveTheme $theme
  * @param RequestStack $requestStack
  * @param string $env
  */
 public function __construct(array $params, ApplicationPaths $appPaths, ActiveTheme $theme, RequestStack $requestStack, $env)
 {
     $this->params = $params;
     $this->appPaths = $appPaths;
     $this->theme = $theme;
     $this->request = $requestStack;
     $this->env = $env;
     $this->resolver = new OptionsResolver();
     $this->resolver->setRequired('resources');
     $this->resolver->setRequired('translations');
     $this->resolver->setAllowedTypes('resources', ['array']);
     $this->resolver->setAllowedTypes('translations', ['array']);
 }
Ejemplo n.º 11
0
 /**
  * @inheritdoc
  */
 public function configurePayload(OptionsResolver $resolver)
 {
     $resolver->setRequired(0);
     $resolver->setAllowedTypes(0, 'numeric');
     $resolver->setNormalizer(0, function (Options $options, $value) {
         if (null === ($scraper = $this->findScraper($value))) {
             throw new InvalidArgumentException(sprintf('Could not find scraper with id %d', $value));
         }
         return $scraper;
     });
     $resolver->setRequired(1);
     $resolver->setAllowedTypes(1, 'string');
 }
Ejemplo n.º 12
0
 public function __construct()
 {
     $this->allowedTypes = array_merge(array('driver' => array('string'), 'options' => array('array', 'null'), 'attributes' => array('array')), $this->allowedTypes);
     $this->allowedValues = array_merge(array('driver' => array($this->driver)), $this->allowedValues);
     $this->defaults = array_merge(array('driver' => $this->driver, 'options' => array(), 'attributes' => array()), $this->defaults);
     $this->resolver = new OptionsResolver();
     $this->resolver->setRequired($this->required)->setDefaults($this->defaults);
     foreach ($this->allowedValues as $option => $value) {
         $this->resolver->setAllowedValues($option, $value);
     }
     foreach ($this->allowedTypes as $option => $value) {
         $this->resolver->setAllowedTypes($option, $value);
     }
 }
Ejemplo n.º 13
0
 /**
  * @param array $options
  */
 public function setOptions($options = array())
 {
     $resolver = new OptionsResolver();
     $resolver->setDefaults(array());
     $resolver->setRequired('slider_id');
     $resolver->setAllowedTypes('slider_id', 'string');
     $resolver->setRequired('start');
     $resolver->setAllowedTypes('start', 'array');
     $resolver->setRequired('range_min');
     $resolver->setAllowedTypes('range_min', 'numeric');
     $resolver->setRequired('range_max');
     $resolver->setAllowedTypes('range_max', 'numeric');
     $resolver->setDefined('range_steps');
     $resolver->setAllowedTypes('range_steps', 'array');
     $resolver->setDefined('step');
     $resolver->setAllowedTypes('step', 'numeric');
     $resolver->setDefined('connect');
     $resolver->setAllowedTypes('connect', 'string');
     $resolver->setAllowedValues('connect', array('lower', 'upper', 'true', 'false'));
     $resolver->setDefault('connect', 'false');
     $resolver->setDefined('margin');
     $resolver->setAllowedTypes('margin', 'numeric');
     $resolver->setDefined('limit');
     $resolver->setAllowedTypes('margin', 'numeric');
     $resolver->setDefined('orientation');
     $resolver->setAllowedTypes('orientation', 'string');
     $resolver->setAllowedValues('orientation', array('vertical', 'horizontal'));
     $resolver->setDefault('orientation', 'horizontal');
     $resolver->setDefined('slider_dimension');
     $resolver->setAllowedTypes('slider_dimension', 'array');
     $resolver->setDefined('direction');
     $resolver->setAllowedTypes('direction', 'string');
     $resolver->setAllowedValues('direction', array('ltr', 'rtl'));
     $resolver->setDefault('direction', 'ltr');
     $resolver->setDefined('animate');
     $resolver->setAllowedTypes('animate', 'boolean');
     $resolver->setDefault('animate', true);
     $resolver->setDefined('animation_duration');
     $resolver->setAllowedTypes('animation_duration', 'numeric');
     $resolver->setDefined('tooltips');
     $resolver->setAllowedTypes('tooltips', 'array');
     //events
     $resolver->setDefined('update_event');
     $resolver->setDefined('change_event');
     $resolver->setDefined('set_event');
     $resolver->setDefined('slide_event');
     $resolver->setDefined('start_event');
     $resolver->setDefined('end_event');
     $this->options = $resolver->resolve($options);
 }
Ejemplo n.º 14
0
 /**
  * @inheritdoc
  */
 public function configurePayload(OptionsResolver $resolver)
 {
     $resolver->setRequired(0);
     $resolver->setRequired(1);
     $resolver->setAllowedTypes(0, 'string');
     $resolver->setAllowedTypes(1, 'array');
     $resolver->setNormalizer(1, function (Options $options, $value) {
         $class = $options[0];
         if (null === ($item = $this->doctrine->getRepository($class)->findOneBy($value))) {
             throw new InvalidArgumentException(sprintf('Could not find %s with id %d', $class, $value));
         }
         return $item;
     });
 }
Ejemplo n.º 15
0
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefined(['customFormModel', 'territoryRepository', 'projectSettings']);
     $resolver->setRequired(['customFormModel', 'territoryRepository', 'projectSettings']);
     $resolver->addAllowedTypes('customFormModel', CustomFormModelInterface::class);
     $resolver->addAllowedTypes('projectSettings', ProjectSettings::class);
 }
Ejemplo n.º 16
0
 /**
  * Resolves options
  *
  * @param array $options
  * @return array
  */
 protected function resolveConfigurationOptions(array $configurationOptions)
 {
     $optionsResolver = new OptionsResolver();
     $optionsResolver->setDefaults($this->defaultOptions);
     $optionsResolver->setRequired(array_keys($this->defaultOptions));
     return $optionsResolver->resolve($configurationOptions);
 }
Ejemplo n.º 17
0
 /**
  * @param array $options
  */
 public function __construct(array $options)
 {
     $resolver = new OptionsResolver();
     $resolver->setRequired(['secret', 'currency', 'min_sum'])->setDefaults(['math' => new NativeMath(), 'currency' => 'usd', 'min_sum' => 0])->setAllowedTypes('math', MathInterface::class);
     $options = $resolver->resolve($options);
     $this->options = $options;
 }
Ejemplo n.º 18
0
 /**
  * {@inheritdoc}
  */
 protected function configureProperties(OptionsResolver $resolver)
 {
     $resolver->setRequired('programs');
     $this->configureArrayProperty('programs', $resolver);
     $resolver->setDefined('priority');
     $this->configureIntegerProperty('priority', $resolver);
 }
 /**
  * @param OptionsResolver $resolver
  * @throws AccessException
  * @throws UndefinedOptionsException
  * @throws MissingFamilyException
  * @throws \UnexpectedValueException
  * @throws ConstraintDefinitionException
  * @throws InvalidOptionsException
  * @throws MissingOptionsException
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(['required' => true, 'constraints' => new NotBlank()]);
     $resolver->setRequired(['attribute', 'parent_data']);
     $resolver->setNormalizer('attribute', function (Options $options, $value) {
         return VariantType::normalizeVariantAttribute($value);
     });
     $resolver->setNormalizer('parent_data', function (Options $options, $value) {
         return VariantType::normalizeParentData($options, $value);
     });
     $resolver->setNormalizer('choices', function (Options $options, $value) {
         $attribute = $options['attribute'];
         $families = [];
         /** @var array $variantFamilies */
         $variantFamilies = $attribute->getOptions()['variant_families'];
         foreach ($variantFamilies as $familyCode) {
             $family = $this->familyConfigurationHandler->getFamily($familyCode);
             if (!$family instanceof VariantFamily) {
                 throw new \UnexpectedValueException("Variant families in attribute options must be of type VariantFamily, '{$family->getCode()}' is not a variant");
             }
             $families[ucfirst($family)] = $family;
         }
         return $families;
     });
 }
Ejemplo n.º 20
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(array('color' => 'green', 'switch_type' => 1));
     $resolver->setRequired(array('switch_type'));
     $resolver->setAllowedValues('color', array('green', 'red', 'purple', 'orange', 'dark'));
     $resolver->setAllowedValues('switch_type', array(1, 2, 3, 4, 5, 6, 7));
 }
Ejemplo n.º 21
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired(['roles']);
     $resolver->setDefaults(['data_class' => $this->command, 'empty_data' => function (FormInterface $form) {
         return new $this->command($form->get('email')->getData(), $form->get('password')->getData(), $this->roles);
     }]);
 }
 public function configureOptionsResolver(OptionsResolver $resolver)
 {
     $resolver->setRequired(array('container'))->setAllowedTypes(array('container' => 'Symfony\\Component\\DependencyInjection\\ContainerInterface'));
     if ($this->container) {
         $resolver->setDefaults(array('container' => $this->container));
     }
 }
Ejemplo n.º 23
0
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(['label' => false, 'name' => '', 'data_class' => 'RZ\\Roadiz\\Core\\Entities\\Folder', 'attr' => ['class' => 'uk-form folder-form']]);
     $resolver->setRequired(['em']);
     $resolver->setAllowedTypes('em', 'Doctrine\\Common\\Persistence\\ObjectManager');
     $resolver->setAllowedTypes('name', 'string');
 }
Ejemplo n.º 24
0
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired(['sonata_field_description', 'context'])->setAllowedTypes('sonata_field_description', 'Sonata\\DoctrineORMAdminBundle\\Admin\\FieldDescription')->setDefaults(['attr' => ['class' => 'select2'], 'multiple' => true, 'required' => false])->setDefault('create_callback', function (Options $options) {
         /**
          * @var \Sonata\DoctrineORMAdminBundle\Admin\FieldDescription
          */
         $fieldDescription = $options['sonata_field_description'];
         $class = $fieldDescription->getTargetEntity();
         return function ($name, $context) use($class) {
             $tag = new $class();
             $tag->setName($name);
             $tag->setEnabled(true);
             if ($context) {
                 $tag->setContext($context);
             }
             return $tag;
         };
     })->setDefault('tags', function (Options $options) {
         /**
          * @var \Sonata\DoctrineORMAdminBundle\Admin\FieldDescription
          */
         $fieldDescription = $options['sonata_field_description'];
         return $fieldDescription->getAdmin()->getModelManager()->findBy($fieldDescription->getTargetEntity(), ['enabled' => true, 'context' => $options['context']]);
     });
 }
Ejemplo n.º 25
0
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired(['roles']);
     $resolver->setDefaults(['csrf_protection' => false, 'data_class' => InviteUserCommand::class, 'empty_data' => function (FormInterface $form) {
         return new InviteUserCommand($form->get('email')->getData(), $this->roles);
     }]);
 }
Ejemplo n.º 26
0
 function it_should_configure_options(OptionsResolver $resolver)
 {
     $resolver->setDefined('vars')->shouldBeCalled();
     $resolver->setRequired(['template'])->shouldBeCalled();
     $resolver->setAllowedTypes(['template' => ['string'], 'vars' => ['array']])->shouldBeCalled();
     $this->configureOptions($resolver);
 }
Ejemplo n.º 27
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolver $resolver)
 {
     $resolver->setRequired(['new_relic_app_name']);
     $resolver->setDefaults(['new_relic_license' => null, 'new_relic_transaction_name' => function (Options $options) {
         return sprintf('swarrot %s', $options['queue']);
     }]);
 }
Ejemplo n.º 28
0
 /**
  * {@inheritdoc}
  */
 public function initOptions()
 {
     $this->getOptionsResolver()->setDefaults(array('actions' => array()));
     $this->getOptionsResolver()->setAllowedTypes('actions', 'array');
     $this->actionOptionsResolver->setDefaults(array('redirect_uri' => null, 'domain' => null, 'protocole' => 'http://', 'protocol' => 'http://'));
     $this->actionOptionsResolver->setRequired(array('uri_scheme'));
     $this->actionOptionsResolver->setAllowedTypes('redirect_uri', array('string', 'null'));
     $this->actionOptionsResolver->setAllowedTypes('uri_scheme', 'string');
     $this->actionOptionsResolver->setAllowedValues('protocol', array('http://', 'https://'));
     $this->actionOptionsResolver->setDefaults(array('protocol' => function (Options $options, $value) {
         if (isset($options['protocole'])) {
             $value = $options['protocole'];
         }
         return $value;
     }));
 }
Ejemplo n.º 29
0
 public function testNotRequiredIfRequiredAndDefaultValue()
 {
     $this->assertFalse($this->resolver->isRequired('foo'));
     $this->resolver->setRequired(array('foo'));
     $this->resolver->setDefaults(array('foo' => 'bar'));
     $this->assertFalse($this->resolver->isRequired('foo'));
 }
 public function getModel($make, $model, array $options = [])
 {
     $resolver = new OptionsResolver();
     $resolver->setDefaults(['year' => 1990, 'view' => 'basic']);
     $resolver->setDefined('state');
     $resolver->setRequired(['state', 'view']);
     $resolver->setAllowedTypes('year', 'integer');
     $resolver->setAllowedValues('state', ['new', 'used']);
     $resolver->setDefault('state', function (Options $options, $previousValue) {
         if ($options['year'] >= 2015) {
             return 'new';
         }
         return $previousValue;
     });
     //        $resolver->isDefined('state');
     $options = $resolver->resolve($options);
     $client = new GuzzleHttp\Client();
     $queryParams = array_merge($options, ['fmt' => 'json', 'api_key' => $this->apiKey]);
     $query = GuzzleHttp\Psr7\build_query($queryParams);
     $request = new GuzzleHttp\Psr7\Request('GET', $this->apiEndpoint . $make . '/' . $model . '?' . $query);
     /** @var ResponseInterface $response */
     $response = $client->send($request);
     if ($this->dispatcher) {
         $this->dispatcher->dispatch(ApiCallEvent::EVENT_NAME, new GenericEvent($this, ['make' => $make, 'model' => $model, 'options' => $options]));
     }
     return $this->delegatingSerializer->deserialize($response->getBody(), 'json', ['type' => 'array']);
 }