1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-21 14:50:08 +03:00

Bug #3779: Fix 'group' filterflag

This commit is contained in:
Carlos Martín 2015-05-12 16:51:40 +02:00
parent b2cdab6512
commit 9f148b55f2

View File

@ -767,12 +767,31 @@ void PoolSQL::usr_filter(int uid,
}
else if ( filter_flag == RequestManagerPoolInfoFilter::MINE_GROUP )
{
uid_filter << " uid = " << uid;
uid_filter << "uid = " << uid << " OR ( (";
string sep = " ";
for (g_it = user_groups.begin(); g_it != user_groups.end(); g_it++)
{
uid_filter << " OR ( gid = " << *g_it << " AND group_u = 1 )";
uid_filter << sep << "( gid = " << *g_it << " )";
sep = " OR ";
}
uid_filter << ")";
if ( !all )
{
uid_filter << " AND ( other_u = 1";
for (g_it = user_groups.begin(); g_it != user_groups.end(); g_it++)
{
uid_filter << " OR ( gid = " << *g_it << " AND group_u = 1 )";
}
uid_filter << acl_str << ")";
}
uid_filter << ")";
}
else if ( filter_flag == RequestManagerPoolInfoFilter::ALL )
{