Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DataProvider.php
Go to the documentation of this file.
1 <?php
7 
15 
17 {
21  private $authorization;
22 
26  private $additionalFilterPool;
27 
41  public function __construct(
42  $name,
49  array $meta = [],
50  array $data = [],
51  array $additionalFilterPool = []
52  ) {
53  parent::__construct(
54  $name,
57  $reporting,
59  $request,
61  $meta,
62  $data
63  );
64 
65  $this->meta = array_replace_recursive($meta, $this->prepareMetadata());
66  $this->additionalFilterPool = $additionalFilterPool;
67  }
68 
73  private function getAuthorizationInstance()
74  {
75  if ($this->authorization === null) {
76  $this->authorization = ObjectManager::getInstance()->get(AuthorizationInterface::class);
77  }
78  return $this->authorization;
79  }
80 
86  public function prepareMetadata()
87  {
88  $metadata = [];
89 
90  if (!$this->getAuthorizationInstance()->isAllowed('Magento_Cms::save')) {
91  $metadata = [
92  'cms_page_columns' => [
93  'arguments' => [
94  'data' => [
95  'config' => [
96  'editorConfig' => [
97  'enabled' => false
98  ]
99  ]
100  ]
101  ]
102  ]
103  ];
104  }
105 
106  return $metadata;
107  }
108 
112  public function addFilter(Filter $filter)
113  {
114  if (!empty($this->additionalFilterPool[$filter->getField()])) {
115  $this->additionalFilterPool[$filter->getField()]->addFilter($this->searchCriteriaBuilder, $filter);
116  } else {
117  parent::addFilter($filter);
118  }
119  }
120 }
return false
Definition: gallery.phtml:36
__construct( $name, $primaryFieldName, $requestFieldName, Reporting $reporting, SearchCriteriaBuilder $searchCriteriaBuilder, RequestInterface $request, FilterBuilder $filterBuilder, array $meta=[], array $data=[], array $additionalFilterPool=[])