version 1.36, 2007/12/14 00:24:11
|
version 1.38, 2008/06/30 01:28:56
|
Line 43 sub get_dc_settable {
|
Line 43 sub get_dc_settable {
|
return ('courseowner','coursecode','authtype','autharg'); |
return ('courseowner','coursecode','authtype','autharg'); |
} |
} |
|
|
|
sub catalog_settable { |
|
my ($confhash) = @_; |
|
my @settable; |
|
if (ref($confhash) eq 'HASH') { |
|
if ($confhash->{'togglecats'} ne 'crs') { |
|
push(@settable,'togglecats'); |
|
} |
|
if ($confhash->{'categorize'} ne 'crs') { |
|
push(@settable,'categorize'); |
|
} |
|
} else { |
|
push(@settable,('togglecats','categorize')); |
|
} |
|
return @settable; |
|
} |
|
|
sub get_enrollment_settings { |
sub get_enrollment_settings { |
my ($cdom,$cnum) = @_; |
my ($cdom,$cnum) = @_; |
my %settings = &Apache::lonnet::dump('environment',$cdom,$cnum); |
my %settings = &Apache::lonnet::dump('environment',$cdom,$cnum); |
Line 108 sub print_course_search_page {
|
Line 124 sub print_course_search_page {
|
my $action = '/adm/modifycourse'; |
my $action = '/adm/modifycourse'; |
my $cctitle = &Apache::lonnet::plaintext('cc',$type); |
my $cctitle = &Apache::lonnet::plaintext('cc',$type); |
my $dctitle = &Apache::lonnet::plaintext('dc'); |
my $dctitle = &Apache::lonnet::plaintext('dc'); |
my %lt=&Apache::lonlocal::texthash( |
$r->print( |
'some' => "Certain settings which control auto-enrollment of students from your institution's student information system.", |
'<h3>'.&mt('Search for a course in the [_1] domain',$domdesc).'</h3>'. |
'crqo' => 'The total disk space allocated for storage of portfolio files in all groups in a course.', |
&mt('Actions available after selecting a course:').'<ul>'. |
'tmod' => 'To view or modify these settings use the criteria below to select a course from this domain.', |
'<li>'.&mt('Enter the course with the role of [_1]',$cctitle).'</li>'."\n". |
); |
'<li>'.&mt('View or modify course settings which only a [_1] may modify.' |
$r->print('<h3>'. |
,$dctitle).'</li>'."\n".'</ul>'); |
&mt('Course settings which only a [_1] may modify.' |
|
,$dctitle).'</h3>'. |
|
&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).' |
|
<ul> |
|
<li>'.$lt{'some'}.'</li> |
|
<li>'.$lt{'crqo'}.'</li> |
|
</ul>'. |
|
$lt{'tmod'}.' ('.$domdesc.') |
|
<br /><br /> |
|
'); |
|
$r->print(&Apache::lonpickcourse::build_filters($filterlist,$type, |
$r->print(&Apache::lonpickcourse::build_filters($filterlist,$type, |
undef,undef,$filter,$action,'modifycourse')); |
undef,undef,$filter,$action,'modifycourse')); |
} |
} |
Line 149 sub print_course_selection_page {
|
Line 155 sub print_course_selection_page {
|
$filter{'domainfilter'} = $dom; |
$filter{'domainfilter'} = $dom; |
my %courses = &Apache::lonpickcourse::search_courses($r,$type,0, |
my %courses = &Apache::lonpickcourse::search_courses($r,$type,0, |
\%filter); |
\%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).'<br /><br />'); |
|
} |
|
|
|
&Apache::lonpickcourse::display_matched_courses($r,$type,0,$action, |
&Apache::lonpickcourse::display_matched_courses($r,$type,0,$action, |
%courses); |
%courses); |
return; |
return; |
} |
} |
|
|
sub print_modification_menu { |
sub print_modification_menu { |
my ($r,$cdesc) = @_; |
my ($r,$cdesc,$domdesc,$dom) = @_; |
&print_header($r,$cdesc); |
&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 = |
my @menu = |
( |
( |
{ text => 'Modify quota for group portfolio files', |
{ text => 'Modify quota for group portfolio files', |
Line 171 sub print_modification_menu {
|
Line 181 sub print_modification_menu {
|
}, |
}, |
{ text => 'Modify institutional code, course owner and/or default authentication', |
{ text => 'Modify institutional code, course owner and/or default authentication', |
phase => 'setparms', |
phase => 'setparms', |
} |
}, |
); |
); |
|
my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$dom); |
|
my @additional_params = &catalog_settable($domconf{'coursecategories'}); |
|
if (@additional_params > 0) { |
|
push (@menu, { text => 'Modify course catalog settings for course', |
|
phase => 'catsettings', |
|
}); |
|
} |
my $menu_html = '<h3>'.&mt('View/Modify settings for: ').$cdesc.'</h3>'."\n". |
my $menu_html = '<h3>'.&mt('View/Modify settings for: ').$cdesc.'</h3>'."\n". |
'<form name="menu" method="post" action="/adm/modifycourse" />'."\n". |
&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).' |
&hidden_form_elements(); |
<ul> |
|
<li>'.$lt{'some'}.'</li> |
|
<li>'.$lt{'crqo'}.'</li>'."\n"; |
|
foreach my $item (@additional_params) { |
|
if ($item eq 'togglecats') { |
|
$menu_html .= ' <li>'.&mt('Hiding a course from the course catalog (can be [_1]configured[_2] to be modifiable in course context)','<a href="/adm/domainprefs?actions=coursecategories&phase=display">','</a>').'</li>'."\n"; |
|
} elsif ($item eq 'categorize') { |
|
$menu_html .= ' <li>'.&mt('Manual cataloging of a course (can be [_1]configured[_2] to be modifiable in course context)','<a href="/adm/domainprefs?actions=coursecategories&phase=display">','</a>').'</li>'."\n"; |
|
|
|
} |
|
} |
|
$menu_html .= ' </ul> |
|
<form name="menu" method="post" action="'.$action.'" />'."\n". |
|
&hidden_form_elements(); |
|
|
foreach my $menu_item (@menu) { |
foreach my $menu_item (@menu) { |
$menu_html.='<p>'; |
$menu_html.='<p>'; |
$menu_html.='<font size="+1">'; |
$menu_html.='<font size="+1">'; |
Line 189 sub print_modification_menu {
|
Line 220 sub print_modification_menu {
|
return; |
return; |
} |
} |
|
|
|
sub print_ccrole_selected { |
|
my ($r,$cdesc,$domdesc) = @_; |
|
&print_header($r); |
|
my ($cdom,$cnum) = split(/_/,$env{'form.pickedcourse'}); |
|
$r->print('<form name="ccrole" method="post" action="/adm/roles"> |
|
<input type="hidden" name="selectrole" value="1" /> |
|
<input type="hidden" name="newrole" value="cc./'.$cdom.'/'.$cnum.'" /> |
|
</form>'); |
|
} |
|
|
sub print_settings_display { |
sub print_settings_display { |
my ($r,$cdom,$cnum,$cdesc,$type) = @_; |
my ($r,$cdom,$cnum,$cdesc,$type) = @_; |
my %enrollvar = &get_enrollment_settings($cdom,$cnum); |
my %enrollvar = &get_enrollment_settings($cdom,$cnum); |
Line 239 sub print_settings_display {
|
Line 280 sub print_settings_display {
|
</p><p> |
</p><p> |
<a href="javascript:changePage(document.viewparms,'."'menu'".')">'.$lt{'back'}.'</a> |
<a href="javascript:changePage(document.viewparms,'."'menu'".')">'.$lt{'back'}.'</a> |
<a href="javascript:changePage(document.viewparms,'."'setparms'".')">'.&mt('Modify [_1]-only settings',$dctitle).'</a>'."\n". |
<a href="javascript:changePage(document.viewparms,'."'setparms'".')">'.&mt('Modify [_1]-only settings',$dctitle).'</a>'."\n". |
&hidden_form_elements(). |
&hidden_form_elements(). |
'</form>'); |
'</form>'); |
} |
} |
|
|
Line 279 ENDDOCUMENT
|
Line 320 ENDDOCUMENT
|
return; |
return; |
} |
} |
|
|
|
sub print_catsettings { |
|
my ($r,$cdom,$cnum,$cdesc) = @_; |
|
&print_header($r,$cdesc); |
|
my %lt = &Apache::lonlocal::texthash( |
|
'back' => 'Back to options page', |
|
); |
|
$r->print('<form action="/adm/modifycourse" method="post" name="catsettings">'. |
|
'<h3>'.&mt('Catalog Settings for Course').'</h3>'); |
|
my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom); |
|
my @cat_params = &catalog_settable($domconf{'coursecategories'}); |
|
if (@cat_params > 0) { |
|
my %currsettings = |
|
&Apache::lonnet::get('environment',['hidefromcat','categories'],$cdom,$cnum); |
|
if (grep(/^togglecats$/,@cat_params)) { |
|
my $excludeon = ''; |
|
my $excludeoff = ' checked="checked" '; |
|
if ($currsettings{'hidefromcat'} eq 'yes') { |
|
$excludeon = $excludeoff; |
|
$excludeoff = ''; |
|
} |
|
$r->print('<h4>'.&mt('Visibility in Course Catalog').'</h4>'. |
|
&mt("Unless excluded, a course is listed in this domain's publicly accessible course catalog if at least of one the following applies").':<ul>'. |
|
'<li>'.&mt('Auto-cataloging is enabled and the course is assigned an institutional code').'</li>'. |
|
'<li>'.&mt('The course has been categorized into at least one of the course categories defined for the domain.').'</li></ul>'. |
|
'<br />'.&mt('Exclude from course catalog').' <label><input name="hidefromcat" type="radio" value="yes" '.$excludeon.' />'.&mt('Yes').'</label> <label><input name="hidefromcat" type="radio" value="" '.$excludeoff.' />'.&mt('No').'</label><br />'); |
|
} |
|
if (grep(/^categorize$/,@cat_params)) { |
|
$r->print('<h4>'.&mt('Categorize Course').'</h4>'); |
|
if (ref($domconf{'coursecategories'}) eq 'HASH') { |
|
my $cathash = $domconf{'coursecategories'}{'cats'}; |
|
if (ref($cathash) eq 'HASH') { |
|
$r->print(&mt('Assign one or more categories to this course.').'<br /><br />'. |
|
&Apache::loncommon::assign_categories_table($cathash, |
|
$currsettings{'categories'})); |
|
} else { |
|
$r->print(&mt('No categories defined for this domain')); |
|
} |
|
} else { |
|
$r->print(&mt('No categories defined for this domain')); |
|
} |
|
$r->print('<p>'.&mt('If auto-cataloging based on institutional code is enabled in the domain, a course will continue to be listed in the catalog of official courses, in addition to receiving a listing under any manually assigned categor(ies).').'</p>'); |
|
} |
|
$r->print('<input type="button" name="chgcatsettings" value="'. |
|
&mt('Save').'" onclick="javascript:changePage(document.catsettings,'."'processcat'".');" />'); |
|
} else { |
|
$r->print('<span class="LC_warning">'.&mt('Catalog settings in this domain are set in course context via "Set Course Environment".').'</span><br /><br />'."\n". |
|
'<a href="javascript:changePage(document.catsettings,'."'menu'".');">'. |
|
$lt{'back'}.'</a>'); |
|
} |
|
$r->print(&hidden_form_elements().'</form>'."\n"); |
|
return; |
|
} |
|
|
sub print_course_modification_page { |
sub print_course_modification_page { |
my ($r,$cdom,$cnum,$cdesc,$domdesc) = @_; |
my ($r,$cdom,$cnum,$cdesc,$domdesc) = @_; |
my %longtype = &course_settings_descrip(); |
my %longtype = &course_settings_descrip(); |
Line 498 sub modify_course {
|
Line 592 sub modify_course {
|
my @nochanges = (); |
my @nochanges = (); |
my @sections = (); |
my @sections = (); |
my @xlists = (); |
my @xlists = (); |
my $changecode = 0; |
my %changed = ( code => 0, |
my $changeowner = 0; |
owner => 0, |
|
); |
unless ($settings{'internal.sectionnums'} eq '') { |
unless ($settings{'internal.sectionnums'} eq '') { |
if ($settings{'internal.sectionnums'} =~ m/,/) { |
if ($settings{'internal.sectionnums'} =~ m/,/) { |
@sections = split/,/,$settings{'internal.sectionnums'}; |
@sections = split/,/,$settings{'internal.sectionnums'}; |
Line 522 sub modify_course {
|
Line 617 sub modify_course {
|
} |
} |
|
|
my $description = $settings{'description'}; |
my $description = $settings{'description'}; |
my %cenv = (); |
|
|
|
if ($env{'form.login'} eq 'krb') { |
if ($env{'form.login'} eq 'krb') { |
$newattr{'authtype'} = $env{'form.login'}; |
$newattr{'authtype'} = $env{'form.login'}; |
Line 549 sub modify_course {
|
Line 643 sub modify_course {
|
if ( exists($env{'form.courseowner'}) ) { |
if ( exists($env{'form.courseowner'}) ) { |
$newattr{'courseowner'}=$env{'form.courseowner'}; |
$newattr{'courseowner'}=$env{'form.courseowner'}; |
unless ( $newattr{'courseowner'} eq $currattr{'courseowner'} ) { |
unless ( $newattr{'courseowner'} eq $currattr{'courseowner'} ) { |
$changeowner = 1; |
$changed{'owner'} = 1; |
} |
} |
} |
} |
|
|
if ( exists($env{'form.coursecode'}) ) { |
if ( exists($env{'form.coursecode'}) ) { |
$newattr{'coursecode'}=$env{'form.coursecode'}; |
$newattr{'coursecode'}=$env{'form.coursecode'}; |
unless ( $newattr{'coursecode'} eq $currattr{'coursecode'} ) { |
unless ( $newattr{'coursecode'} eq $currattr{'coursecode'} ) { |
$changecode = 1; |
$changed{'code'} = 1; |
} |
} |
} |
} |
if ($changeowner == 1 || $changecode == 1) { |
if ($changed{'owner'} || $changed{'code'}) { |
my $courseid_entry = &escape($cdom.'_'.$cnum).'='.&escape($description).':'.&escape($env{'form.coursecode'}).':'.&escape($env{'form.courseowner'}).':'.&escape($type); |
my %crsinfo = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.',$cnum, |
my %courseid_entry = ( |
undef,undef,'.'); |
$cdom.'_'.$cnum => { |
if (ref($crsinfo{$env{'form.pickedcourse'}}) eq 'HASH') { |
description => $description, |
$crsinfo{$env{'form.pickedcourse'}}{'inst_code'} = $env{'form.coursecode'}; |
inst_code => $env{'form.coursecode'}, |
$crsinfo{$env{'form.pickedcourse'}}{'owner'} = $env{'form.courseowner'}; |
owner => $env{'form.courseowner'}, |
my $chome = &Apache::lonnet::homeserver($cnum,$cdom); |
type => $type, |
my $putres = &Apache::lonnet::courseidput($cdom,\%crsinfo,$chome,'notime'); |
}, |
} |
); |
|
&Apache::lonnet::courseidput($cdom,\%courseid_entry, |
|
&Apache::lonnet::homeserver($cnum,$cdom),'notime'); |
|
} |
} |
foreach my $param (@modifiable_params) { |
foreach my $param (@modifiable_params) { |
if ($currattr{$param} eq $newattr{$param}) { |
if ($currattr{$param} eq $newattr{$param}) { |
Line 599 sub modify_course {
|
Line 690 sub modify_course {
|
$nochgresponse .= "<li>$longtype{$attr} ".&mt("still set to \"").$currattr{$attr}."\".</li>"; |
$nochgresponse .= "<li>$longtype{$attr} ".&mt("still set to \"").$currattr{$attr}."\".</li>"; |
} |
} |
} |
} |
if ($changecode || $changeowner) { |
if ($changed{'code'} || $changed{'owner'}) { |
if ( $newattr{'courseowner'} eq '') { |
if ( $newattr{'courseowner'} eq '') { |
$warning .= &mt("There is no owner associated with this LON-CAPA course. If automated enrollment in LON-CAPA courses at your institution requires validation of course owners, automated enrollment will fail for this course.<br/>"); |
$warning .= &mt("There is no owner associated with this LON-CAPA course. If automated enrollment in LON-CAPA courses at your institution requires validation of course owners, automated enrollment will fail for this course.<br/>"); |
} else { |
} else { |
if (@sections > 0) { |
if (@sections > 0) { |
if ($changecode) { |
if ($changed{'code'}) { |
foreach my $sec (@sections) { |
foreach my $sec (@sections) { |
if ($sec =~ m/^(.+):/) { |
if ($sec =~ m/^(.+):/) { |
my $inst_course_id = $newattr{'coursecode'}.$1; |
my $inst_course_id = $newattr{'coursecode'}.$1; |
Line 621 sub modify_course {
|
Line 712 sub modify_course {
|
$warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for ").$newattr{'coursecode'}.&mt(" - section $sec because this is not a valid section entry.<br/>"); |
$warning .= &mt("If automatic enrollment is enabled for LON-CAPA course: ").$description.&mt(", automated enrollment may fail for ").$newattr{'coursecode'}.&mt(" - section $sec because this is not a valid section entry.<br/>"); |
} |
} |
} |
} |
} elsif ($changeowner) { |
} elsif ($changed{'owner'}) { |
foreach my $sec (@sections) { |
foreach my $sec (@sections) { |
if ($sec =~ m/^(.+):/) { |
if ($sec =~ m/^(.+):/) { |
my $inst_course_id = $newattr{'coursecode'}.$1; |
my $inst_course_id = $newattr{'coursecode'}.$1; |
Line 637 sub modify_course {
|
Line 728 sub modify_course {
|
} else { |
} else { |
$warning .= &mt("As no section numbers are currently listed for LON-CAPA course: ").$description.&mt(", automated enrollment will not occur for any sections of coursecode: ").$newattr{'coursecode'}."<br/>"; |
$warning .= &mt("As no section numbers are currently listed for LON-CAPA course: ").$description.&mt(", automated enrollment will not occur for any sections of coursecode: ").$newattr{'coursecode'}."<br/>"; |
} |
} |
if ( (@xlists > 0) && ($changeowner) ) { |
if ( (@xlists > 0) && ($changed{'owner'}) ) { |
foreach my $xlist (@xlists) { |
foreach my $xlist (@xlists) { |
if ($xlist =~ m/^(.+):/) { |
if ($xlist =~ m/^(.+):/) { |
my $outcome = &Apache::lonnet::auto_new_course($cnum,$cdom,$1,$newattr{'courseowner'}); |
my $outcome = &Apache::lonnet::auto_new_course($cnum,$cdom,$1,$newattr{'courseowner'}); |
Line 740 sub modify_quota {
|
Line 831 sub modify_quota {
|
return; |
return; |
} |
} |
|
|
|
sub modify_catsettings { |
|
my ($r,$cdom,$cnum,$cdesc,$domdesc) = @_; |
|
&print_header($r,$cdesc); |
|
my %lt = &Apache::lonlocal::texthash( |
|
'back' => 'Back to options page', |
|
); |
|
my %desc = &Apache::lonlocal::texthash( |
|
'hidefromcat' => 'Excluded from course catalog', |
|
'categories' => 'Assigned categories for this course', |
|
); |
|
$r->print(' |
|
<form action="/adm/modifycourse" method="post" name="processcat"> |
|
<h3>'.&mt('Category settings').'</h3>'); |
|
my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom); |
|
my @cat_params = &catalog_settable($domconf{'coursecategories'}); |
|
if (@cat_params > 0) { |
|
my (%cenv,@changes,@nochanges); |
|
my %currsettings = |
|
&Apache::lonnet::get('environment',['hidefromcat','categories'],$cdom,$cnum); |
|
my (@newcategories,%showitem); |
|
if (grep(/^togglecats$/,@cat_params)) { |
|
if ($currsettings{'hidefromcat'} ne $env{'form.hidefromcat'}) { |
|
push(@changes,'hidefromcat'); |
|
$cenv{'hidefromcat'} = $env{'form.hidefromcat'}; |
|
} else { |
|
push(@nochanges,'hidefromcat'); |
|
} |
|
if ($env{'form.hidefromcat'} eq 'yes') { |
|
$showitem{'hidefromcat'} = '"'.&mt('Yes')."'"; |
|
} else { |
|
$showitem{'hidefromcat'} = '"'.&mt('No').'"'; |
|
} |
|
} |
|
if (grep(/^categorize$/,@cat_params)) { |
|
my (@cats,@trails,%allitems,%idx,@jsarray); |
|
if (ref($domconf{'coursecategories'}) eq 'HASH') { |
|
my $cathash = $domconf{'coursecategories'}{'cats'}; |
|
if (ref($cathash) eq 'HASH') { |
|
&Apache::loncommon::extract_categories($cathash,\@cats,\@trails, |
|
\%allitems,\%idx,\@jsarray); |
|
} |
|
} |
|
@newcategories = &Apache::loncommon::get_env_multiple('form.usecategory'); |
|
if (@newcategories == 0) { |
|
$showitem{'categories'} = '"'.&mt('None').'"'; |
|
} else { |
|
$showitem{'categories'} = '<ul>'; |
|
foreach my $item (@newcategories) { |
|
$showitem{'categories'} .= '<li>'.$trails[$allitems{$item}].'</li>'; |
|
} |
|
$showitem{'categories'} .= '</ul>'; |
|
} |
|
my $catchg = 0; |
|
if ($currsettings{'categories'} ne '') { |
|
my @currcategories = split('&',$currsettings{'categories'}); |
|
foreach my $cat (@currcategories) { |
|
if (!grep(/^\Q$cat\E$/,@newcategories)) { |
|
$catchg = 1; |
|
last; |
|
} |
|
} |
|
if (!$catchg) { |
|
foreach my $cat (@newcategories) { |
|
if (!grep(/^\Q$cat\E$/,@currcategories)) { |
|
$catchg = 1; |
|
last; |
|
} |
|
} |
|
} |
|
} else { |
|
if (@newcategories > 0) { |
|
$catchg = 1; |
|
} |
|
} |
|
if ($catchg) { |
|
$cenv{'categories'} = join('&',@newcategories); |
|
push(@changes,'categories'); |
|
} else { |
|
push(@nochanges,'categories'); |
|
} |
|
if (@changes > 0) { |
|
my $putreply = &Apache::lonnet::put('environment',\%cenv,$cdom,$cnum); |
|
if ($putreply eq 'ok') { |
|
my %crsinfo = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.', |
|
$cnum,undef,undef,'.'); |
|
if (ref($crsinfo{$env{'form.pickedcourse'}}) eq 'HASH') { |
|
if (grep(/^hidefromcat$/,@changes)) { |
|
$crsinfo{$env{'form.pickedcourse'}}{'hidefromcat'} = $env{'form.hidefromcat'}; |
|
} |
|
if (grep(/^categories$/,@changes)) { |
|
$crsinfo{$env{'form.pickedcourse'}}{'categories'} = $cenv{'categories'}; |
|
} |
|
my $chome = &Apache::lonnet::homeserver($cnum,$cdom); |
|
my $putres = &Apache::lonnet::courseidput($cdom,\%crsinfo,$chome,'notime'); |
|
} |
|
$r->print(&mt('The following changes occurred').'<ul>'); |
|
foreach my $item (@changes) { |
|
$r->print('<li>'.&mt('[_1] now set to [_2]',$desc{$item},$showitem{$item}).'</li>'); |
|
} |
|
$r->print('</ul><br />'); |
|
} |
|
} |
|
if (@nochanges > 0) { |
|
$r->print(&mt('The following were unchanged').'<ul>'); |
|
foreach my $item (@nochanges) { |
|
$r->print('<li>'.&mt('[_1] still set to [_2]',$desc{$item},$showitem{$item}).'</li>'); |
|
} |
|
$r->print('</ul>'); |
|
} |
|
} |
|
} else { |
|
$r->print(&mt('Category settings for courses in this domain should be modified in course context (via "Set Course Environment").').'<br />'); |
|
} |
|
$r->print('<br />'."\n". |
|
'<a href="javascript:changePage(document.processcat,'."'menu'".')">'. |
|
$lt{'back'}.'</a>'); |
|
$r->print(&hidden_form_elements().'</form>'); |
|
return; |
|
} |
|
|
sub print_header { |
sub print_header { |
my ($r,$cdesc,$javascript_validations) = @_; |
my ($r,$cdesc,$javascript_validations) = @_; |
my $phase = "start"; |
my $phase = "start"; |
Line 788 function verify_quota(formname) {
|
Line 999 function verify_quota(formname) {
|
</script> |
</script> |
ENDSCRIPT |
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', |
$r->print(&Apache::loncommon::start_page('View/Modify Course Settings', |
$js)); |
$js,$starthash)); |
my $bread_text = "View/Modify Courses"; |
my $bread_text = "View/Modify Courses"; |
if ($cdesc ne '') { |
if ($cdesc ne '') { |
$bread_text = "Course Settings: $cdesc"; |
$bread_text = "Course Settings: $cdesc"; |
Line 817 sub check_course {
|
Line 1034 sub check_course {
|
if ($cdom eq $dom) { |
if ($cdom eq $dom) { |
my $description; |
my $description; |
my %courseIDs = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.', |
my %courseIDs = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.', |
$cnum,undef,undef,'.'); |
$cnum,undef,undef,'.'); |
if (keys(%courseIDs) > 0) { |
if (keys(%courseIDs) > 0) { |
$ok_course = 'ok'; |
$ok_course = 'ok'; |
my ($instcode,$owner); |
my ($instcode,$owner); |
Line 861 sub course_settings_descrip {
|
Line 1078 sub course_settings_descrip {
|
sub hidden_form_elements { |
sub hidden_form_elements { |
my $hidden_elements = |
my $hidden_elements = |
&Apache::lonhtmlcommon::echo_form_input(['gosearch','coursecode', |
&Apache::lonhtmlcommon::echo_form_input(['gosearch','coursecode', |
'numlocalcc','courseowner', |
'prevphase','numlocalcc','courseowner','login','coursequota','intarg', |
'login','coursequota','intarg', 'locarg','krbarg','krbver']); |
'locarg','krbarg','krbver','counter','hidefromcat','usecategory'])."\n". |
|
'<input type="hidden" name="prevphase" value="'.$env{'form.phase'}.'" />'; |
return $hidden_elements; |
return $hidden_elements; |
} |
} |
|
|
Line 882 sub handler {
|
Line 1100 sub handler {
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
|
my $phase = $env{'form.phase'}; |
my $phase = $env{'form.phase'}; |
&Apache::lonhtmlcommon::add_breadcrumb |
if ($phase eq '') { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/modifycourse", |
({href=>"/adm/modifycourse", |
text=>"Course search"}); |
text=>"Course search"}); |
if ($phase eq '') { |
|
&print_course_search_page($r,$dom,$domdesc); |
&print_course_search_page($r,$dom,$domdesc); |
} else { |
} else { |
|
my $firstform = $phase; |
|
if ($phase eq 'courselist') { |
|
$firstform = 'filterpicker'; |
|
} |
&Apache::lonhtmlcommon::add_breadcrumb |
&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"}); |
text=>"Choose a course"}); |
if ($phase eq 'courselist') { |
if ($phase eq 'courselist') { |
&print_course_selection_page($r,$dom,$domdesc); |
&print_course_selection_page($r,$dom,$domdesc); |
} else { |
} else { |
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"javascript:changePage(document.$phase,'menu')", |
|
text=>"Pick action"}); |
|
my ($checked,$cdesc) = &check_course($r,$dom,$domdesc); |
my ($checked,$cdesc) = &check_course($r,$dom,$domdesc); |
my $type = $env{'form.type'}; |
my $type = $env{'form.type'}; |
if ($type eq '') { |
if ($type eq '') { |
Line 904 sub handler {
|
Line 1125 sub handler {
|
} |
} |
if ($checked eq 'ok') { |
if ($checked eq 'ok') { |
if ($phase eq 'menu') { |
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,$dom); |
|
} elsif ($phase eq 'ccrole') { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"javascript:changePage(document.$phase,'ccrole')", |
|
text=>"Enter course"}); |
|
&print_ccrole_selected($r,$cdesc,$domdesc); |
} else { |
} else { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"javascript:changePage(document.$phase,'menu')", |
|
text=>"Pick action"}); |
my ($cdom,$cnum) = split(/_/,$env{'form.pickedcourse'}); |
my ($cdom,$cnum) = split(/_/,$env{'form.pickedcourse'}); |
if ($phase eq 'setquota') { |
if ($phase eq 'setquota') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:changePage(document.$phase,'$phase')", |
({href=>"javascript:changePage(document.$phase,'$phase')", |
text=>"Set quota"}); |
text=>"Set quota"}); |
&print_setquota($r,$cdom,$cnum,$cdesc,$type) |
&print_setquota($r,$cdom,$cnum,$cdesc,$type); |
} elsif ($phase eq 'processquota') { |
} elsif ($phase eq 'processquota') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:changePage(document.$phase,'setquota')", |
({href=>"javascript:changePage(document.$phase,'setquota')", |
Line 938 sub handler {
|
Line 1170 sub handler {
|
({href=>"javascript:changePage(document.$phase,'$phase')", |
({href=>"javascript:changePage(document.$phase,'$phase')", |
text=>"Result"}); |
text=>"Result"}); |
&modify_course($r,$cdom,$cnum,$cdesc,$domdesc,$type); |
&modify_course($r,$cdom,$cnum,$cdesc,$domdesc,$type); |
|
} elsif ($phase eq 'catsettings') { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"javascript:changePage(document.$phase,'$phase')", |
|
text=>"Catalog settings"}); |
|
&print_catsettings($r,$cdom,$cnum,$cdesc,$type); |
|
} elsif ($phase eq 'processcat') { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"javascript:changePage(document.$phase,'catsettings')", |
|
text=>"Catalog settings"}); |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"javascript:changePage(document.$phase,'$phase')", |
|
text=>"Result"}); |
|
&modify_catsettings($r,$cdom,$cnum,$cdesc,$domdesc); |
} |
} |
} |
} |
} else { |
} else { |