diff --git a/implementations/group.node.inc b/implementations/group.node.inc index a0f64dd..3752dcf 100644 --- a/implementations/group.node.inc +++ b/implementations/group.node.inc @@ -11,7 +11,7 @@ /** * We use the module author's year of birth as the grant id. */ -define(GROUP_BYPASS_GROUP_GID, 1986); +define('GROUP_BYPASS_GROUP_GID', 1986); /** * Implements hook_group_permission(). @@ -61,7 +61,7 @@ function group_node_access($node, $op, $account) { // Check for creation rights in the user's groups. if ($op == 'create' && isset($account->uid)) { foreach (group_load_by_member($account->uid) as $group) { - if (group_access("create $node", $group, $account)) { + if (group_access('administer group', $group, $account) || group_access("create $node", $group, $account)) { return NODE_ACCESS_ALLOW; } } @@ -149,6 +149,7 @@ function group_node_grants($account, $op) { * @see group_node_grants(). */ function group_node_access_records($node) { + $grants = array(); // Add realms specific to this group. if (!empty($node->group)) { @@ -280,7 +281,8 @@ function group_form_node_form_alter(&$form, $form_state) { // You can only select those groups that you can create nodes of this type // in. It would not make sense if someone could move nodes to a group where // he does not have creation rights. - if ($group->userHasPermission($user->uid, "create $node_type")) { + if ($group->userHasPermission($user->uid, "create $node_type") + || $group->userHasPermission($user->uid, "administer user")) { $user_groups[$group->gid] = check_plain($group->title); } }