Browse Source
fix documentation, get and createGroup may return null
* also have stricter checks in place
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
pull/17896/head
Arthur Schiwon
7 years ago
No known key found for this signature in database
GPG Key ID: 7424F1874854DF23
5 changed files with
22 additions and
10 deletions
-
core/Command/Group/Add.php
-
core/Command/User/Add.php
-
lib/private/Group/Manager.php
-
lib/private/Setup.php
-
lib/public/IGroupManager.php
|
|
|
@ -68,6 +68,10 @@ class Add extends Base { |
|
|
|
return 1; |
|
|
|
} else { |
|
|
|
$group = $this->groupManager->createGroup($gid); |
|
|
|
if($group === false) { |
|
|
|
$output->writeln('<error>Could not create group</error>'); |
|
|
|
return 2; |
|
|
|
} |
|
|
|
$output->writeln('Created group "' . $group->getGID() . '"'); |
|
|
|
|
|
|
|
$displayName = trim((string) $input->getOption('display-name')); |
|
|
|
|
|
|
|
@ -25,6 +25,7 @@ |
|
|
|
namespace OC\Core\Command\User; |
|
|
|
|
|
|
|
use OC\Files\Filesystem; |
|
|
|
use OCP\IGroup; |
|
|
|
use OCP\IGroupManager; |
|
|
|
use OCP\IUser; |
|
|
|
use OCP\IUserManager; |
|
|
|
@ -152,10 +153,14 @@ class Add extends Command { |
|
|
|
if (!$group) { |
|
|
|
$this->groupManager->createGroup($groupName); |
|
|
|
$group = $this->groupManager->get($groupName); |
|
|
|
$output->writeln('Created group "' . $group->getGID() . '"'); |
|
|
|
if($group instanceof IGroup) { |
|
|
|
$output->writeln('Created group "' . $group->getGID() . '"'); |
|
|
|
} |
|
|
|
} |
|
|
|
if($group instanceof IGroup) { |
|
|
|
$group->addUser($user); |
|
|
|
$output->writeln('User "' . $user->getUID() . '" added to group "' . $group->getGID() . '"'); |
|
|
|
} |
|
|
|
$group->addUser($user); |
|
|
|
$output->writeln('User "' . $user->getUID() . '" added to group "' . $group->getGID() . '"'); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -163,7 +163,7 @@ class Manager extends PublicEmitter implements IGroupManager { |
|
|
|
|
|
|
|
/** |
|
|
|
* @param string $gid |
|
|
|
* @return \OC\Group\Group |
|
|
|
* @return IGroup|null |
|
|
|
*/ |
|
|
|
public function get($gid) { |
|
|
|
if (isset($this->cachedGroups[$gid])) { |
|
|
|
@ -175,7 +175,7 @@ class Manager extends PublicEmitter implements IGroupManager { |
|
|
|
/** |
|
|
|
* @param string $gid |
|
|
|
* @param string $displayName |
|
|
|
* @return \OCP\IGroup |
|
|
|
* @return \OCP\IGroup|null |
|
|
|
*/ |
|
|
|
protected function getGroupObject($gid, $displayName = null) { |
|
|
|
$backends = []; |
|
|
|
@ -210,11 +210,11 @@ class Manager extends PublicEmitter implements IGroupManager { |
|
|
|
|
|
|
|
/** |
|
|
|
* @param string $gid |
|
|
|
* @return IGroup|bool|null |
|
|
|
* @return IGroup|null |
|
|
|
*/ |
|
|
|
public function createGroup($gid) { |
|
|
|
if ($gid === '' || $gid === null) { |
|
|
|
return false; |
|
|
|
return null; |
|
|
|
} else if ($group = $this->get($gid)) { |
|
|
|
return $group; |
|
|
|
} else { |
|
|
|
|
|
|
|
@ -50,6 +50,7 @@ use OC\Authentication\Token\DefaultTokenProvider; |
|
|
|
use OC\Log\Rotate; |
|
|
|
use OC\Preview\BackgroundCleanupJob; |
|
|
|
use OCP\Defaults; |
|
|
|
use OCP\IGroup; |
|
|
|
use OCP\IL10N; |
|
|
|
use OCP\ILogger; |
|
|
|
use OCP\IUser; |
|
|
|
@ -380,7 +381,9 @@ class Setup { |
|
|
|
$config->setAppValue('core', 'vendor', $this->getVendor()); |
|
|
|
|
|
|
|
$group =\OC::$server->getGroupManager()->createGroup('admin'); |
|
|
|
$group->addUser($user); |
|
|
|
if($group instanceof IGroup) { |
|
|
|
$group->addUser($user); |
|
|
|
} |
|
|
|
|
|
|
|
// Install shipped apps and specified app bundles
|
|
|
|
Installer::installShippedApps(); |
|
|
|
|
|
|
|
@ -75,7 +75,7 @@ interface IGroupManager { |
|
|
|
|
|
|
|
/** |
|
|
|
* @param string $gid |
|
|
|
* @return \OCP\IGroup |
|
|
|
* @return \OCP\IGroup|null |
|
|
|
* @since 8.0.0 |
|
|
|
*/ |
|
|
|
public function get($gid); |
|
|
|
@ -89,7 +89,7 @@ interface IGroupManager { |
|
|
|
|
|
|
|
/** |
|
|
|
* @param string $gid |
|
|
|
* @return \OCP\IGroup |
|
|
|
* @return \OCP\IGroup|null |
|
|
|
* @since 8.0.0 |
|
|
|
*/ |
|
|
|
public function createGroup($gid); |
|
|
|
|