--- loncom/lonnet/perl/lonnet.pm 2006/11/15 14:35:10 1.804 +++ loncom/lonnet/perl/lonnet.pm 2006/11/20 23:50:51 1.805 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.804 2006/11/15 14:35:10 raeburn Exp $ +# $Id: lonnet.pm,v 1.805 2006/11/20 23:50:51 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -4324,11 +4324,39 @@ sub get_coursegroups { return(&dump('coursegroups',$cdom,$cnum,$group)); } +sub get_deleted_groups { + my ($cdom,$cnum,$group) = @_; + return(&dump('deleted_groups',$cdom,$cnum,$group)); +} + sub modify_coursegroup { my ($cdom,$cnum,$groupsettings) = @_; return(&put('coursegroups',$groupsettings,$cdom,$cnum)); } +sub delete_coursegroup { + my ($cdom,$cnum,$group) = @_; + my %curr_group = &get_coursegroups($cdom,$cnum,$group); + if (my $tmp = &error(%curr_group)) { + &Apache::lonnet::logthis('Error retrieving group: '.$tmp.' in '.$cnum.':'.$cdom); + return ('read error',$tmp); + } else { + my %savedsettings = %curr_group; + my $result = &put('deleted_groups',\%savedsettings,$cdom,$cnum); + my $deloutcome; + if ($result eq 'ok') { + $deloutcome = &del('coursegroups',[$group],$cdom,$cnum); + } else { + return ('write error',$result); + } + if ($deloutcome eq 'ok') { + return 'ok'; + } else { + return ('delete error',$deloutcome); + } + } +} + sub modify_group_roles { my ($cdom,$cnum,$group_id,$user,$end,$start,$userprivs) = @_; my $url = '/'.$cdom.'/'.$cnum.'/'.$group_id;