diff options
author | ivan <ivan> | 2006-07-04 12:01:03 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-07-04 12:01:03 +0000 |
commit | 079be338fb0e200309777249f9e3ea1d115d374e (patch) | |
tree | 72cc2baa7e1dc923fe192a7f4c2254f407ec7ee1 /FS | |
parent | b63800b2aaca886ae42c0f61f83ae2e2f0b4c44f (diff) |
adding freeside-addgroup
Diffstat (limited to 'FS')
-rw-r--r-- | FS/MANIFEST | 1 | ||||
-rwxr-xr-x | FS/bin/freeside-addgroup | 50 | ||||
-rw-r--r-- | FS/bin/freeside-adduser | 2 |
3 files changed, 51 insertions, 2 deletions
diff --git a/FS/MANIFEST b/FS/MANIFEST index 6db8271..3c315fc 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 0000000..7b30f7d --- /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 3ec2e72..0d8b454 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); |