1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-09-05 09:44:14 +03:00

Feature #1742: When a user is deleted, it is now removed from the secondary groups

This commit is contained in:
Carlos Martín
2013-08-23 18:23:59 +02:00
parent b4e63d8a33
commit d0b28bc90a

View File

@@ -227,8 +227,11 @@ int ClusterDelete::drop(int oid, PoolObjectSQL * object, string& error_msg)
int UserDelete::drop(int oid, PoolObjectSQL * object, string& error_msg) int UserDelete::drop(int oid, PoolObjectSQL * object, string& error_msg)
{ {
set<int> group_set;
set<int>::iterator it;
User * user = static_cast<User *>(object); User * user = static_cast<User *>(object);
int group_id = user->get_gid(); group_set = user->get_groups();
if (oid == 0) if (oid == 0)
{ {
@@ -244,10 +247,17 @@ int UserDelete::drop(int oid, PoolObjectSQL * object, string& error_msg)
if ( rc == 0 ) if ( rc == 0 )
{ {
Group * group = gpool->get(group_id, true); Group * group;
if( group != 0 ) for ( it = group_set.begin(); it != group_set.end(); it++ )
{ {
group = gpool->get(*it, true);
if( group == 0 )
{
continue;
}
group->del_user(oid); group->del_user(oid);
gpool->update(group); gpool->update(group);