Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Command/Room/Create.php')
-rw-r--r--lib/Command/Room/Create.php45
1 files changed, 20 insertions, 25 deletions
diff --git a/lib/Command/Room/Create.php b/lib/Command/Room/Create.php
index bc708d838..f96ef7dd5 100644
--- a/lib/Command/Room/Create.php
+++ b/lib/Command/Room/Create.php
@@ -25,10 +25,9 @@ declare(strict_types=1);
namespace OCA\Talk\Command\Room;
-use Exception;
+use InvalidArgumentException;
use OC\Core\Command\Base;
-use OCA\Talk\Manager;
-use OCP\IUserManager;
+use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
@@ -37,19 +36,6 @@ use Symfony\Component\Console\Output\OutputInterface;
class Create extends Base {
use TRoomCommand;
- /** @var IUserManager */
- public $userManager;
-
- /** @var Manager */
- public $manager;
-
- public function __construct(IUserManager $userManager, Manager $manager) {
- parent::__construct();
-
- $this->userManager = $userManager;
- $this->manager = $manager;
- }
-
protected function configure(): void {
$this
->setName('talk:room:create')
@@ -69,11 +55,6 @@ class Create extends Base {
InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY,
'Invites all members of the given group to the room to create'
)->addOption(
- 'circle',
- null,
- InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY,
- 'Invites all members of the given circle to the room to create'
- )->addOption(
'public',
null,
InputOption::VALUE_NONE,
@@ -105,7 +86,6 @@ class Create extends Base {
$name = $input->getArgument('name');
$users = $input->getOption('user');
$groups = $input->getOption('group');
- $circles = $input->getOption('circle');
$public = $input->getOption('public');
$readonly = $input->getOption('readonly');
$password = $input->getOption('password');
@@ -114,7 +94,7 @@ class Create extends Base {
$name = trim($name);
if (!$this->validateRoomName($name)) {
- $output->writeln("<error>Invalid room name.</error>");
+ $output->writeln('<error>Invalid room name.</error>');
return 1;
}
@@ -129,13 +109,12 @@ class Create extends Base {
$this->addRoomParticipants($room, $users);
$this->addRoomParticipantsByGroup($room, $groups);
- $this->addRoomParticipantsByCircle($room, $circles);
$this->addRoomModerators($room, $moderators);
if ($owner !== null) {
$this->setRoomOwner($room, $owner);
}
- } catch (Exception $e) {
+ } catch (InvalidArgumentException $e) {
$room->deleteRoom();
$output->writeln(sprintf('<error>%s</error>', $e->getMessage()));
@@ -145,4 +124,20 @@ class Create extends Base {
$output->writeln('<info>Room successfully created.</info>');
return 0;
}
+
+ public function completeOptionValues($optionName, CompletionContext $context) {
+ switch ($optionName) {
+ case 'user':
+ return $this->completeUserValues($context);
+
+ case 'group':
+ return $this->completeGroupValues($context);
+
+ case 'owner':
+ case 'moderator':
+ return $this->completeParticipantValues($context);
+ }
+
+ return parent::completeOptionValues($optionName, $context);
+ }
}