mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Fix check-group command for new groups
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
parent
42448c0d78
commit
1026b2131c
1 changed files with 12 additions and 6 deletions
|
|
@ -86,13 +86,15 @@ class CheckGroup extends Command {
|
|||
try {
|
||||
$this->assertAllowed($input->getOption('force'));
|
||||
$gid = $input->getArgument('ocName');
|
||||
$wasMapped = $this->groupWasMapped($gid);
|
||||
if ($this->backend->getLDAPAccess($gid)->stringResemblesDN($gid)) {
|
||||
$groupname = $this->backend->dn2GroupName($gid);
|
||||
if ($groupname !== false) {
|
||||
$gid = $groupname;
|
||||
}
|
||||
}
|
||||
$wasMapped = $this->groupWasMapped($gid);
|
||||
/* Search to trigger mapping for new groups */
|
||||
$this->backend->getGroups($gid);
|
||||
$exists = $this->backend->groupExistsOnLDAP($gid, true);
|
||||
if ($exists === true) {
|
||||
$output->writeln('The group is still available on LDAP.');
|
||||
|
|
@ -113,7 +115,7 @@ class CheckGroup extends Command {
|
|||
}
|
||||
}
|
||||
|
||||
public function onGroupCreatedEvent(GroupChangedEvent $event, OutputInterface $output): void {
|
||||
public function onGroupCreatedEvent(GroupCreatedEvent $event, OutputInterface $output): void {
|
||||
$output->writeln('<info>The group '.$event->getGroup()->getGID().' was added to Nextcloud with '.$event->getGroup()->count().' users</info>');
|
||||
}
|
||||
|
||||
|
|
@ -131,11 +133,15 @@ class CheckGroup extends Command {
|
|||
|
||||
/**
|
||||
* checks whether a group is actually mapped
|
||||
* @param string $ocName the groupname as used in Nextcloud
|
||||
* @param string $gid the groupname as passed to the command
|
||||
*/
|
||||
protected function groupWasMapped(string $ocName): bool {
|
||||
$dn = $this->mapping->getDNByName($ocName);
|
||||
return $dn !== false;
|
||||
protected function groupWasMapped(string $gid): bool {
|
||||
$dn = $this->mapping->getDNByName($gid);
|
||||
if ($dn !== false) {
|
||||
return true;
|
||||
}
|
||||
$name = $this->mapping->getNameByDN($gid);
|
||||
return $name !== false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue