From 079be338fb0e200309777249f9e3ea1d115d374e Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 4 Jul 2006 12:01:03 +0000 Subject: [PATCH] adding freeside-addgroup --- FS/MANIFEST | 1 + FS/bin/freeside-addgroup | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ FS/bin/freeside-adduser | 2 -- 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100755 FS/bin/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); -- 2.11.0