# -- # Copyright (C) 2001-2019 OTRS AG, https://otrs.com/ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (GPL). If you # did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt. # -- package Kernel::System::Console::Command::Admin::Role::Add; use strict; use warnings; use parent qw(Kernel::System::Console::BaseCommand); our @ObjectDependencies = ( 'Kernel::System::Group', ); sub Configure { my ( $Self, %Param ) = @_; $Self->Description('Create a new role.'); $Self->AddOption( Name => 'name', Description => 'Name of the new role.', Required => 1, HasValue => 1, ValueRegex => qr/.*/smx, ); $Self->AddOption( Name => 'comment', Description => 'Comment for the new role.', Required => 0, HasValue => 1, ValueRegex => qr/.*/smx, ); return; } sub Run { my ( $Self, %Param ) = @_; $Self->Print("Adding a new role...\n"); my $RID = $Kernel::OM->Get('Kernel::System::Group')->RoleAdd( Name => $Self->GetOption('name'), Comment => $Self->GetOption('comment') || '', ValidID => 1, UserID => 1, ); if ($RID) { $Self->Print("Done\n"); return $Self->ExitCodeOk(); } $Self->PrintError("Can't add role"); return $Self->ExitCodeError(); } 1;