diff --git a/og.module b/og.module index dac0ab7..2276370 100755 --- a/og.module +++ b/og.module @@ -844,6 +844,10 @@ function og_entity_insert($entity, $entity_type) { return; } list($id, $vid, $bundle) = entity_extract_ids($entity_type, $entity); + if (!og_is_group_default_access($entity_type, $entity)) { + // Override default roles. + og_roles_override($entity_type, $bundle, $id); + } if (!empty($entity->uid)) { // Subscribe the group manager. og_group($entity_type, $id, array('entity' => $entity->uid)); @@ -851,14 +855,17 @@ function og_entity_insert($entity, $entity_type) { $name = 'og_group_manager_default_rids_' . $entity_type . '_' . $bundle; if ($rids = variable_get($name)) { foreach ($rids as $rid) { - og_role_grant($entity_type, $id, $entity->uid, $rid); + $rils_ = og_roles($entity_type, $bundle, $entity->nid, TRUE, TRUE); + foreach ($rils_ as $rid_ => $rname_) { + $role = og_role_load($rid); + $rname = $role->name; + if ($rname == $rname_) { + og_role_grant($entity_type, $id, $entity->uid, $rid_); + } + } } } } - if (!og_is_group_default_access($entity_type, $entity)) { - // Override default roles. - og_roles_override($entity_type, $bundle, $id); - } } /** diff --git a/og_ui/og_ui.admin.inc b/og_ui/og_ui.admin.inc old mode 100644 new mode 100755