Follow-up Comment #1, bugs #2011 (project savane):
I'm not sure to understand exactly the bug. When a user created by Savane is
no longer member of any Savane groups, it is removed from the system.
So indeed deletions are taken into account. In the logs at Gna, we sometimes
found that users are removed from groups because they left it.
The following bits of code should take care of that:
# Find out users that should be really removed: they are marked as D
# in the database or they are not member of any group but are
# in the database and on the system.
# These users must be in both the database and the system.
my @to_be_removed;
foreach my $user (@well_known) {
# First test: looks for the typical case when someone is no
# longer member of any project: we just list
# Second test: looks for the marked as D users
if (!exists($db_user_group{$user}) || $db_user{$user}->[5] eq 'D') {
# Last test: check if we are not dealing with an account ignored
# (it should not be necessary at this point but it does not cost much)
push(@to_be_removed, $user) unless $etc_password_tobeignored{$user};
}
}
[...]
# Remove users marked as D in the database.
# This is the safest way to remove users quitting savannah.
foreach my $user (@to_be_removed) {
next if $etc_password_tobeignored{$user};
print LOG strftime "[$script] %c ---- delete $user account\n",
localtime;
print "DBG delete: $user is marked as D or no longer member of any
project\n" if $debug;
DeleteUser($user) unless $debug;
}
_______________________________________________________
This item URL is:
<http://gna.org/bugs/?func=detailitem&item_id=2011>
_______________________________________________
Message post� via/par Gna!
http://gna.org/
_______________________________________________
Savane-dev mailing list
[email protected]
https://mail.gna.org/listinfo/savane-dev