--- loncom/interface/longroup.pm 2006/11/28 19:46:00 1.13 +++ loncom/interface/longroup.pm 2008/05/01 16:26:29 1.16 @@ -58,6 +58,7 @@ can be sent to &get_group_settings() to Side effects: None. + =cut ############################################### @@ -81,11 +82,16 @@ sub coursegroups { undef(%groups); &Apache::lonnet::logthis('Error retrieving groups: '.$tmp.' in '.$cnum.':'.$cdom.' - '.$namespace); } + if (defined($groups{'group_allfolders'."\0".'locked_folder'})) { + delete($groups{'group_allfolders'."\0".'locked_folder'}); + } return %groups; } ############################################### +=pod + =item get_group_settings Uses TokeParser to extract group information from the @@ -193,6 +199,8 @@ Input: 4. Role 5. End date of role 6. Start date of role +7. Selfenroll +8. Context Checks to see if role for which assignment is being made is in a course. If so, gathers information about auto-group population settings for @@ -208,7 +216,11 @@ and would trigger membership in teh same If role is being added, will add any group memberships specified for auto-group population, unless use is already a group member. Uses default group privileges and default start and end group access -times. +times. + +Flag for selfenroll (value of 1), and context (auto, updatenow, +automated, course, domain etc.) can be used to log the reason for +the role change. Output None @@ -221,7 +233,7 @@ or expire group membership(s) for a user =cut sub group_changes { - my ($udom,$uname,$url,$role,$origend,$origstart) = @_; + my ($udom,$uname,$url,$role,$origend,$origstart,$selfenroll,$context) = @_; my $now = time; my $chgtype; if ($origend > 0 && $origend <= $now) { @@ -333,7 +345,7 @@ sub group_changes { $add,$uname.':'.$udom, $settings{$add}{'enddate'}, $settings{$add}{'startdate'}, - $group_privs) eq 'ok') { + $group_privs,$selfenroll,$context) eq 'ok') { my %usersettings; $usersettings{$add.':'.$uname.':'.$udom} = $addgroup{$add}; @@ -402,7 +414,8 @@ sub group_changes { $cnum,$drop, $uname.':'.$udom,$now, $dropstart{$drop}, - $currpriv{$drop}) + $currpriv{$drop}, + $selfenroll,$context) eq 'ok') { my %usersettings; $usersettings{$drop.':'.$uname.':'.$udom} =