/** * Add permission to the role. * * @param Role[] $roles Already created roles. * @param string $roleName The role name. * @param Permission $permission The permission name. * @param \User $contaoUser The Contao user. * @param User $user The security user. * * @return Role */ private function addPermissionToRole(&$roles, $roleName, Permission $permission, $contaoUser, User $user) { $workflow = $permission->getWorkflowName(); if (!isset($roles[$workflow])) { $role = new Role($roleName, $permission->getWorkflowName(), $this->translateLabel($roleName), array('user' => $contaoUser)); $roles[$workflow] = $role; $user->assign($role); } $roles[$workflow]->addPermission($permission); return $roles[$workflow]; }