X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fsbin%2Frt-email-group-admin.in;h=0e32525d9238ec6f761d7ce3fc9a0cf3961b5703;hb=43a06151e47d2c59b833cbd8c26d97865ee850b6;hp=600486005988f42014bcbe77fa8476feb846861f;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c;p=freeside.git diff --git a/rt/sbin/rt-email-group-admin.in b/rt/sbin/rt-email-group-admin.in index 600486005..0e32525d9 100755 --- a/rt/sbin/rt-email-group-admin.in +++ b/rt/sbin/rt-email-group-admin.in @@ -3,7 +3,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -111,23 +111,14 @@ BEGIN { } -use RT; -RT::LoadConfig; -RT::Init; - -require RT::Principal; -require RT::User; -require RT::Group; -require RT::ScripActions; - use Getopt::Long qw(GetOptions); +Getopt::Long::Configure( "pass_through" ); our $cmd = 'usage'; our $opts = {}; sub parse_args { my $tmp; - Getopt::Long::Configure( "pass_through" ); if ( GetOptions( 'list' => \$tmp ) && $tmp ) { $cmd = 'list'; } @@ -180,18 +171,28 @@ sub parse_args { } sub usage { - local $@; - eval "require Pod::PlainText;"; - if ( $@ ) { - print "see `perldoc $0`\n"; - } else { - my $parser = Pod::PlainText->new( sentence => 0, width => 78 ); - $parser->parse_from_file( $0 ); - } + require Pod::Usage; + Pod::Usage::pod2usage({ verbose => 2 }); +} + +my $help; +if ( GetOptions( 'help|h' => \$help ) && $help ) { + usage(); + exit; } parse_args(); +require RT; +RT->LoadConfig; +RT->Init; + +require RT::Principal; +require RT::User; +require RT::Group; +require RT::ScripActions; + + { eval "main::$cmd()"; if ( $@ ) { @@ -231,7 +232,7 @@ sub _list { print "Members: \n"; foreach( @princ ) { - my $obj = RT::Principal->new( $RT::SystemUser ); + my $obj = RT::Principal->new( RT->SystemUser ); $obj->Load( $_ ); next unless $obj->id; @@ -252,7 +253,7 @@ recipient list. Would be notify as comment if --comment specified. =cut sub create { - my $actions = RT::ScripActions->new( $RT::SystemUser ); + my $actions = RT::ScripActions->new( RT->SystemUser ); $actions->Limit( FIELD => 'Name', VALUE => $opts->{'name'}, @@ -281,7 +282,7 @@ sub __create_empty { my $name = shift; my $as_comment = shift || 0; require RT::ScripAction; - my $action = RT::ScripAction->new( $RT::SystemUser ); + my $action = RT::ScripAction->new( RT->SystemUser ); $action->Create( Name => $name, Description => "Created with rt-email-group-admin script", @@ -302,7 +303,7 @@ sub __check_group { my $instance = shift; require RT::Group; - my $obj = RT::Group->new( $RT::SystemUser ); + my $obj = RT::Group->new( RT->SystemUser ); $obj->LoadUserDefinedGroup( $instance ); return $obj->id ? $obj : undef; } @@ -317,7 +318,7 @@ sub __check_user { my $instance = shift; require RT::User; - my $obj = RT::User->new( $RT::SystemUser ); + my $obj = RT::User->new( RT->SystemUser ); $obj->Load( $instance ); return $obj->id ? $obj : undef; } @@ -378,7 +379,7 @@ sub delete { } require RT::Scrips; - my $scrips = RT::Scrips->new( $RT::SystemUser ); + my $scrips = RT::Scrips->new( RT->SystemUser ); $scrips->Limit( FIELD => 'ScripAction', VALUE => $action->id ); if ( $scrips->Count ) { my @sid; @@ -451,7 +452,7 @@ sub rename { exit(-1); } - my $actions = RT::ScripActions->new( $RT::SystemUser ); + my $actions = RT::ScripActions->new( RT->SystemUser ); $actions->Limit( FIELD => 'Name', VALUE => $opts->{'newname'} ); if ( $actions->Count ) { print STDERR "ScripAction '". $opts->{'newname'} ."' allready exists\n"; @@ -482,7 +483,7 @@ sub argument_to_list { } sub _get_our_actions { - my $actions = RT::ScripActions->new( $RT::SystemUser ); + my $actions = RT::ScripActions->new( RT->SystemUser ); $actions->Limit( FIELD => 'ExecModule', VALUE => 'NotifyGroup',