--- loncom/interface/loncoursegroups.pm 2006/07/28 18:44:27 1.58
+++ loncom/interface/loncoursegroups.pm 2006/07/29 00:31:58 1.59
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: loncoursegroups.pm,v 1.58 2006/07/28 18:44:27 raeburn Exp $
+# $Id: loncoursegroups.pm,v 1.59 2006/07/29 00:31:58 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1027,7 +1027,7 @@ sub display_control {
$userdata,$granularity,$quota,$specificity,
$idx,$states,$navbuttons,$gpterm,$ucgpterm);
} elsif ($state eq 'add_members') {
- &add_members_form($r,$action,$state,$page,$startdate,
+ &add_members_form($r,$cdom,$cnum,$action,$state,$page,$startdate,
$enddate,$groupname,$description,$granularity,
$quota,$sectioncount,$tools,$functions,$stored,
$states,$navbuttons,$gpterm,$ucgpterm);
@@ -1194,8 +1194,8 @@ sub general_settings_form {
$gpterm,$ucgpterm,$crstype);
&access_date_settings($r,$action,$formname,$stored,2,$gpterm,$ucgpterm);
if ($action eq 'create') {
- &membership_options($r,$action,$formname,$sectioncount,3,$gpterm,
- $ucgpterm);
+ &membership_options($r,$cdom,$cnum,$action,$formname,$sectioncount,3,
+ $gpterm,$ucgpterm);
$nexttext = $$navbuttons{'gtns'};
} else {
my @available = ();
@@ -1343,7 +1343,7 @@ sub get_quota_constraints {
}
sub membership_options {
- my ($r,$action,$state,$sectioncount,$image,$gpterm,$ucgpterm) = @_;
+ my ($r,$cdom,$cnum,$action,$state,$sectioncount,$image,$gpterm,$ucgpterm)=@_;
my $crstype = &Apache::loncommon::course_type();
my %lt = &Apache::lonlocal::texthash(
'pipa' => 'Build a list of users for selection of group members',
@@ -1365,8 +1365,7 @@ sub membership_options {
future => &mt('Will have future access'),
);
- #FIXME need to plumb around for the various cr roles defined by the user
- my @roles = ('st','cc','in','ta','ep');
+ my @roles = ('st','cc','in','ta','ep','cr');
my @sections = keys(%{$sectioncount});
@@ -1389,7 +1388,7 @@ sub membership_options {
');
$r->print(&Apache::lonhtmlcommon::status_select_row(\%status_types));
$r->print(' | ');
- $r->print(&Apache::lonhtmlcommon::role_select_row(\@roles));
+ $r->print(&Apache::lonhtmlcommon::role_select_row(\@roles,undef,undef,1,$cdom,$cnum));
if (@sections > 0) {
@sections = sort {$a cmp $b} @sections;
unshift(@sections,'none'); # Put 'no sections' next
@@ -2364,7 +2363,7 @@ sub change_privs_form {
}
sub add_members_form {
- my ($r,$action,$formname,$page,$startdate,$enddate,$groupname,
+ my ($r,$cdom,$cnum,$action,$formname,$page,$startdate,$enddate,$groupname,
$description,$granularity,$quota,$sectioncount,$tools,$functions,
$stored,$states,$navbuttons,$gpterm,$ucgpterm)=@_;
$r->print(' ');
@@ -2374,7 +2373,8 @@ sub add_members_form {
&print_current_settings($r,$action,$functions,$startdate,$enddate,
$groupname,$description,$granularity,$quota,
\@available,\@unavailable,$gpterm,$ucgpterm);
- &membership_options($r,$action,$formname,$sectioncount,1,$gpterm,$ucgpterm);
+ &membership_options($r,$cdom,$cnum,$action,$formname,$sectioncount,1,$gpterm,
+ $ucgpterm);
my $nexttext = $$navbuttons{'gtns'};
my $prevtext = $$navbuttons{'gtpp'};
&display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext,
@@ -3140,7 +3140,7 @@ sub mapping_settings {
}
&topic_bar($r,$image,$$lt{'pirs'});
my @roles = &standard_roles();
- my %customroles = &course_custom_roles($cdom,$cnum);
+ my %customroles = &Apache::lonhtmlcommon::course_custom_roles($cdom,$cnum);
$r->print(&Apache::loncommon::start_data_table().
&Apache::loncommon::start_data_table_header_row());
$r->print('
@@ -3157,7 +3157,6 @@ sub mapping_settings {
my @customs;
foreach my $role (sort(keys(%customroles))) {
my ($roletitle) = ($role =~ m|^cr/[^/]+/[^/]+/(.+)$|);
- $role =~ s/\//_/g;
push (@customs,$role);
$r->print(&print_autorole_item($role,$roletitle,\@sections));
}
@@ -3206,23 +3205,6 @@ sub standard_roles {
return @roles;
}
-sub course_custom_roles {
- my ($cdom,$cnum) = @_;
- my %returnhash=();
- my %coursepersonnel=&Apache::lonnet::dump('nohist_userroles',$cdom,$cnum);
- foreach my $person (sort(keys(%coursepersonnel))) {
- my ($role) = ($person =~ /^([^:]+):/);
- my ($end,$start) = split(/:/,$coursepersonnel{$person});
- if ($end == -1 && $start == -1) {
- next;
- }
- if ($role =~ m|^cr/[^/]+/[^/]+/[^/]|) {
- $returnhash{$role} ++;
- }
- }
- return %returnhash;
-}
-
sub modify_menu {
my ($r,$groupname,$page,$gpterm) = @_;
my @menu =
|