diff --git a/lib/WebGUI/Group.pm b/lib/WebGUI/Group.pm
index cacdba4bb..c4bcc20db 100755
--- a/lib/WebGUI/Group.pm
+++ b/lib/WebGUI/Group.pm
@@ -152,9 +152,9 @@ sub addUsers {
my $expireOffset = shift || $self->get("expireOffset");
foreach my $uid (@{$users}) {
next if ($uid eq '1' and !isIn($self->getId, 1, 7));
- my ($isIn) = $self->session->db->quickArray("select count(*) from groupings where groupId=".$self->session->db->quote($self->getId)." and userId=".$self->session->db->quote($uid));
+ my ($isIn) = $self->session->db->quickArray("select count(*) from groupings where groupId=? and userId=?", [$self->getId, $uid]);
unless ($isIn) {
- $self->session->db->write("insert into groupings (groupId,userId,expireDate) values (".$self->session->db->quote($self->getId).", ".$self->session->db->quote($uid).", ".($self->session->datetime->time()+$expireOffset).")");
+ $self->session->db->write("insert into groupings (groupId,userId,expireDate) values (?,?,?)", [$self->getId, $uid, ($self->session->datetime->time()+$expireOffset)]);
} else {
$self->userGroupExpireDate($uid,($self->session->datetime->time()+$expireOffset));
}
@@ -438,7 +438,7 @@ sub find {
my $class = shift;
my $session = shift;
my $name = shift;
- my ($groupId) = $session->db->quickArray("select groupId from groups where groupName=".$session->db->quote($name));
+ my ($groupId) = $session->db->quickArray("select groupId from groups where groupName=?",[$name]);
return WebGUI::Group->new($session,$groupId);
}
@@ -954,10 +954,10 @@ sub userIsAdmin {
my $userId = shift || $self->session->user->userId;
my $value = shift;
if ($value ne "") {
- $self->session->db->write("update groupings set groupAdmin=".$self->session->db->quote($value)." where groupId=".$self->session->db->quote($self->getId)." and userId=".$self->session->db->quote($userId));
+ $self->session->db->write("update groupings set groupAdmin=? where groupId=? and userId=?",[$value, $self->getId, $userId]);
return $value;
} else {
- my ($admin) = $self->session->db->quickArray("select groupAdmin from groupings where groupId=".$self->session->db->quote($self->getId)." and userId=".$self->session->db->quote($userId));
+ my ($admin) = $self->session->db->quickArray("select groupAdmin from groupings where groupId=? and userId=?", [$self->getId, $userId]);
return $admin;
}
}
diff --git a/lib/WebGUI/i18n/English/WebGUI.pm b/lib/WebGUI/i18n/English/WebGUI.pm
index 0a32e2a12..6069e9ee7 100644
--- a/lib/WebGUI/i18n/English/WebGUI.pm
+++ b/lib/WebGUI/i18n/English/WebGUI.pm
@@ -1281,8 +1281,8 @@ When users are added to the system they are put into the registered users group.
Secondary Admins
Users in the Secondary Admins group may
add new users, but cannot edit users. Also, if you are a Secondary
-Admin, you can be set as the Secondary Admin for a group and you may
-modify the membership of that group.
+Admin and are a member of a different group, you can be set as an admin for that group. This
+will allow you to add or remove members from that group.
Style Managers
diff --git a/t/Group.t b/t/Group.t
index 38a306b69..2a3aa4d8f 100644
--- a/t/Group.t
+++ b/t/Group.t
@@ -18,7 +18,7 @@ use WebGUI::Utility;
use WebGUI::User;
use WebGUI::Group;
-use Test::More tests => 46; # increment this value for each test you create
+use Test::More tests => 50; # increment this value for each test you create
use Test::Deep;
my $session = WebGUI::Test->session;
@@ -140,12 +140,26 @@ cmp_bag($gB->getGroupsIn(1), [$gA->getId, $gC->getId, $gZ->getId, $gY->getId, $g
$gX->addGroups([$gA->getId]);
cmp_bag($gX->getGroupsIn(), [3], 'Not able to add B tree under Z tree under X');
-$gX->userIsAdmin(1, "yes");
+#$gX->userIsAdmin(1, "yes");
-ok(!$gX->userIsAdmin(1), "userIsAdmin: Visitor is not allowed to be a Group Admin");
+#ok(!$gX->userIsAdmin(1), "userIsAdmin: Visitor is not allowed to be a Group Admin");
my $user = WebGUI::User->new($session, "new");
-$user->addToGroups([]);
+$gX->userIsAdmin($user->userId, "yes");
+ok(!$gX->userIsAdmin($user->userId), "userIsAdmin: User who isn't secondary admin can't be group admin");
+
+$user->addToGroups([12]);
+ok($user->isInGroup(12), "userIsAdmin: Added dude to Secondary Admins");
+
+$gX->userIsAdmin($user->userId, 1);
+ok(!$gX->userIsAdmin($user->userId), "userIsAdmin: User must be member of group to be group admin");
+
+$user->addToGroups([$gX->getId]);
+ok($user->isInGroup($gX->getId), "userIsAdmin: Added dude to gX");
+
+$gX->userIsAdmin($user->userId, 1);
+ok($gX->userIsAdmin($user->userId), "userIsAdmin: Dude set to be group admin for gX");
+
$user->delete;
END {