mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 17:10:53 +00:00
Merge pull request #3731 from pjedrzejewski/remove-configuration-form-validation-groups
Remove configuration form validation groups
This commit is contained in:
commit
de66ef4d4e
26 changed files with 87 additions and 385 deletions
|
|
@ -119,6 +119,15 @@ class Configuration implements ConfigurationInterface
|
|||
->end()
|
||||
->end()
|
||||
->end()
|
||||
->arrayNode('validation_groups')
|
||||
->addDefaultsIfNotSet()
|
||||
->children()
|
||||
->arrayNode('default')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->end()
|
||||
->end()
|
||||
->arrayNode('fields')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('name'))
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ namespace Sylius\Bundle\CoreBundle\Form\Type\Action;
|
|||
use Sylius\Component\Core\Repository\ProductVariantRepositoryInterface;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Type;
|
||||
|
||||
|
|
@ -23,19 +22,16 @@ use Symfony\Component\Validator\Constraints\Type;
|
|||
*/
|
||||
class AddProductConfigurationType extends AbstractType
|
||||
{
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
protected $validationGroups;
|
||||
|
||||
/**
|
||||
* @var ProductVariantRepositoryInterface
|
||||
*/
|
||||
protected $variantRepository;
|
||||
|
||||
public function __construct(array $validationGroups, ProductVariantRepositoryInterface $variantRepository)
|
||||
/**
|
||||
* @param ProductVariantRepositoryInterface $variantRepository
|
||||
*/
|
||||
public function __construct(ProductVariantRepositoryInterface $variantRepository)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
$this->variantRepository = $variantRepository;
|
||||
}
|
||||
|
||||
|
|
@ -75,15 +71,9 @@ class AddProductConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'sylius_promotion_action_add_product_configuration';
|
||||
|
|
|
|||
|
|
@ -13,24 +13,14 @@ namespace Sylius\Bundle\CoreBundle\Form\Type\Action;
|
|||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Type;
|
||||
|
||||
/**
|
||||
* Shipping discount action configuration form type.
|
||||
*
|
||||
* @author Saša Stamenković <umpirsky@gmail.com>
|
||||
*/
|
||||
class ShippingDiscountConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
public function __construct(array $validationGroups)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -47,15 +37,9 @@ class ShippingDiscountConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'sylius_promotion_action_shipping_discount_configuration';
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ namespace Sylius\Bundle\CoreBundle\Form\Type\Rule;
|
|||
use Sylius\Component\Core\Repository\ProductVariantRepositoryInterface;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Type;
|
||||
|
||||
|
|
@ -23,16 +22,16 @@ use Symfony\Component\Validator\Constraints\Type;
|
|||
*/
|
||||
class ContainsProductConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
/**
|
||||
* @var ProductVariantRepositoryInterface
|
||||
*/
|
||||
protected $variantRepository;
|
||||
|
||||
public function __construct(array $validationGroups, ProductVariantRepositoryInterface $variantRepository)
|
||||
/**
|
||||
* @param ProductVariantRepositoryInterface $variantRepository
|
||||
*/
|
||||
public function __construct(ProductVariantRepositoryInterface $variantRepository)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
$this->variantRepository = $variantRepository;
|
||||
}
|
||||
|
||||
|
|
@ -72,18 +71,6 @@ class ContainsProductConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ namespace Sylius\Bundle\CoreBundle\Form\Type\Rule;
|
|||
use Sylius\Bundle\UserBundle\Doctrine\ORM\GroupRepository;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Type;
|
||||
|
||||
|
|
@ -23,23 +22,16 @@ use Symfony\Component\Validator\Constraints\Type;
|
|||
*/
|
||||
class CustomerGroupType extends AbstractType
|
||||
{
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
protected $validationGroups;
|
||||
|
||||
/**
|
||||
* @var GroupRepository
|
||||
*/
|
||||
protected $groupRepository;
|
||||
|
||||
/**
|
||||
* @param string[] $validationGroups
|
||||
* @param GroupRepository $groupRepository
|
||||
*/
|
||||
public function __construct(array $validationGroups, GroupRepository $groupRepository)
|
||||
public function __construct(GroupRepository $groupRepository)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
$this->groupRepository = $groupRepository;
|
||||
}
|
||||
|
||||
|
|
@ -64,18 +56,6 @@ class CustomerGroupType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -18,19 +18,10 @@ use Symfony\Component\Validator\Constraints\NotBlank;
|
|||
use Symfony\Component\Validator\Constraints\Type;
|
||||
|
||||
/**
|
||||
* Nth order rule configuration form type.
|
||||
*
|
||||
* @author Saša Stamenković <umpirsky@gmail.com>
|
||||
*/
|
||||
class CustomerLoyaltyConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
public function __construct(array $validationGroups)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -62,18 +53,6 @@ class CustomerLoyaltyConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,24 +13,14 @@ namespace Sylius\Bundle\CoreBundle\Form\Type\Rule;
|
|||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Type;
|
||||
|
||||
/**
|
||||
* Nth order rule configuration form type.
|
||||
*
|
||||
* @author Saša Stamenković <umpirsky@gmail.com>
|
||||
*/
|
||||
class NthOrderConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
public function __construct(array $validationGroups)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -47,18 +37,6 @@ class NthOrderConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -15,30 +15,21 @@ use Symfony\Component\Form\AbstractType;
|
|||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
|
||||
/**
|
||||
* Shipping country rule configuration form type.
|
||||
*
|
||||
* @author Saša Stamenković <umpirsky@gmail.com>
|
||||
*/
|
||||
class ShippingCountryConfigurationType extends AbstractType
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $validationGroups;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $dataClass;
|
||||
protected $countryClass;
|
||||
|
||||
/**
|
||||
* @param string $dataClass Class of Country model
|
||||
* @param array $validationGroups Array of validation groups
|
||||
* @param string $countryClass
|
||||
*/
|
||||
public function __construct($dataClass, array $validationGroups)
|
||||
public function __construct($countryClass)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
$this->dataClass = $dataClass;
|
||||
$this->countryClass = $countryClass;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -50,7 +41,7 @@ class ShippingCountryConfigurationType extends AbstractType
|
|||
->add('country', 'sylius_entity_to_identifier', array(
|
||||
'label' => 'sylius.form.rule.shipping_country_configuration.country',
|
||||
'empty_value' => 'sylius.form.country.select',
|
||||
'class' => $this->dataClass,
|
||||
'class' => $this->countryClass,
|
||||
'identifier' => 'id',
|
||||
))
|
||||
;
|
||||
|
|
|
|||
|
|
@ -13,22 +13,12 @@ namespace Sylius\Bundle\CoreBundle\Form\Type\Rule;
|
|||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
/**
|
||||
* Taxonomy rule configuration form type.
|
||||
*
|
||||
* @author Saša Stamenković <umpirsky@gmail.com>
|
||||
*/
|
||||
class TaxonomyConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
public function __construct(array $validationGroups)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -47,18 +37,6 @@ class TaxonomyConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -130,38 +130,30 @@
|
|||
|
||||
<!-- promotions -->
|
||||
<service id="sylius.form.type.promotion_rule.nth_order_configuration" class="%sylius.form.type.promotion_rule.nth_order_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_rule_nth_order_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_rule_nth_order_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule.customer_loyalty_configuration" class="%sylius.form.type.promotion_rule.customer_loyalty_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_rule_customer_loyalty_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_rule_customer_loyalty_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule.shipping_country_configuration" class="%sylius.form.type.promotion_rule.shipping_country_configuration.class%">
|
||||
<argument>%sylius.model.country.class%</argument>
|
||||
<argument>%sylius.validation_groups.promotion_rule_shipping_country_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_rule_shipping_country_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule.taxonomy_configuration" class="%sylius.form.type.promotion_rule.taxonomy_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_rule_taxonomy_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_rule_taxonomy_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule.contains_product_configuration" class="%sylius.form.type.promotion_rule.contains_product_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_rule_contains_product_configuration%</argument>
|
||||
<argument type="service" id="sylius.repository.product_variant" />
|
||||
<tag name="form.type" alias="sylius_promotion_rule_contains_product_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule.customer_group_configuration" class="%sylius.form.type.promotion_rule.customer_group_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_rule_customer_group_configuration%</argument>
|
||||
<argument type="service" id="sylius.repository.group" />
|
||||
<tag name="form.type" alias="sylius_promotion_rule_customer_group_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_action.shipping_discount_configuration" class="%sylius.form.type.promotion_action.shipping_discount_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_action_shipping_discount_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_action_shipping_discount_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_action.add_product_configuration" class="%sylius.form.type.promotion_action.add_product_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_action_add_product_configuration%</argument>
|
||||
<argument type="service" id="sylius.repository.product_variant" />
|
||||
<tag name="form.type" alias="sylius_promotion_action_add_product_configuration" />
|
||||
</service>
|
||||
|
|
|
|||
|
|
@ -125,6 +125,15 @@ class Configuration implements ConfigurationInterface
|
|||
->end()
|
||||
->end()
|
||||
->end()
|
||||
->arrayNode('validation_groups')
|
||||
->addDefaultsIfNotSet()
|
||||
->children()
|
||||
->arrayNode('default')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->end()
|
||||
->end()
|
||||
->arrayNode('fields')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('name', 'description'))
|
||||
|
|
|
|||
|
|
@ -11,32 +11,27 @@
|
|||
|
||||
namespace Sylius\Bundle\PromotionBundle\DependencyInjection;
|
||||
|
||||
use Sylius\Bundle\ResourceBundle\SyliusResourceBundle;
|
||||
use Sylius\Component\Resource\Factory\Factory;
|
||||
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
|
||||
use Sylius\Bundle\PromotionBundle\Controller\CouponController;
|
||||
use Sylius\Bundle\PromotionBundle\Form\Type\PromotionType;
|
||||
use Sylius\Bundle\PromotionBundle\Form\Type\RuleType;
|
||||
use Sylius\Bundle\PromotionBundle\Form\Type\ActionType;
|
||||
use Sylius\Bundle\PromotionBundle\Form\Type\CouponType;
|
||||
use Sylius\Component\Promotion\Model\Promotion;
|
||||
use Sylius\Component\Promotion\Model\PromotionInterface;
|
||||
use Sylius\Component\Promotion\Model\Rule;
|
||||
use Sylius\Component\Promotion\Model\RuleInterface;
|
||||
use Sylius\Bundle\PromotionBundle\Form\Type\PromotionType;
|
||||
use Sylius\Bundle\PromotionBundle\Form\Type\RuleType;
|
||||
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
|
||||
use Sylius\Bundle\ResourceBundle\SyliusResourceBundle;
|
||||
use Sylius\Component\Promotion\Model\Action;
|
||||
use Sylius\Component\Promotion\Model\ActionInterface;
|
||||
use Sylius\Component\Promotion\Model\Coupon;
|
||||
use Sylius\Component\Promotion\Model\CouponInterface;
|
||||
use Symfony\Component\Config\Definition\ConfigurationInterface;
|
||||
use Sylius\Component\Promotion\Model\Promotion;
|
||||
use Sylius\Component\Promotion\Model\PromotionInterface;
|
||||
use Sylius\Component\Promotion\Model\Rule;
|
||||
use Sylius\Component\Promotion\Model\RuleInterface;
|
||||
use Sylius\Component\Resource\Factory\Factory;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
|
||||
use Symfony\Component\Config\Definition\ConfigurationInterface;
|
||||
|
||||
/**
|
||||
* This class contains the configuration information for the bundle.
|
||||
*
|
||||
* This information is solely responsible for how the different configuration
|
||||
* sections are normalized, and merged.
|
||||
*
|
||||
* @author Saša Stamenković <umpirsky@gmail.com>
|
||||
*/
|
||||
class Configuration implements ConfigurationInterface
|
||||
|
|
@ -57,79 +52,10 @@ class Configuration implements ConfigurationInterface
|
|||
;
|
||||
|
||||
$this->addResourcesSection($rootNode);
|
||||
$this->addValidationGroupsSection($rootNode);
|
||||
|
||||
return $treeBuilder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ArrayNodeDefinition $node
|
||||
*/
|
||||
private function addValidationGroupsSection(ArrayNodeDefinition $node)
|
||||
{
|
||||
$node
|
||||
->children()
|
||||
->arrayNode('validation_groups')
|
||||
->addDefaultsIfNotSet()
|
||||
->children()
|
||||
->arrayNode('promotion_rule_item_total_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_rule_item_count_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_rule_customer_loyalty_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_rule_shipping_country_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_rule_taxonomy_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_rule_contains_product_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_rule_nth_order_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_rule_customer_group_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_action_fixed_discount_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_action_percentage_discount_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_action_add_product_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_coupon_generate_instruction')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->arrayNode('promotion_action_shipping_discount_configuration')
|
||||
->prototype('scalar')->end()
|
||||
->defaultValue(array('sylius'))
|
||||
->end()
|
||||
->end()
|
||||
->end()
|
||||
->end()
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ArrayNodeDefinition $node
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -45,11 +45,11 @@ class SyliusPromotionExtension extends AbstractResourceExtension
|
|||
|
||||
$container
|
||||
->getDefinition('sylius.form.type.promotion_action')
|
||||
->addArgument(new Reference('sylius.registry.promotion_action'))
|
||||
->replaceArgument(1, new Reference('sylius.registry.promotion_action'))
|
||||
;
|
||||
$container
|
||||
->getDefinition('sylius.form.type.promotion_rule')
|
||||
->addArgument(new Reference('sylius.registry.promotion_rule_checker'))
|
||||
->replaceArgument(1, new Reference('sylius.registry.promotion_rule_checker'))
|
||||
;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,13 +24,6 @@ use Symfony\Component\Validator\Constraints\Type;
|
|||
*/
|
||||
class FixedDiscountConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
public function __construct(array $validationGroups)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -47,15 +40,9 @@ class FixedDiscountConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'sylius_promotion_action_fixed_discount_configuration';
|
||||
|
|
|
|||
|
|
@ -24,13 +24,6 @@ use Symfony\Component\Validator\Constraints\Type;
|
|||
*/
|
||||
class PercentageDiscountConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
public function __construct(array $validationGroups)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -47,15 +40,9 @@ class PercentageDiscountConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'sylius_promotion_action_percentage_discount_configuration';
|
||||
|
|
|
|||
|
|
@ -25,9 +25,9 @@ abstract class AbstractConfigurationType extends AbstractResourceType
|
|||
*/
|
||||
protected $registry;
|
||||
|
||||
public function __construct($dataClass, array $validationGroups, ServiceRegistryInterface $registry)
|
||||
public function __construct($dataClass, ServiceRegistryInterface $registry)
|
||||
{
|
||||
parent::__construct($dataClass, $validationGroups);
|
||||
parent::__construct($dataClass, array('Default'));
|
||||
|
||||
$this->registry = $registry;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,24 +13,14 @@ namespace Sylius\Bundle\PromotionBundle\Form\Type\Rule;
|
|||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Type;
|
||||
|
||||
/**
|
||||
* Item count rule configuration form type.
|
||||
*
|
||||
* @author Saša Stamenković <umpirsky@gmail.com>
|
||||
*/
|
||||
class ItemCountConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
public function __construct(array $validationGroups)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -53,18 +43,6 @@ class ItemCountConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,24 +13,14 @@ namespace Sylius\Bundle\PromotionBundle\Form\Type\Rule;
|
|||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Type;
|
||||
|
||||
/**
|
||||
* Item total rule configuration form type.
|
||||
*
|
||||
* @author Saša Stamenković <umpirsky@gmail.com>
|
||||
*/
|
||||
class ItemTotalConfigurationType extends AbstractType
|
||||
{
|
||||
protected $validationGroups;
|
||||
|
||||
public function __construct(array $validationGroups)
|
||||
{
|
||||
$this->validationGroups = $validationGroups;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
@ -53,18 +43,6 @@ class ItemTotalConfigurationType extends AbstractType
|
|||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'validation_groups' => $this->validationGroups,
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -80,38 +80,14 @@
|
|||
<tag name="form.type" alias="sylius_promotion_action_collection" />
|
||||
</service>
|
||||
|
||||
<service id="sylius.form.type.promotion" class="%sylius.form.type.promotion.class%">
|
||||
<argument>%sylius.model.promotion.class%</argument>
|
||||
<argument>%sylius.validation_groups.promotion%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_coupon" class="%sylius.form.type.promotion_coupon.class%">
|
||||
<argument>%sylius.model.promotion_coupon.class%</argument>
|
||||
<argument>%sylius.validation_groups.promotion_coupon%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_coupon" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule" class="%sylius.form.type.promotion_rule.class%">
|
||||
<argument>%sylius.model.promotion_rule.class%</argument>
|
||||
<argument>%sylius.validation_groups.promotion_rule%</argument>
|
||||
<argument type="service" id="sylius.registry.promotion_rule_checker" />
|
||||
<tag name="form.type" alias="sylius_promotion_rule" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_action" class="%sylius.form.type.promotion_action.class%">
|
||||
<argument>%sylius.model.promotion_action.class%</argument>
|
||||
<argument>%sylius.validation_groups.promotion_action%</argument>
|
||||
<argument type="service" id="sylius.registry.promotion_action" />
|
||||
<tag name="form.type" alias="sylius_promotion_action" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule_choice" class="%sylius.form.type.promotion_rule_choice.class%">
|
||||
<argument>%sylius.promotion_rules%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_rule_choice" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule.item_total_configuration" class="%sylius.form.type.promotion_rule.item_total_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_rule_item_total_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_rule_item_total_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_rule.item_count_configuration" class="%sylius.form.type.promotion_rule.item_count_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_rule_item_count_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_rule_item_count_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_action_choice" class="%sylius.form.type.promotion_action_choice.class%">
|
||||
|
|
@ -119,11 +95,9 @@
|
|||
<tag name="form.type" alias="sylius_promotion_action_choice" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_action.fixed_discount_configuration" class="%sylius.form.type.promotion_action.fixed_discount_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_action_fixed_discount_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_action_fixed_discount_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_action.percentage_discount_configuration" class="%sylius.form.type.promotion_action.percentage_discount_configuration.class%">
|
||||
<argument>%sylius.validation_groups.promotion_action_percentage_discount_configuration%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_action_percentage_discount_configuration" />
|
||||
</service>
|
||||
<service id="sylius.form.type.promotion_coupon_to_code" class="%sylius.form.type.promotion_coupon_to_code.class%">
|
||||
|
|
@ -137,7 +111,6 @@
|
|||
|
||||
<service id="sylius.form.type.promotion_coupon_generate_instruction" class="%sylius.form.type.promotion_coupon_generate_instruction.class%">
|
||||
<argument>%sylius.generator.instructions.class%</argument>
|
||||
<argument>%sylius.validation_groups.promotion_coupon_generate_instruction%</argument>
|
||||
<tag name="form.type" alias="sylius_promotion_coupon_generate_instruction" />
|
||||
</service>
|
||||
<service id="sylius.generator.promotion_coupon" class="%sylius.generator.promotion_coupon.class%">
|
||||
|
|
|
|||
|
|
@ -54,6 +54,15 @@
|
|||
<option name="groups">sylius</option>
|
||||
</constraint>
|
||||
</property>
|
||||
<property name="actions">
|
||||
<constraint name="Valid" />
|
||||
</property>
|
||||
</class>
|
||||
|
||||
<class name="Sylius\Component\Promotion\Model\Action">
|
||||
<property name="configuration">
|
||||
<constraint name="Valid" />
|
||||
</property>
|
||||
</class>
|
||||
|
||||
<class name="Sylius\Component\Promotion\Model\Coupon">
|
||||
|
|
@ -88,19 +97,16 @@
|
|||
<property name="amount">
|
||||
<constraint name="NotBlank">
|
||||
<option name="message">sylius.promotion_coupon_generate_instruction.amount.not_blank</option>
|
||||
<option name="groups">sylius</option>
|
||||
</constraint>
|
||||
<constraint name="Range">
|
||||
<option name="min">1</option>
|
||||
<option name="minMessage">sylius.promotion_coupon_generate_instruction.amount.min</option>
|
||||
<option name="groups">sylius</option>
|
||||
</constraint>
|
||||
</property>
|
||||
<property name="usageLimit">
|
||||
<constraint name="Range">
|
||||
<option name="min">1</option>
|
||||
<option name="minMessage">sylius.promotion_coupon_generate_instruction.usage_limit.min</option>
|
||||
<option name="groups">sylius</option>
|
||||
</constraint>
|
||||
</property>
|
||||
</class>
|
||||
|
|
|
|||
|
|
@ -20,11 +20,6 @@ use Symfony\Component\Form\FormBuilder;
|
|||
*/
|
||||
class FixedDiscountConfigurationTypeSpec extends ObjectBehavior
|
||||
{
|
||||
function let()
|
||||
{
|
||||
$this->beConstructedWith(array('sylius'));
|
||||
}
|
||||
|
||||
function it_should_be_initializable()
|
||||
{
|
||||
$this->shouldHaveType('Sylius\Bundle\PromotionBundle\Form\Type\Action\FixedDiscountConfigurationType');
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class ActionTypeSpec extends ObjectBehavior
|
|||
{
|
||||
function let(ServiceRegistryInterface $actionRegistry)
|
||||
{
|
||||
$this->beConstructedWith('Action', array('sylius'), $actionRegistry);
|
||||
$this->beConstructedWith('Action', $actionRegistry);
|
||||
}
|
||||
|
||||
function it_is_initializabled()
|
||||
|
|
@ -61,10 +61,13 @@ class ActionTypeSpec extends ObjectBehavior
|
|||
|
||||
function it_should_define_assigned_data_class(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setDefaults(array(
|
||||
'data_class' => 'Action',
|
||||
'validation_groups' => array('sylius'),
|
||||
))->shouldBeCalled();
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'data_class' => 'Action',
|
||||
'validation_groups' => array('Default'),
|
||||
))
|
||||
->shouldBeCalled()
|
||||
;
|
||||
|
||||
$resolver->setDefined(array('configuration_type'))->shouldBeCalled();
|
||||
$resolver->setDefaults(array('configuration_type' => ActionInterface::TYPE_FIXED_DISCOUNT))->shouldBeCalled();
|
||||
|
|
|
|||
|
|
@ -20,11 +20,6 @@ use Symfony\Component\Form\FormBuilder;
|
|||
*/
|
||||
class ItemCountConfigurationTypeSpec extends ObjectBehavior
|
||||
{
|
||||
function let()
|
||||
{
|
||||
$this->beConstructedWith(array('sylius'));
|
||||
}
|
||||
|
||||
function it_should_be_initializable()
|
||||
{
|
||||
$this->shouldHaveType('Sylius\Bundle\PromotionBundle\Form\Type\Rule\ItemCountConfigurationType');
|
||||
|
|
|
|||
|
|
@ -20,11 +20,6 @@ use Symfony\Component\Form\FormBuilder;
|
|||
*/
|
||||
class ItemTotalConfigurationTypeSpec extends ObjectBehavior
|
||||
{
|
||||
function let()
|
||||
{
|
||||
$this->beConstructedWith(array('sylius'));
|
||||
}
|
||||
|
||||
function it_should_be_initializable()
|
||||
{
|
||||
$this->shouldHaveType('Sylius\Bundle\PromotionBundle\Form\Type\Rule\ItemTotalConfigurationType');
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class RuleTypeSpec extends ObjectBehavior
|
|||
{
|
||||
function let(ServiceRegistryInterface $checkerRegistry)
|
||||
{
|
||||
$this->beConstructedWith('Rule', array('sylius'), $checkerRegistry);
|
||||
$this->beConstructedWith('Rule', $checkerRegistry);
|
||||
}
|
||||
|
||||
function it_is_initializabled()
|
||||
|
|
@ -61,10 +61,13 @@ class RuleTypeSpec extends ObjectBehavior
|
|||
|
||||
function it_should_define_assigned_data_class(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setDefaults(array(
|
||||
'data_class' => 'Rule',
|
||||
'validation_groups' => array('sylius'),
|
||||
))->shouldBeCalled();
|
||||
$resolver
|
||||
->setDefaults(array(
|
||||
'data_class' => 'Rule',
|
||||
'validation_groups' => array('Default'),
|
||||
))
|
||||
->shouldBeCalled()
|
||||
;
|
||||
|
||||
$resolver->setDefined(array('configuration_type'))->shouldBeCalled();
|
||||
$resolver->setDefaults(array('configuration_type' => RuleInterface::TYPE_ITEM_TOTAL))->shouldBeCalled();
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ abstract class AbstractDriver implements DriverInterface
|
|||
|
||||
foreach ($validationGroups as $formName => $groups) {
|
||||
$suffix = 'default' === $formName ? '' : sprintf('_%s', $formName);
|
||||
$container->setParameter(sprintf('%s.validation_groups.%s%s', $metadata->getApplicationName(), $metadata->getName(), $suffix), $groups);
|
||||
$container->setParameter(sprintf('%s.validation_groups.%s%s', $metadata->getApplicationName(), $metadata->getName(), $suffix), array_merge(array('Default'), $groups));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -154,16 +154,15 @@ abstract class AbstractDriver implements DriverInterface
|
|||
|
||||
default:
|
||||
$validationGroupsParameterName = sprintf('%s.validation_groups.%s%s', $metadata->getApplicationName(), $metadata->getName(), $suffix);
|
||||
$validationGroups = new Parameter($validationGroupsParameterName);
|
||||
|
||||
if ($container->hasParameter($validationGroupsParameterName)) {
|
||||
$validationGroups = new Parameter($validationGroupsParameterName);
|
||||
} else {
|
||||
if (!$container->hasParameter($validationGroupsParameterName)) {
|
||||
$validationGroups = array('Default');
|
||||
}
|
||||
|
||||
$definition->setArguments(array(
|
||||
$metadata->getClass('model'),
|
||||
$validationGroups,
|
||||
$validationGroups
|
||||
));
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue