/** * Create a privilege in a particular resource * @param int $resourceId * @param string $name */ public function createPrivilege($resourceId, $name) { $privilege = new \Shopware\Models\User\Privilege(); $privilege->setName($name); $privilege->setResourceId($resourceId); Shopware()->Models()->persist($privilege); Shopware()->Models()->flush(); }
private function createAclResource() { // If exists: find existing SwagImportExport resource $pluginId = $this->db->fetchRow('SELECT pluginID FROM s_core_acl_resources WHERE name = ? ', ["swagimportexport"]); $pluginId = isset($pluginId['pluginID']) ? $pluginId['pluginID'] : null; if ($pluginId) { // prevent creation of new acl resource return; } $resource = new \Shopware\Models\User\Resource(); $resource->setName('swagimportexport'); $resource->setPluginId($this->getId()); foreach (['export', 'import', 'profile', 'read'] as $action) { $privilege = new \Shopware\Models\User\Privilege(); $privilege->setResource($resource); $privilege->setName($action); $this->em->persist($privilege); } $this->em->persist($resource); $this->em->flush(); }