From: ivan Date: Tue, 4 Jul 2006 12:01:03 +0000 (+0000) Subject: adding freeside-addgroup X-Git-Tag: BEFORE_FINAL_MASONIZE~90 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=079be338fb0e200309777249f9e3ea1d115d374e adding freeside-addgroup --- diff --git a/FS/MANIFEST b/FS/MANIFEST index 6db82710c..3c315fc97 100644 --- a/FS/MANIFEST +++ b/FS/MANIFEST @@ -5,6 +5,7 @@ Makefile.PL README bin/freeside-addoutsource bin/freeside-addoutsourceuser +bin/freeside-addgroup bin/freeside-adduser bin/freeside-apply-credits bin/freeside-bill diff --git a/FS/bin/freeside-addgroup b/FS/bin/freeside-addgroup new file mode 100755 index 000000000..7b30f7d95 --- /dev/null +++ b/FS/bin/freeside-addgroup @@ -0,0 +1,50 @@ +#!/usr/bin/perl + +use strict; +use vars qw($opt_s); +use Getopt::Std; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearch); +use FS::CurrentUser; +use FS::AccessRight; +use FS::access_group; +use FS::access_right; +use FS::access_groupagent; + +getopts("s"); +my $user = shift or die &usage; #just for adminsuidsetup +my $group = shift or die &usage; + +$FS::CurrentUser::upgrade_hack = 1; +#adminsuidsetup $rootuser; +adminsuidsetup $user; + +my $access_group = new FS::access_group { 'groupname' => $group }; +my $error = $access_group->insert; +die $error if $error; + +if ( $opt_s ) { + foreach my $rightname ( FS::AccessRight->rights ) { + my $access_right = new FS::access_right { + 'righttype' => 'FS::access_group', + 'rightobjnum' => $access_group->groupnum, + 'rightname' => $rightname, + }; + my $ar_error = $access_right->insert; + die $ar_error if $ar_error; + } + + foreach my $agent ( qsearch('agent', {} ) ) { + my $access_groupagent = new FS::access_groupagent { + 'groupnum' => $access_group->groupnum, + 'agentnum' => $agent->agentnum, + }; + my $aga_error = $access_groupagent->insert; + die $aga_error if $aga_error; + } +} + +sub usage { + die "Usage:\n\n freeside-addgroup [ -s ] username groupname" +} + diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser index 3ec2e72cd..0d8b454bf 100644 --- a/FS/bin/freeside-adduser +++ b/FS/bin/freeside-adduser @@ -1,6 +1,4 @@ #!/usr/bin/perl -w -# -# $Id: freeside-adduser,v 1.11 2006-06-30 14:30:26 ivan Exp $ use strict; use vars qw($opt_h $opt_b $opt_c $opt_g);