[dw-free] Update the create-account helper script so it can create communities
[commit: http://hg.dwscoalition.org/dw-free/rev/fb24395b0f38]
Update the create-account helper script so it can create communities
Patch by
mark.
Files modified:
Update the create-account helper script so it can create communities
Patch by
![[staff profile]](https://www.dreamwidth.org/img/silk/identity/user_staff.png)
Files modified:
- bin/create-account
-------------------------------------------------------------------------------- diff -r 75287c8bf228 -r fb24395b0f38 bin/create-account --- a/bin/create-account Thu Dec 29 14:13:32 2011 +0800 +++ b/bin/create-account Thu Dec 29 06:52:33 2011 +0000 @@ -19,31 +19,41 @@ use Getopt::Long; -my ( $user, $email, $pass ); +my ( $user, $email, $pass, $comm, $admin ); GetOptions( 'user=s' => \$user, 'password=s' => \$pass, 'email=s' => \$email, + 'community' => \$comm, + 'admin=s' => \$admin, ) or die "usage: $0 -u USERNAME -e EMAIL\n"; -die "usage: $0 -u USERNAME -e EMAIL [-p PASSWORD]\n" - unless $user && $email; +die "usage: $0 -u USERNAME [-e EMAIL -p PASSWORD|--community --admin=USER]\n" + unless (!$comm && $user && $email) || ($comm && $user && $admin); $user = LJ::canonical_username( $user ); die "Username invalid\n" unless $user; -die "Email invalid\n" - unless $email && $email =~ /^[^@]+@[^@]+\.\w+$/; LJ::MemCache::delete( 'uidof:' . $user ); my $u2 = LJ::load_user( $user ) and die "User already exists\n"; -my $password = $pass || ''; -unless ( $password ) { - $password .= substr( 'abcdefghijklmnopqrstuvwxyzABCEFGHIJKLMNOPQRSTUVWXYZ0123456789', int(rand()*62), 1 ) for 1..10; +if ( $comm ) { + my $adminu = LJ::load_user($admin) + or die "Can't load admin user\n"; + + my $u = LJ::User->create_community( user => $user, email => $email, admin_userid => $adminu->id ); + print "User: $u->{user}($u->{userid}) created with maintainer $adminu->{user}.\n"; +} else { + die "Email invalid\n" + unless $email && $email =~ /^[^@]+@[^@]+\.\w+$/; + + my $password = $pass || ''; + unless ( $password ) { + $password .= substr( 'abcdefghijklmnopqrstuvwxyzABCEFGHIJKLMNOPQRSTUVWXYZ0123456789', int(rand()*62), 1 ) for 1..10; + } + + my $u = LJ::User->create_personal( user => $user, email => $email, password => $password ) + or die "unable to create account?\n"; + print "User: $u->{user}($u->{userid}) created with password $password.\n"; } - -my $u = LJ::User->create_personal( user => $user, email => $email, password => $password ) - or die "unable to create account?\n"; - -print "User: $u->{user}($u->{userid}) created with password $password.\n"; --------------------------------------------------------------------------------