# --
# OTOBO is a web-based ticketing system for service organisations.
# --
# Copyright (C) 2001-2020 OTRS AG, https://otrs.com/
# Copyright (C) 2019-2023 Rother OSS GmbH, https://otobo.de/
# --
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# --
package Kernel::System::Console::Command::Admin::CustomerUser::Add;
use strict;
use warnings;
use parent qw(Kernel::System::Console::BaseCommand);
our @ObjectDependencies = (
'Kernel::System::CustomerUser',
);
sub Configure {
my ( $Self, %Param ) = @_;
$Self->Description('List or search for customer users.');
$Self->AddOption(
Name => 'search-term',
Description => "Term to search by for customer users.",
Required => 0,
HasValue => 1,
ValueRegex => qr/.*/smx,
);
$Self->AddOption(
Name => 'source',
Description => "Filter by one or more comma-separated sources.",
Required => 0,
HasValue => 1,
ValueRegex => qr/.*/smx,
);
$Self->AddOption(
Name => 'output-format',
Description => "Define output format - default is 'plain'.",
Required => 0,
HasValue => 1,
ValueRegex => qr/(json|plain|markdown|xml)/smx,
);
$Self->AddOption(
Name => 'output-columns',
Description => "Comma-separated output columns. Possible are login, email, customercompany, title, firstname, lastname, phone, fax, mobile, street, zip, city, country, comments, valid. Default are login and email.",
Required => 0,
HasValue => 1,
ValueRegex => qr/((login|email|customercompany|title|firstname|lastname|phone|fax|mobile|street|zip|city|country|comments|valid),?)*/smx,
);
return;
}
sub Run {
my ( $Self, %Param ) = @_;
$Self->Print("Fetching customer users...\n");
my $CustomerUserObject = $Kernel::OM->Get('Kernel::System::CustomerUser');
my %CustomerUserList = $CustomerUserObject->CustomerSearch(
Search => '*',
Valid => 0,
Limit => 100, # TODO Think about useful limit -> ask kps
Source => $Self->GetOption('source') || '',
);
$Self->Print("Done.\n");
return $Self->ExitCodeOk();
}
1;