25 private $moduleDataSetup;
41 $this->moduleDataSetup = $moduleDataSetup;
42 $this->authFactory = $authorizationFactory;
48 public function apply()
50 $roleCollection = $this->authFactory->createRoleCollection()
51 ->addFieldToFilter(
'parent_id', 0)
52 ->addFieldToFilter(
'tree_level', 1)
53 ->addFieldToFilter(
'role_type', RoleGroup::ROLE_TYPE)
54 ->addFieldToFilter(
'user_id', 0)
56 ->addFieldToFilter(
'role_name',
'Administrators');
58 if ($roleCollection->count() == 0) {
59 $admGroupRole = $this->authFactory->createRole()->setData(
64 'role_type' => RoleGroup::ROLE_TYPE,
67 'role_name' =>
'Administrators',
72 foreach ($roleCollection as
$item) {
73 $admGroupRole =
$item;
78 $rulesCollection = $this->authFactory->createRulesCollection()
79 ->addFieldToFilter(
'role_id', $admGroupRole->getId())
80 ->addFieldToFilter(
'resource_id',
'all');
82 if ($rulesCollection->count() == 0) {
83 $this->authFactory->createRules()->setData(
85 'role_id' => $admGroupRole->getId(),
86 'resource_id' =>
'Magento_Backend::all',
88 'permission' =>
'allow',
93 foreach ($rulesCollection as
$rule) {
94 $rule->setData(
'resource_id',
'Magento_Backend::all')->save();
101 $tableName = $this->moduleDataSetup->getTable(
'authorization_rule');
103 $this->moduleDataSetup->getConnection()->delete(
105 [
'resource_id = ?' =>
'admin/system/tools/compiler']
__construct(ModuleDataSetupInterface $moduleDataSetup, \Magento\Authorization\Setup\AuthorizationFactory $authorizationFactory)