|
Lines 3260-3272
Link Here
|
| 3260 |
|
3260 |
|
| 3261 |
# update the affected groups |
3261 |
# update the affected groups |
| 3262 |
foreach my $group (keys %grouplist) { |
3262 |
foreach my $group (keys %grouplist) { |
| 3263 |
%group_in_work = %{$self->GetGroupByName ($group, $type)}; |
3263 |
%group_in_work = %{$self->GetGroupByName ($group, "")}; |
| 3264 |
if (%group_in_work && $self->AddUserToGroup ($username)) { |
3264 |
if (%group_in_work && $self->AddUserToGroup ($username)) { |
| 3265 |
$self->CommitGroup (); |
3265 |
$self->CommitGroup (); |
| 3266 |
} |
3266 |
} |
| 3267 |
}; |
3267 |
}; |
| 3268 |
# add user to his default group (updating only cache variables) |
3268 |
# add user to his default group (updating only cache variables) |
| 3269 |
%group_in_work = %{$self->GetGroupByName ($groupname, $type)}; |
3269 |
%group_in_work = %{$self->GetGroupByName ($groupname, "")}; |
| 3270 |
if (%group_in_work) { |
3270 |
if (%group_in_work) { |
| 3271 |
$group_in_work{"what"} = "user_change_default"; |
3271 |
$group_in_work{"what"} = "user_change_default"; |
| 3272 |
$group_in_work{"more_users"}{$username} = 1; |
3272 |
$group_in_work{"more_users"}{$username} = 1; |
|
Lines 3286-3298
Link Here
|
| 3286 |
if (!defined $user{"modified"}) { |
3286 |
if (!defined $user{"modified"}) { |
| 3287 |
$user{"modified"} = "edited"; |
3287 |
$user{"modified"} = "edited"; |
| 3288 |
} |
3288 |
} |
| 3289 |
my $group_type = $type; |
|
|
| 3290 |
if ($type eq "nis") { |
| 3291 |
$group_type = "system"; |
| 3292 |
} |
| 3293 |
# check the change of additional group membership |
3289 |
# check the change of additional group membership |
| 3294 |
foreach my $group (keys %grouplist) { |
3290 |
foreach my $group (keys %grouplist) { |
| 3295 |
%group_in_work = %{$self->GetGroupByName ($group, $group_type)}; |
3291 |
%group_in_work = %{$self->GetGroupByName ($group, "")}; |
| 3296 |
if (%group_in_work) { |
3292 |
if (%group_in_work) { |
| 3297 |
# username changed - remove org_username |
3293 |
# username changed - remove org_username |
| 3298 |
if ($org_username ne $username) { |
3294 |
if ($org_username ne $username) { |
|
Lines 3307-3313
Link Here
|
| 3307 |
# check if user was removed from some additional groups |
3303 |
# check if user was removed from some additional groups |
| 3308 |
if (defined $user{"removed_grouplist"}) { |
3304 |
if (defined $user{"removed_grouplist"}) { |
| 3309 |
foreach my $group (keys %{$user{"removed_grouplist"}}) { |
3305 |
foreach my $group (keys %{$user{"removed_grouplist"}}) { |
| 3310 |
%group_in_work = %{$self->GetGroupByName ($group, $type)}; |
3306 |
%group_in_work = %{$self->GetGroupByName ($group, "")}; |
| 3311 |
if (%group_in_work && |
3307 |
if (%group_in_work && |
| 3312 |
$self->RemoveUserFromGroup ($org_username)) { |
3308 |
$self->RemoveUserFromGroup ($org_username)) { |
| 3313 |
$self->CommitGroup (); |
3309 |
$self->CommitGroup (); |
|
Lines 3322-3328
Link Here
|
| 3322 |
} |
3318 |
} |
| 3323 |
if ($username ne $org_username && $groupname eq $org_groupname) { |
3319 |
if ($username ne $org_username && $groupname eq $org_groupname) { |
| 3324 |
# change the user's name in his default group |
3320 |
# change the user's name in his default group |
| 3325 |
%group_in_work = %{$self->GetGroupByName ($groupname, $type)}; |
3321 |
%group_in_work = %{$self->GetGroupByName ($groupname, "")}; |
| 3326 |
if (%group_in_work) { |
3322 |
if (%group_in_work) { |
| 3327 |
$group_in_work{"what"} = "user_change_default"; |
3323 |
$group_in_work{"what"} = "user_change_default"; |
| 3328 |
delete $group_in_work{"more_users"}{$org_username}; |
3324 |
delete $group_in_work{"more_users"}{$org_username}; |
|
Lines 3333-3346
Link Here
|
| 3333 |
elsif ($groupname ne $org_groupname) { |
3329 |
elsif ($groupname ne $org_groupname) { |
| 3334 |
# note: username could be also changed! |
3330 |
# note: username could be also changed! |
| 3335 |
# 1. remove the name from original group ... |
3331 |
# 1. remove the name from original group ... |
| 3336 |
%group_in_work = %{$self->GetGroupByName ($org_groupname, $type)}; |
3332 |
%group_in_work = %{$self->GetGroupByName ($org_groupname, "")}; |
| 3337 |
if (%group_in_work) { |
3333 |
if (%group_in_work) { |
| 3338 |
$group_in_work{"what"} = "user_change_default"; |
3334 |
$group_in_work{"what"} = "user_change_default"; |
| 3339 |
delete $group_in_work{"more_users"}{$org_username}; |
3335 |
delete $group_in_work{"more_users"}{$org_username}; |
| 3340 |
$self->CommitGroup (); |
3336 |
$self->CommitGroup (); |
| 3341 |
} |
3337 |
} |
| 3342 |
# 2. and add it to the new one: |
3338 |
# 2. and add it to the new one: |
| 3343 |
%group_in_work = %{$self->GetGroupByName ($groupname, $type)}; |
3339 |
%group_in_work = %{$self->GetGroupByName ($groupname, "")}; |
| 3344 |
if (%group_in_work) { |
3340 |
if (%group_in_work) { |
| 3345 |
$group_in_work{"what"} = "user_change_default"; |
3341 |
$group_in_work{"what"} = "user_change_default"; |
| 3346 |
$group_in_work{"more_users"}{$username} = 1; |
3342 |
$group_in_work{"more_users"}{$username} = 1; |
|
Lines 3376-3395
Link Here
|
| 3376 |
# prevent the add & delete of the same user |
3372 |
# prevent the add & delete of the same user |
| 3377 |
if (!defined $user{"modified"} || $user{"modified"} ne "added") { |
3373 |
if (!defined $user{"modified"} || $user{"modified"} ne "added") { |
| 3378 |
$user{"modified"} = "deleted"; |
3374 |
$user{"modified"} = "deleted"; |
| 3379 |
# $removed_users{$type}{$uid} = \%user; |
|
|
| 3380 |
$removed_users{$type}{$username} = \%user; |
3375 |
$removed_users{$type}{$username} = \%user; |
| 3381 |
} |
3376 |
} |
| 3382 |
|
3377 |
|
| 3383 |
# check the change of group membership |
3378 |
# check the change of group membership |
| 3384 |
foreach my $group (keys %grouplist) { |
3379 |
foreach my $group (keys %grouplist) { |
| 3385 |
%group_in_work = %{$self->GetGroupByName ($group, $type)}; |
3380 |
%group_in_work = %{$self->GetGroupByName ($group, "")}; |
| 3386 |
if (%group_in_work && |
3381 |
if (%group_in_work && |
| 3387 |
$self->RemoveUserFromGroup ($org_username)) { |
3382 |
$self->RemoveUserFromGroup ($org_username)) { |
| 3388 |
$self->CommitGroup(); |
3383 |
$self->CommitGroup(); |
| 3389 |
} |
3384 |
} |
| 3390 |
}; |
3385 |
}; |
| 3391 |
# remove user from his default group -- only cache structures |
3386 |
# remove user from his default group -- only cache structures |
| 3392 |
%group_in_work = %{$self->GetGroupByName ($groupname, $type)}; |
3387 |
%group_in_work = %{$self->GetGroupByName ($groupname, "")}; |
| 3393 |
if (%group_in_work) { |
3388 |
if (%group_in_work) { |
| 3394 |
$group_in_work{"what"} = "user_change_default"; |
3389 |
$group_in_work{"what"} = "user_change_default"; |
| 3395 |
delete $group_in_work{"more_users"}{$username}; |
3390 |
delete $group_in_work{"more_users"}{$username}; |