savannah-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-cvs] /srv/bzr/administration r264: adding add_user_to_project.


From: Michael J. Flickinger
Subject: [Savannah-cvs] /srv/bzr/administration r264: adding add_user_to_project.pl
Date: Mon, 11 Apr 2011 17:16:17 -0400
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 264
committer: Michael J. Flickinger <address@hidden>
branch nick: administration
timestamp: Mon 2011-04-11 17:16:17 -0400
message:
  adding add_user_to_project.pl
added:
  maintenance/add_user_to_project.pl
=== added file 'maintenance/add_user_to_project.pl'
--- a/maintenance/add_user_to_project.pl        1970-01-01 00:00:00 +0000
+++ b/maintenance/add_user_to_project.pl        2011-04-11 21:16:17 +0000
@@ -0,0 +1,30 @@
+#!/usr/bin/perl
+
+my ($group, $user, $admin_name) = @ARGV;
+
+my $onduty   = (grep { $_ eq 'onduty' } @ARGV) ? 1 : 0;
+my $is_admin = (grep { $_ eq 'admin'  } @ARGV) ? 'A' : '';
+
+die "usage: $0 [group] [user_to_add] [admin_name] onduty admin\n"
+    if not $group or not $user or not $admin_name;
+
+my (undef, $group_id)=`ssh internal "mysql savane -B -e 'SELECT group_id FROM 
groups WHERE unix_group_name=\\"$group\\";'"`;
+die "project $group does not exist\n" unless $group_id;
+
+my (undef, $user_id)=`ssh internal "mysql savane -B -e 'SELECT user_id FROM 
user WHERE user_name=\\"$user\\";'"`;
+die "user $user does not exist\n" unless $user_id;
+
+my (undef, $admin_id)=`ssh internal "mysql savane -B -e 'SELECT user_id FROM 
user WHERE user_name=\\"$admin_name\\";'"`;
+die "admin $user does not exist\n" unless $admin_id;
+
+my (undef, $already_added)=`ssh internal "mysql savane -B -e 'SELECT 
user_group_id FROM user_group WHERE user_id=$user_id AND group_id=$group_id;'"`;
+
+die "$user is already added to $group (use the web interface for permission 
changes)\n"
+    if $already_added;
+
+`ssh internal "mysql savane -B -e 'INSERT INTO user_group (user_id, group_id, 
onduty, admin_flags, cache_user_name) VALUES ($user_id, $group_id, $onduty, 
\\"$is_admin\\", \\"$user\\");'"`;
+
+my $time = time;
+`ssh internal "mysql savane -B -e 'INSERT INTO group_history (group_id, 
field_name, old_value, mod_by, date) VALUES ($group_id, \\"Added User\\", 
\\"$user\\", $admin_id, $time);'"`;
+
+print "$user added to $group by $admin_name\n";


reply via email to

[Prev in Thread] Current Thread [Next in Thread]