Rule.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\CatalogWidget\Model;
  7. use Magento\Framework\Api\AttributeValueFactory;
  8. use Magento\Framework\Api\ExtensionAttributesFactory;
  9. /**
  10. * Rule for catalog widget
  11. *
  12. * @api
  13. * @since 100.0.2
  14. */
  15. class Rule extends \Magento\Rule\Model\AbstractModel
  16. {
  17. /**
  18. * @var Rule\Condition\CombineFactory
  19. */
  20. protected $conditionsFactory;
  21. /**
  22. * Rule constructor
  23. *
  24. * @param \Magento\Framework\Model\Context $context
  25. * @param \Magento\Framework\Registry $registry
  26. * @param \Magento\Framework\Data\FormFactory $formFactory
  27. * @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate
  28. * @param Rule\Condition\CombineFactory $conditionsFactory
  29. * @param \Magento\Framework\Model\ResourceModel\AbstractResource|null $resource
  30. * @param \Magento\Framework\Data\Collection\AbstractDb|null $resourceCollection
  31. * @param array $data
  32. * @param ExtensionAttributesFactory|null $extensionFactory
  33. * @param AttributeValueFactory|null $customAttributeFactory
  34. *
  35. * @param \Magento\Framework\Serialize\Serializer\Json $serializer
  36. * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  37. */
  38. public function __construct(
  39. \Magento\Framework\Model\Context $context,
  40. \Magento\Framework\Registry $registry,
  41. \Magento\Framework\Data\FormFactory $formFactory,
  42. \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate,
  43. \Magento\CatalogWidget\Model\Rule\Condition\CombineFactory $conditionsFactory,
  44. \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
  45. \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
  46. array $data = [],
  47. ExtensionAttributesFactory $extensionFactory = null,
  48. AttributeValueFactory $customAttributeFactory = null,
  49. \Magento\Framework\Serialize\Serializer\Json $serializer = null
  50. ) {
  51. $this->conditionsFactory = $conditionsFactory;
  52. parent::__construct(
  53. $context,
  54. $registry,
  55. $formFactory,
  56. $localeDate,
  57. $resource,
  58. $resourceCollection,
  59. $data,
  60. $extensionFactory,
  61. $customAttributeFactory,
  62. $serializer
  63. );
  64. }
  65. /**
  66. * {@inheritdoc}
  67. */
  68. public function getConditionsInstance()
  69. {
  70. return $this->conditionsFactory->create();
  71. }
  72. /**
  73. * {@inheritdoc}
  74. */
  75. public function getActionsInstance()
  76. {
  77. return null;
  78. }
  79. }