vendor/coreshop/core-shop/src/CoreShop/Bundle/OrderBundle/CoreShopOrderBundle.php line 45

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4.  * CoreShop
  5.  *
  6.  * This source file is available under two different licenses:
  7.  *  - GNU General Public License version 3 (GPLv3)
  8.  *  - CoreShop Commercial License (CCL)
  9.  * Full copyright and license information is available in
  10.  * LICENSE.md which is distributed with this source code.
  11.  *
  12.  * @copyright  Copyright (c) CoreShop GmbH (https://www.coreshop.org)
  13.  * @license    https://www.coreshop.org/license     GPLv3 and CCL
  14.  *
  15.  */
  16. namespace CoreShop\Bundle\OrderBundle;
  17. use CoreShop\Bundle\CurrencyBundle\CoreShopCurrencyBundle;
  18. use CoreShop\Bundle\CustomerBundle\CoreShopCustomerBundle;
  19. use CoreShop\Bundle\MoneyBundle\CoreShopMoneyBundle;
  20. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\CartItemPriceRuleActionPass;
  21. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\CartItemPriceRuleConditionPass;
  22. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\CartPriceRuleActionPass;
  23. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\CartPriceRuleConditionPass;
  24. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\PurchasableDiscountCalculatorsPass;
  25. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\PurchasableDiscountPriceCalculatorsPass;
  26. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\PurchasablePriceCalculatorsPass;
  27. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\PurchasableRetailPriceCalculatorsPass;
  28. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\PurchasableWholesalePriceCalculatorsPass;
  29. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\RegisterCartProcessorPass;
  30. use CoreShop\Bundle\OrderBundle\DependencyInjection\Compiler\RegisterWorkflowValidatorPass;
  31. use CoreShop\Bundle\PaymentBundle\CoreShopPaymentBundle;
  32. use CoreShop\Bundle\ResourceBundle\AbstractResourceBundle;
  33. use CoreShop\Bundle\ResourceBundle\CoreShopResourceBundle;
  34. use CoreShop\Bundle\RuleBundle\CoreShopRuleBundle;
  35. use CoreShop\Bundle\StorageListBundle\CoreShopStorageListBundle;
  36. use CoreShop\Bundle\StoreBundle\CoreShopStoreBundle;
  37. use CoreShop\Bundle\WorkflowBundle\CoreShopWorkflowBundle;
  38. use Pimcore\HttpKernel\BundleCollection\BundleCollection;
  39. use Symfony\Component\DependencyInjection\ContainerBuilder;
  40. final class CoreShopOrderBundle extends AbstractResourceBundle
  41. {
  42.     public function getSupportedDrivers(): array
  43.     {
  44.         return [
  45.             CoreShopResourceBundle::DRIVER_DOCTRINE_ORM,
  46.         ];
  47.     }
  48.     public function build(ContainerBuilder $container): void
  49.     {
  50.         parent::build($container);
  51.         $container->addCompilerPass(new RegisterCartProcessorPass());
  52.         $container->addCompilerPass(new CartPriceRuleActionPass());
  53.         $container->addCompilerPass(new CartPriceRuleConditionPass());
  54.         $container->addCompilerPass(new CartItemPriceRuleActionPass());
  55.         $container->addCompilerPass(new CartItemPriceRuleConditionPass());
  56.         $container->addCompilerPass(new RegisterWorkflowValidatorPass());
  57.         $container->addCompilerPass(new PurchasablePriceCalculatorsPass());
  58.         $container->addCompilerPass(new PurchasableDiscountCalculatorsPass());
  59.         $container->addCompilerPass(new PurchasableDiscountPriceCalculatorsPass());
  60.         $container->addCompilerPass(new PurchasableRetailPriceCalculatorsPass());
  61.         $container->addCompilerPass(new PurchasableWholesalePriceCalculatorsPass());
  62.     }
  63.     public static function registerDependentBundles(BundleCollection $collection): void
  64.     {
  65.         parent::registerDependentBundles($collection);
  66.         $collection->addBundle(new CoreShopWorkflowBundle(), 3600);
  67.         $collection->addBundle(new CoreShopRuleBundle(), 3500);
  68.         $collection->addBundle(new CoreShopCustomerBundle(), 3100);
  69.         $collection->addBundle(new CoreShopCurrencyBundle(), 2700);
  70.         $collection->addBundle(new CoreShopStoreBundle(), 2500);
  71.         $collection->addBundle(new CoreShopPaymentBundle(), 2200);
  72.         $collection->addBundle(new CoreShopMoneyBundle(), 1550);
  73.         $collection->addBundle(new CoreShopStorageListBundle(), 100);
  74.     }
  75.     protected function getModelNamespace(): string
  76.     {
  77.         return 'CoreShop\Component\Order\Model';
  78.     }
  79. }