/**
  * Adds processor settings to shipping method form
  *
  * @param FormEvent $event
  */
 public function onShippingMethodFormInit(FormEvent $event)
 {
     $form = $event->getForm();
     $calculators = $this->getCalculators();
     $calculatorTypeSelect = $this->getCalculatorTypeElement($form);
     foreach ($calculators as $calculator) {
         $calculatorTypeSelect->addOptionToSelect($calculator->getAlias(), $calculator->getName());
     }
 }
Esempio n. 2
0
 /**
  * Adds theme configuration fields to main theme edit form
  *
  * @param FormEvent $event
  */
 public function onThemeFormInit(FormEvent $event)
 {
     $builder = $event->getFormBuilder();
     $form = $builder->getForm();
     $resource = $builder->getData();
     $fieldGenerator = $this->container->get('theme.fields_generator');
     $fieldGenerator->loadThemeFieldsConfiguration($resource);
     $fieldGenerator->addFormFields($builder, $form);
 }
 /**
  * Adds processor settings to payment method form
  *
  * @param FormEvent $event
  */
 public function onPaymentMethodFormInit(FormEvent $event)
 {
     $builder = $event->getFormBuilder();
     $form = $event->getForm();
     $resource = $form->getModelData();
     $processors = $this->container->get('payment_method.processor.collection')->all();
     $calculatorSelect = $form->getChildren()->get('required_data');
     /**
      * @var $processor \WellCommerce\Bundle\PaymentBundle\Processor\PaymentMethodProcessorInterface
      */
     foreach ($processors as $processor) {
         $processorSelect->addOption($processor->getAlias(), $processor->getName());
         $fieldset = $processor->addConfigurationFieldset($builder, $form, $resource);
         $fieldset->addDependency('show', ['field' => $processorSelect, 'form' => $form, 'condition' => new Equals($processor->getAlias())]);
     }
 }
 /**
  * Adds configurator fields to main layout box edit form.
  * Loops through all configurators, renders the fieldset and sets default data
  *
  * @param FormEvent $event
  */
 public function onLayoutBoxFormInit(FormEvent $event)
 {
     $builder = $event->getFormBuilder();
     $form = $event->getForm();
     $resource = $form->getModelData();
     $configurators = $this->container->get('layout_box.configurator.collection')->all();
     $boxSettings = $resource->getSettings();
     foreach ($configurators as $configurator) {
         if ($configurator instanceof LayoutBoxConfiguratorInterface) {
             $defaults = [];
             if ($resource->getBoxType() == $configurator->getType()) {
                 $defaults = $boxSettings;
             }
             $configurator->addFormFields($builder, $form, $defaults);
         }
     }
 }