Skip to content

Commit c80f305

Browse files
[Magento Community Engineering] Community Contributions - 2.4-develop-prs
- merged with '2.4-develop-fast-lane-prs' branch
2 parents 50507f4 + 5dd8630 commit c80f305

File tree

101 files changed

+2744
-1185
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+2744
-1185
lines changed

app/code/Magento/Authorization/Model/Acl/Loader/Role.php

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,46 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
68
namespace Magento\Authorization\Model\Acl\Loader;
79

810
use Magento\Authorization\Model\Acl\Role\Group as RoleGroup;
11+
use Magento\Authorization\Model\Acl\Role\GroupFactory;
912
use Magento\Authorization\Model\Acl\Role\User as RoleUser;
10-
use Magento\Framework\App\ObjectManager;
13+
use Magento\Authorization\Model\Acl\Role\UserFactory;
14+
use Magento\Framework\Acl\Data\CacheInterface;
15+
use Magento\Framework\Acl\LoaderInterface;
16+
use Magento\Framework\App\ResourceConnection;
1117
use Magento\Framework\Serialize\Serializer\Json;
1218

13-
class Role implements \Magento\Framework\Acl\LoaderInterface
19+
/**
20+
* Acl Role Loader
21+
*/
22+
class Role implements LoaderInterface
1423
{
1524
/**
1625
* Cache key for ACL roles cache
1726
*/
1827
const ACL_ROLES_CACHE_KEY = 'authorization_role_cached_data';
1928

2029
/**
21-
* @var \Magento\Framework\App\ResourceConnection
30+
* @var ResourceConnection
2231
*/
2332
protected $_resource;
2433

2534
/**
26-
* @var \Magento\Authorization\Model\Acl\Role\GroupFactory
35+
* @var GroupFactory
2736
*/
2837
protected $_groupFactory;
2938

3039
/**
31-
* @var \Magento\Authorization\Model\Acl\Role\UserFactory
40+
* @var UserFactory
3241
*/
3342
protected $_roleFactory;
3443

3544
/**
36-
* @var \Magento\Framework\Acl\Data\CacheInterface
45+
* @var CacheInterface
3746
*/
3847
private $aclDataCache;
3948

@@ -48,28 +57,26 @@ class Role implements \Magento\Framework\Acl\LoaderInterface
4857
private $cacheKey;
4958

5059
/**
51-
* @param \Magento\Authorization\Model\Acl\Role\GroupFactory $groupFactory
52-
* @param \Magento\Authorization\Model\Acl\Role\UserFactory $roleFactory
53-
* @param \Magento\Framework\App\ResourceConnection $resource
54-
* @param \Magento\Framework\Acl\Data\CacheInterface $aclDataCache
60+
* @param GroupFactory $groupFactory
61+
* @param UserFactory $roleFactory
62+
* @param ResourceConnection $resource
63+
* @param CacheInterface $aclDataCache
5564
* @param Json $serializer
5665
* @param string $cacheKey
5766
*/
5867
public function __construct(
59-
\Magento\Authorization\Model\Acl\Role\GroupFactory $groupFactory,
60-
\Magento\Authorization\Model\Acl\Role\UserFactory $roleFactory,
61-
\Magento\Framework\App\ResourceConnection $resource,
62-
\Magento\Framework\Acl\Data\CacheInterface $aclDataCache = null,
63-
Json $serializer = null,
68+
GroupFactory $groupFactory,
69+
UserFactory $roleFactory,
70+
ResourceConnection $resource,
71+
CacheInterface $aclDataCache,
72+
Json $serializer,
6473
$cacheKey = self::ACL_ROLES_CACHE_KEY
6574
) {
66-
$this->_resource = $resource;
6775
$this->_groupFactory = $groupFactory;
6876
$this->_roleFactory = $roleFactory;
69-
$this->aclDataCache = $aclDataCache ?: ObjectManager::getInstance()->get(
70-
\Magento\Framework\Acl\Data\CacheInterface::class
71-
);
72-
$this->serializer = $serializer ?: ObjectManager::getInstance()->get(Json::class);
77+
$this->_resource = $resource;
78+
$this->aclDataCache = $aclDataCache;
79+
$this->serializer = $serializer;
7380
$this->cacheKey = $cacheKey;
7481
}
7582

app/code/Magento/Authorization/Model/Acl/Loader/Rule.php

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,38 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
68
namespace Magento\Authorization\Model\Acl\Loader;
79

8-
use Magento\Framework\App\ObjectManager;
10+
use Magento\Framework\Acl\Data\CacheInterface;
11+
use Magento\Framework\Acl\LoaderInterface;
12+
use Magento\Framework\Acl\RootResource;
13+
use Magento\Framework\App\ResourceConnection;
914
use Magento\Framework\Serialize\Serializer\Json;
1015

11-
class Rule implements \Magento\Framework\Acl\LoaderInterface
16+
/**
17+
* Acl Rule Loader
18+
*/
19+
class Rule implements LoaderInterface
1220
{
1321
/**
1422
* Rules array cache key
1523
*/
1624
const ACL_RULE_CACHE_KEY = 'authorization_rule_cached_data';
1725

1826
/**
19-
* @var \Magento\Framework\App\ResourceConnection
27+
* @var ResourceConnection
2028
*/
2129
protected $_resource;
2230

2331
/**
24-
* @var \Magento\Framework\Acl\RootResource
32+
* @var RootResource
2533
*/
2634
private $_rootResource;
2735

2836
/**
29-
* @var \Magento\Framework\Acl\Data\CacheInterface
37+
* @var CacheInterface
3038
*/
3139
private $aclDataCache;
3240

@@ -41,28 +49,26 @@ class Rule implements \Magento\Framework\Acl\LoaderInterface
4149
private $cacheKey;
4250

4351
/**
44-
* @param \Magento\Framework\Acl\RootResource $rootResource
45-
* @param \Magento\Framework\App\ResourceConnection $resource
46-
* @param array $data
47-
* @param \Magento\Framework\Acl\Data\CacheInterface $aclDataCache
52+
* @param RootResource $rootResource
53+
* @param ResourceConnection $resource
54+
* @param CacheInterface $aclDataCache
4855
* @param Json $serializer
56+
* @param array $data
4957
* @param string $cacheKey
5058
* @SuppressWarnings(PHPMD.UnusedFormalParameter):
5159
*/
5260
public function __construct(
53-
\Magento\Framework\Acl\RootResource $rootResource,
54-
\Magento\Framework\App\ResourceConnection $resource,
61+
RootResource $rootResource,
62+
ResourceConnection $resource,
63+
CacheInterface $aclDataCache,
64+
Json $serializer,
5565
array $data = [],
56-
\Magento\Framework\Acl\Data\CacheInterface $aclDataCache = null,
57-
Json $serializer = null,
5866
$cacheKey = self::ACL_RULE_CACHE_KEY
5967
) {
60-
$this->_resource = $resource;
6168
$this->_rootResource = $rootResource;
62-
$this->aclDataCache = $aclDataCache ?: ObjectManager::getInstance()->get(
63-
\Magento\Framework\Acl\Data\CacheInterface::class
64-
);
65-
$this->serializer = $serializer ?: ObjectManager::getInstance()->get(Json::class);
69+
$this->_resource = $resource;
70+
$this->aclDataCache = $aclDataCache;
71+
$this->serializer = $serializer;
6672
$this->cacheKey = $cacheKey;
6773
}
6874

@@ -104,7 +110,7 @@ private function getRulesArray()
104110
return $this->serializer->unserialize($rulesCachedData);
105111
}
106112

107-
$ruleTable = $this->_resource->getTableName("authorization_rule");
113+
$ruleTable = $this->_resource->getTableName('authorization_rule');
108114
$connection = $this->_resource->getConnection();
109115
$select = $connection->select()
110116
->from(['r' => $ruleTable]);

app/code/Magento/Authorization/Model/ResourceModel/Rules.php

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,58 +6,63 @@
66

77
namespace Magento\Authorization\Model\ResourceModel;
88

9-
use Magento\Framework\App\ObjectManager;
9+
use Magento\Backend\App\AbstractAction;
10+
use Magento\Framework\Acl\Builder;
11+
use Magento\Framework\Acl\Data\CacheInterface;
12+
use Magento\Framework\Acl\RootResource;
13+
use Magento\Framework\Exception\LocalizedException;
14+
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
15+
use Magento\Framework\Model\ResourceModel\Db\Context;
16+
use Psr\Log\LoggerInterface;
1017

1118
/**
1219
* Admin rule resource model
1320
*/
14-
class Rules extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
21+
class Rules extends AbstractDb
1522
{
1623
/**
1724
* Root ACL resource
1825
*
19-
* @var \Magento\Framework\Acl\RootResource
26+
* @var RootResource
2027
*/
2128
protected $_rootResource;
2229

2330
/**
24-
* @var \Magento\Framework\Acl\Builder
31+
* @var Builder
2532
*/
2633
protected $_aclBuilder;
2734

2835
/**
29-
* @var \Psr\Log\LoggerInterface
36+
* @var LoggerInterface
3037
*/
3138
protected $_logger;
3239

3340
/**
34-
* @var \Magento\Framework\Acl\Data\CacheInterface
41+
* @var CacheInterface
3542
*/
3643
private $aclDataCache;
3744

3845
/**
39-
* @param \Magento\Framework\Model\ResourceModel\Db\Context $context
40-
* @param \Magento\Framework\Acl\Builder $aclBuilder
41-
* @param \Psr\Log\LoggerInterface $logger
42-
* @param \Magento\Framework\Acl\RootResource $rootResource
46+
* @param Context $context
47+
* @param Builder $aclBuilder
48+
* @param LoggerInterface $logger
49+
* @param RootResource $rootResource
50+
* @param CacheInterface $aclDataCache
4351
* @param string $connectionName
44-
* @param \Magento\Framework\Acl\Data\CacheInterface $aclDataCache
4552
*/
4653
public function __construct(
47-
\Magento\Framework\Model\ResourceModel\Db\Context $context,
48-
\Magento\Framework\Acl\Builder $aclBuilder,
49-
\Psr\Log\LoggerInterface $logger,
50-
\Magento\Framework\Acl\RootResource $rootResource,
51-
$connectionName = null,
52-
\Magento\Framework\Acl\Data\CacheInterface $aclDataCache = null
54+
Context $context,
55+
Builder $aclBuilder,
56+
LoggerInterface $logger,
57+
RootResource $rootResource,
58+
CacheInterface $aclDataCache,
59+
$connectionName = null
5360
) {
5461
$this->_aclBuilder = $aclBuilder;
5562
parent::__construct($context, $connectionName);
5663
$this->_rootResource = $rootResource;
5764
$this->_logger = $logger;
58-
$this->aclDataCache = $aclDataCache ?: ObjectManager::getInstance()->get(
59-
\Magento\Framework\Acl\Data\CacheInterface::class
60-
);
65+
$this->aclDataCache = $aclDataCache;
6166
}
6267

6368
/**
@@ -75,7 +80,7 @@ protected function _construct()
7580
*
7681
* @param \Magento\Authorization\Model\Rules $rule
7782
* @return void
78-
* @throws \Magento\Framework\Exception\LocalizedException
83+
* @throws LocalizedException
7984
*/
8085
public function saveRel(\Magento\Authorization\Model\Rules $rule)
8186
{
@@ -107,7 +112,7 @@ public function saveRel(\Magento\Authorization\Model\Rules $rule)
107112
$connection->insert($this->getMainTable(), $insertData);
108113
} else {
109114
/** Give basic admin permissions to any admin */
110-
$postedResources[] = \Magento\Backend\App\AbstractAction::ADMIN_RESOURCE;
115+
$postedResources[] = AbstractAction::ADMIN_RESOURCE;
111116
$acl = $this->_aclBuilder->getAcl();
112117
/** @var $resource \Magento\Framework\Acl\AclResource */
113118
foreach ($acl->getResources() as $resourceId) {
@@ -125,7 +130,7 @@ public function saveRel(\Magento\Authorization\Model\Rules $rule)
125130

126131
$connection->commit();
127132
$this->aclDataCache->clean();
128-
} catch (\Magento\Framework\Exception\LocalizedException $e) {
133+
} catch (LocalizedException $e) {
129134
$connection->rollBack();
130135
throw $e;
131136
} catch (\Exception $e) {

0 commit comments

Comments
 (0)