--- loncom/interface/lonmodifycourse.pm 2007/12/14 00:24:11 1.36 +++ loncom/interface/lonmodifycourse.pm 2007/12/30 23:22:41 1.37 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # handler for DC-only modifiable course settings # -# $Id: lonmodifycourse.pm,v 1.36 2007/12/14 00:24:11 raeburn Exp $ +# $Id: lonmodifycourse.pm,v 1.37 2007/12/30 23:22:41 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -108,22 +108,12 @@ sub print_course_search_page { my $action = '/adm/modifycourse'; my $cctitle = &Apache::lonnet::plaintext('cc',$type); my $dctitle = &Apache::lonnet::plaintext('dc'); - my %lt=&Apache::lonlocal::texthash( - 'some' => "Certain settings which control auto-enrollment of students from your institution's student information system.", - 'crqo' => 'The total disk space allocated for storage of portfolio files in all groups in a course.', - 'tmod' => 'To view or modify these settings use the criteria below to select a course from this domain.', - ); - $r->print('

'. - &mt('Course settings which only a [_1] may modify.' - ,$dctitle).'

'. - &mt('Although almost all course settings can be modified by a [_1], a number of settings exist which only a [_2] may change:',$cctitle,$dctitle).' -'. -$lt{'tmod'}.' ('.$domdesc.') -

- '); + $r->print( + '

'.&mt('Search for a course in the [_1] domain',$domdesc).'

'. + &mt('Actions available after selecting a course:').''); $r->print(&Apache::lonpickcourse::build_filters($filterlist,$type, undef,undef,$filter,$action,'modifycourse')); } @@ -149,18 +139,22 @@ sub print_course_selection_page { $filter{'domainfilter'} = $dom; my %courses = &Apache::lonpickcourse::search_courses($r,$type,0, \%filter); - if (keys(%courses) > 0) { - $r->print(&mt("Click a 'Select' button to view or modify settings for a [_1] which may only be modified by a [_2] in this domain.",lc($type),$dctitle).'

'); - } - &Apache::lonpickcourse::display_matched_courses($r,$type,0,$action, %courses); return; } sub print_modification_menu { - my ($r,$cdesc) = @_; + my ($r,$cdesc,$domdesc) = @_; &print_header($r,$cdesc); + my $type = 'Course'; + my $action = '/adm/modifycourse'; + my $cctitle = &Apache::lonnet::plaintext('cc',$type); + my $dctitle = &Apache::lonnet::plaintext('dc'); + my %lt=&Apache::lonlocal::texthash( + 'some' => "Certain settings which control auto-enrollment of students from your institution's student information system.", + 'crqo' => 'The total disk space allocated for storage of portfolio files in all groups in a course.', + ); my @menu = ( { text => 'Modify quota for group portfolio files', @@ -174,8 +168,14 @@ sub print_modification_menu { } ); my $menu_html = '

'.&mt('View/Modify settings for: ').$cdesc.'

'."\n". - '
'."\n". - &hidden_form_elements(); + &mt('Although almost all course settings can be modified by a [_1], a number of settings exist which only a [_2] may change:',$cctitle,$dctitle).' + +'."\n". + &hidden_form_elements(); + foreach my $menu_item (@menu) { $menu_html.='

'; $menu_html.=''; @@ -189,6 +189,16 @@ sub print_modification_menu { return; } +sub print_ccrole_selected { + my ($r,$cdesc,$domdesc) = @_; + &print_header($r); + my ($cdom,$cnum) = split(/_/,$env{'form.pickedcourse'}); + $r->print(' + + +'); +} + sub print_settings_display { my ($r,$cdom,$cnum,$cdesc,$type) = @_; my %enrollvar = &get_enrollment_settings($cdom,$cnum); @@ -239,7 +249,7 @@ sub print_settings_display {

'.$lt{'back'}.'     '.&mt('Modify [_1]-only settings',$dctitle).''."\n". -&hidden_form_elements(). +&hidden_form_elements(). ''); } @@ -788,8 +798,14 @@ function verify_quota(formname) { ENDSCRIPT } + my $starthash; + if ($env{'form.phase'} eq 'ccrole') { + $starthash = { + add_entries => {'onload' => "javascript:document.ccrole.submit();"}, + }; + } $r->print(&Apache::loncommon::start_page('View/Modify Course Settings', - $js)); + $js,$starthash)); my $bread_text = "View/Modify Courses"; if ($cdesc ne '') { $bread_text = "Course Settings: $cdesc"; @@ -861,8 +877,9 @@ sub course_settings_descrip { sub hidden_form_elements { my $hidden_elements = &Apache::lonhtmlcommon::echo_form_input(['gosearch','coursecode', - 'numlocalcc','courseowner', - 'login','coursequota','intarg', 'locarg','krbarg','krbver']); + 'prevphase','numlocalcc','courseowner','login','coursequota','intarg', + 'locarg','krbarg','krbver','counter'])."\n". + ''; return $hidden_elements; } @@ -882,21 +899,24 @@ sub handler { &Apache::lonhtmlcommon::clear_breadcrumbs(); my $phase = $env{'form.phase'}; - &Apache::lonhtmlcommon::add_breadcrumb + if ($phase eq '') { + &Apache::lonhtmlcommon::add_breadcrumb ({href=>"/adm/modifycourse", text=>"Course search"}); - if ($phase eq '') { &print_course_search_page($r,$dom,$domdesc); } else { + my $firstform = $phase; + if ($phase eq 'courselist') { + $firstform = 'filterpicker'; + } &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"javascript:changePage(document.$phase,'courselist')", + ({href=>"javascript:changePage(document.$firstform,'')", + text=>"Course search"}, + {href=>"javascript:changePage(document.$phase,'courselist')", text=>"Choose a course"}); if ($phase eq 'courselist') { &print_course_selection_page($r,$dom,$domdesc); } else { - &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"javascript:changePage(document.$phase,'menu')", - text=>"Pick action"}); my ($checked,$cdesc) = &check_course($r,$dom,$domdesc); my $type = $env{'form.type'}; if ($type eq '') { @@ -904,8 +924,19 @@ sub handler { } if ($checked eq 'ok') { if ($phase eq 'menu') { - &print_modification_menu($r,$cdesc); + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"javascript:changePage(document.$phase,'menu')", + text=>"Pick action"}); + &print_modification_menu($r,$cdesc,$domdesc); + } elsif ($phase eq 'ccrole') { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"javascript:changePage(document.$phase,'ccrole')", + text=>"Enter course"}); + &print_ccrole_selected($r,$cdesc,$domdesc); } else { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"javascript:changePage(document.$phase,'menu')", + text=>"Pick action"}); my ($cdom,$cnum) = split(/_/,$env{'form.pickedcourse'}); if ($phase eq 'setquota') { &Apache::lonhtmlcommon::add_breadcrumb