version 1.58, 2006/07/28 18:44:27
|
version 1.59, 2006/07/29 00:31:58
|
Line 1027 sub display_control {
|
Line 1027 sub display_control {
|
$userdata,$granularity,$quota,$specificity, |
$userdata,$granularity,$quota,$specificity, |
$idx,$states,$navbuttons,$gpterm,$ucgpterm); |
$idx,$states,$navbuttons,$gpterm,$ucgpterm); |
} elsif ($state eq 'add_members') { |
} 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, |
$enddate,$groupname,$description,$granularity, |
$quota,$sectioncount,$tools,$functions,$stored, |
$quota,$sectioncount,$tools,$functions,$stored, |
$states,$navbuttons,$gpterm,$ucgpterm); |
$states,$navbuttons,$gpterm,$ucgpterm); |
Line 1194 sub general_settings_form {
|
Line 1194 sub general_settings_form {
|
$gpterm,$ucgpterm,$crstype); |
$gpterm,$ucgpterm,$crstype); |
&access_date_settings($r,$action,$formname,$stored,2,$gpterm,$ucgpterm); |
&access_date_settings($r,$action,$formname,$stored,2,$gpterm,$ucgpterm); |
if ($action eq 'create') { |
if ($action eq 'create') { |
&membership_options($r,$action,$formname,$sectioncount,3,$gpterm, |
&membership_options($r,$cdom,$cnum,$action,$formname,$sectioncount,3, |
$ucgpterm); |
$gpterm,$ucgpterm); |
$nexttext = $$navbuttons{'gtns'}; |
$nexttext = $$navbuttons{'gtns'}; |
} else { |
} else { |
my @available = (); |
my @available = (); |
Line 1343 sub get_quota_constraints {
|
Line 1343 sub get_quota_constraints {
|
} |
} |
|
|
sub membership_options { |
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 $crstype = &Apache::loncommon::course_type(); |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
'pipa' => 'Build a list of users for selection of group members', |
'pipa' => 'Build a list of users for selection of group members', |
Line 1365 sub membership_options {
|
Line 1365 sub membership_options {
|
future => &mt('Will have future access'), |
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','cr'); |
my @roles = ('st','cc','in','ta','ep'); |
|
|
|
my @sections = keys(%{$sectioncount}); |
my @sections = keys(%{$sectioncount}); |
|
|
Line 1389 sub membership_options {
|
Line 1388 sub membership_options {
|
</tr><tr><td>'); |
</tr><tr><td>'); |
$r->print(&Apache::lonhtmlcommon::status_select_row(\%status_types)); |
$r->print(&Apache::lonhtmlcommon::status_select_row(\%status_types)); |
$r->print('</td><td>'); |
$r->print('</td><td>'); |
$r->print(&Apache::lonhtmlcommon::role_select_row(\@roles)); |
$r->print(&Apache::lonhtmlcommon::role_select_row(\@roles,undef,undef,1,$cdom,$cnum)); |
if (@sections > 0) { |
if (@sections > 0) { |
@sections = sort {$a cmp $b} @sections; |
@sections = sort {$a cmp $b} @sections; |
unshift(@sections,'none'); # Put 'no sections' next |
unshift(@sections,'none'); # Put 'no sections' next |
Line 2364 sub change_privs_form {
|
Line 2363 sub change_privs_form {
|
} |
} |
|
|
sub add_members_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, |
$description,$granularity,$quota,$sectioncount,$tools,$functions, |
$stored,$states,$navbuttons,$gpterm,$ucgpterm)=@_; |
$stored,$states,$navbuttons,$gpterm,$ucgpterm)=@_; |
$r->print(' <br />'); |
$r->print(' <br />'); |
Line 2374 sub add_members_form {
|
Line 2373 sub add_members_form {
|
&print_current_settings($r,$action,$functions,$startdate,$enddate, |
&print_current_settings($r,$action,$functions,$startdate,$enddate, |
$groupname,$description,$granularity,$quota, |
$groupname,$description,$granularity,$quota, |
\@available,\@unavailable,$gpterm,$ucgpterm); |
\@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 $nexttext = $$navbuttons{'gtns'}; |
my $prevtext = $$navbuttons{'gtpp'}; |
my $prevtext = $$navbuttons{'gtpp'}; |
&display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, |
&display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, |
Line 3140 sub mapping_settings {
|
Line 3140 sub mapping_settings {
|
} |
} |
&topic_bar($r,$image,$$lt{'pirs'}); |
&topic_bar($r,$image,$$lt{'pirs'}); |
my @roles = &standard_roles(); |
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(). |
$r->print(&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table_header_row()); |
&Apache::loncommon::start_data_table_header_row()); |
$r->print(' |
$r->print(' |
Line 3157 sub mapping_settings {
|
Line 3157 sub mapping_settings {
|
my @customs; |
my @customs; |
foreach my $role (sort(keys(%customroles))) { |
foreach my $role (sort(keys(%customroles))) { |
my ($roletitle) = ($role =~ m|^cr/[^/]+/[^/]+/(.+)$|); |
my ($roletitle) = ($role =~ m|^cr/[^/]+/[^/]+/(.+)$|); |
$role =~ s/\//_/g; |
|
push (@customs,$role); |
push (@customs,$role); |
$r->print(&print_autorole_item($role,$roletitle,\@sections)); |
$r->print(&print_autorole_item($role,$roletitle,\@sections)); |
} |
} |
Line 3206 sub standard_roles {
|
Line 3205 sub standard_roles {
|
return @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 { |
sub modify_menu { |
my ($r,$groupname,$page,$gpterm) = @_; |
my ($r,$groupname,$page,$gpterm) = @_; |
my @menu = |
my @menu = |