version 1.438, 2009/03/29 18:25:33
|
version 1.439, 2009/03/30 15:57:26
|
Line 2512 sub crsenv {
|
Line 2512 sub crsenv {
|
my $SelectStyleFile=&mt('Select Style File'); |
my $SelectStyleFile=&mt('Select Style File'); |
my $SelectSpreadsheetFile=&mt('Select Spreadsheet File'); |
my $SelectSpreadsheetFile=&mt('Select Spreadsheet File'); |
my $output=''; |
my $output=''; |
|
my $output_SB = ''; # will be replaced by "$output" when all changes are done |
my $can_categorize; |
my $can_categorize; |
|
my %lt=&Apache::lonlocal::texthash( |
|
'par' => 'Parameter', |
|
'val' => 'Value', |
|
'set' => 'Set?', |
|
'sav' => 'Save', |
|
); |
if (! exists($values{'con_lost'})) { |
if (! exists($values{'con_lost'})) { |
my %descriptions= |
my %descriptions= |
('url' => '<b>'.&mt('Top Level Map').'</b><br />'. |
('url' => '<b>'.&mt('Top Level Map').'</b><br />'. |
Line 2662 sub crsenv {
|
Line 2669 sub crsenv {
|
=> '<b>'.&mt('Replacement titles for standard course roles').'</b><br />'. |
=> '<b>'.&mt('Replacement titles for standard course roles').'</b><br />'. |
'('.&mt('To replace the standard title for a course role, enter the title you wish to use, otherwise leave blank.').')', |
'('.&mt('To replace the standard title for a course role, enter the title you wish to use, otherwise leave blank.').')', |
); |
); |
my @Display_Order = ('url','description','courseid','cloners'); |
|
(my $can_toggle_cat,$can_categorize) = &can_modify_catsettings($dom); |
|
if ($can_toggle_cat) { |
# The following code is kept to have access to the old version of display order |
push(@Display_Order,'hidefromcat'); |
|
} |
# my @Display_Order = ('url','description','courseid','cloners'); |
if ($can_categorize) { |
# (my $can_toggle_cat,$can_categorize) = &can_modify_catsettings($dom); |
push(@Display_Order,'categories'); |
# if ($can_toggle_cat) { |
} |
# push(@Display_Order,'hidefromcat'); |
push (@Display_Order,('grading', |
# } |
'externalsyllabus', |
# if ($can_categorize) { |
'default_xml_style','pageseparators', |
# push(@Display_Order,'categories'); |
'question.email','question.email.text','comment.email', |
# } |
'comment.email.text','policy.email','policy.email.text', |
# push (@Display_Order,('grading', |
'student_classlist_view', |
# 'externalsyllabus', |
'student_classlist_opt_in', |
# 'default_xml_style','pageseparators', |
'student_classlist_portfiles', |
# 'question.email','question.email.text','comment.email', |
'plc.roles.denied','plc.users.denied', |
# 'comment.email.text','policy.email','policy.email.text', |
'pch.roles.denied','pch.users.denied', |
# 'student_classlist_view', |
'allow_limited_html_in_feedback', |
# 'student_classlist_opt_in', |
'allow_discussion_post_editing', |
# 'student_classlist_portfiles', |
'languages', |
# 'plc.roles.denied','plc.users.denied', |
'timezone', |
# 'pch.roles.denied','pch.users.denied', |
'datelocale', |
# 'allow_limited_html_in_feedback', |
'rolenames', |
# 'allow_discussion_post_editing', |
'nothideprivileged', |
# 'languages', |
'rndseed', |
# 'timezone', |
'receiptalg', |
# 'datelocale', |
'problem_stream_switch', |
# 'rolenames', |
'suppress_tries', |
# 'nothideprivileged', |
'suppress_embed_prompt', |
# 'rndseed', |
'default_paper_size', |
# 'receiptalg', |
'print_header_format', |
# 'problem_stream_switch', |
'disable_receipt_display', |
# 'suppress_tries', |
'spreadsheet_default_classcalc', |
# 'suppress_embed_prompt', |
'spreadsheet_default_studentcalc', |
# 'default_paper_size', |
'spreadsheet_default_assesscalc', |
# 'print_header_format', |
'hideemptyrows', |
# 'disable_receipt_display', |
'default_enrollment_start_date', |
# 'spreadsheet_default_classcalc', |
'default_enrollment_end_date', |
# 'spreadsheet_default_studentcalc', |
'tthoptions', |
# 'spreadsheet_default_assesscalc', |
'texengine', |
# 'hideemptyrows', |
'disablesigfigs', |
# 'default_enrollment_start_date', |
'disableexampointprint', |
# 'default_enrollment_end_date', |
'task_messages','task_grading')); |
# 'tthoptions', |
foreach my $parameter (sort(keys(%values))) { |
# 'texengine', |
unless (($parameter =~ m/^internal\./)||($parameter =~ m/^metadata\./) || |
# 'disablesigfigs', |
($parameter =~ m/^selfenroll_/) || ($parameter =~ /_selfenroll$/) |
# 'disableexampointprint', |
|| ($parameter eq 'type') || |
# 'task_messages','task_grading')); |
($parameter =~ m/^(cc|in|ta|ep|ad|st)\.plaintext$/)) { |
# foreach my $parameter (sort(keys(%values))) { |
if (! $descriptions{$parameter}) { |
# unless (($parameter =~ m/^internal\./)||($parameter =~ m/^metadata\./) || |
$descriptions{$parameter}=$parameter; |
# ($parameter =~ m/^selfenroll_/) || ($parameter =~ /_selfenroll$/) |
push(@Display_Order,$parameter); |
# || ($parameter eq 'type') || |
} |
# ($parameter =~ m/^(cc|in|ta|ep|ad|st)\.plaintext$/)) { |
} |
# if (! $descriptions{$parameter}) { |
} |
# $descriptions{$parameter}=$parameter; |
|
# push(@Display_Order,$parameter); |
foreach my $parameter (@Display_Order) { |
# } |
my $description = $descriptions{$parameter}; |
# } |
# onchange is javascript to automatically check the 'Set' button. |
# } |
my $onchange = 'onFocus="javascript:window.document.forms'. |
|
"['envform'].elements['".$parameter."_setparmval']". |
|
'.checked=true;"'; |
|
$output .= &Apache::loncommon::start_data_table_row(). |
|
'<td>'.$description.'</td>'; |
# ---------------------------------------------------------------- |
|
# Begin: New Version with Parameter Categories |
|
|
|
sub parameter_row { |
|
# Create parameter line for course environment screen |
|
my ($parameter, $description) = @_; |
|
my $output = ''; |
|
|
|
# Column 1/3: Descritive text of current parameter |
|
$output = &Apache::loncommon::start_data_table_row() |
|
.'<td>'.$description.'</td>'; |
|
|
|
# Column 2/3: Input field (Sometimes special field(s), depending on parameter) |
|
# ------------------------------- |
|
# onchange is javascript to automatically check the 'Set' button. |
|
my $onchange = 'onFocus="javascript:window.document.forms' |
|
."['envform'].elements['".$parameter."_setparmval']" |
|
.'.checked=true;"'; |
if ($parameter =~ /^default_enrollment_(start|end)_date$/) { |
if ($parameter =~ /^default_enrollment_(start|end)_date$/) { |
$output .= '<td>'. |
$output .= '<td>'. |
&Apache::lonhtmlcommon::date_setter('envform', |
&Apache::lonhtmlcommon::date_setter('envform', |
Line 2786 sub crsenv {
|
Line 2810 sub crsenv {
|
$values{'categories'}.'" />'. |
$values{'categories'}.'" />'. |
'<input type="textbox" name="categories_display" value="'. |
'<input type="textbox" name="categories_display" value="'. |
$catdisplay.'" readonly="readonly" size="40" /></td>'; |
$catdisplay.'" readonly="readonly" size="40" /></td>'; |
} else { |
} else { # Display default textbox in all other cases |
$output .= '<td>'. |
$output .= '<td>' |
&Apache::lonhtmlcommon::textbox($parameter.'_value', |
.&Apache::lonhtmlcommon::textbox($parameter.'_value', |
$values{$parameter}, |
$values{$parameter}, |
40,$onchange).'</td>'; |
40, |
|
$onchange) |
|
.'</td>'; |
|
# ------------------------------- |
} |
} |
unless ($parameter eq 'rolenames') { |
|
$output .= '<td>'. |
# Column 3/3: Check Box (in most cases) |
&Apache::lonhtmlcommon::checkbox($parameter.'_setparmval'). |
unless ($parameter eq 'rolenames') { |
'</td>'; |
$output .= '<td>' |
|
.&Apache::lonhtmlcommon::checkbox($parameter.'_setparmval') |
|
.'</td>'; |
|
} |
|
$output .= &Apache::loncommon::end_data_table_row(); |
|
|
|
return $output; |
|
} |
|
|
|
|
|
|
|
|
|
# Parameter Category Names |
|
my %parm_cat_names = &Apache::lonlocal::texthash ( |
|
'cat_0' => 'Parameter Category Zero', |
|
'cat_1' => 'Parameter Category One', |
|
'cat_2' => 'Parameter Category Two', |
|
'cat_3' => 'Parameter Category Three', |
|
'cat_4' => 'Parameter Category Four', |
|
'cat_5' => 'Parameter Category Five', |
|
'cat_6' => 'Parameter Category Six', |
|
'cat_7' => 'Parameter Category Seven', |
|
'cat_can' => 'Parameter Category Can', |
|
'cat_custom' => 'Parameter Category Custom', |
|
); |
|
|
|
# Link Parameter Categories with Parameters |
|
my %parm_cat_parms = ( |
|
'cat_0' => [ |
|
'url', |
|
'description', |
|
'courseid', |
|
'cloners' |
|
], |
|
'cat_1' => [ |
|
'grading', |
|
'externalsyllabus', |
|
'default_xml_style', |
|
'pageseparators' |
|
], |
|
'cat_2' => [ |
|
'question.email', |
|
'question.email.text', |
|
'comment.email', |
|
'comment.email.text', |
|
'policy.email', |
|
'policy.email.text', |
|
], |
|
'cat_3' => [ |
|
'student_classlist_view', |
|
'student_classlist_opt_in', |
|
'student_classlist_portfiles', |
|
'plc.roles.denied', |
|
'plc.users.denied', |
|
'pch.roles.denied', |
|
'pch.users.denied', |
|
'allow_limited_html_in_feedback', |
|
'allow_discussion_post_editing', |
|
], |
|
'cat_4' => [ |
|
'languages', |
|
'timezone', |
|
'datelocale', |
|
'rolenames', |
|
'nothideprivileged', |
|
'rndseed', |
|
'receiptalg', |
|
'problem_stream_switch', |
|
'suppress_tries', |
|
'suppress_embed_prompt', |
|
'default_paper_size', |
|
'print_header_format', |
|
'disable_receipt_display', |
|
], |
|
'cat_5' => [ |
|
'spreadsheet_default_classcalc', |
|
'spreadsheet_default_studentcalc', |
|
'spreadsheet_default_assesscalc', |
|
'hideemptyrows', |
|
], |
|
'cat_6' => [ |
|
'default_enrollment_start_date', |
|
'default_enrollment_end_date', |
|
], |
|
'cat_7' => [ |
|
'tthoptions', |
|
'texengine', |
|
'disablesigfigs', |
|
'disableexampointprint', |
|
'task_messages', |
|
'task_grading', |
|
], |
|
); |
|
|
|
# Add special parameters depending on special context to parameter categories hash |
|
my @can_cats; |
|
(my $can_toggle_cat,$can_categorize) = &can_modify_catsettings($dom); |
|
if ($can_toggle_cat) { |
|
push(@can_cats,'hidefromcat'); |
|
} |
|
if ($can_categorize) { |
|
push(@can_cats,'categories'); |
|
} |
|
$parm_cat_parms{'cat_can'} = [@can_cats]; |
|
|
|
# Add custom parameters to parameter categories hash |
|
my @custom_cats; |
|
foreach my $parameter (sort(keys(%values))) { |
|
unless (($parameter =~ m/^internal\./)||($parameter =~ m/^metadata\./) || |
|
($parameter =~ m/^selfenroll_/) || ($parameter =~ /_selfenroll$/) |
|
|| ($parameter eq 'type') || |
|
($parameter =~ m/^(cc|in|ta|ep|ad|st)\.plaintext$/)) { |
|
if (! $descriptions{$parameter}) { |
|
$descriptions{$parameter}=$parameter; |
|
push(@custom_cats,$parameter); |
} |
} |
$output .= &Apache::loncommon::end_data_table_row()."\n"; |
} |
} |
} |
|
$parm_cat_parms{'cat_custom'} = [@custom_cats]; |
|
|
|
|
|
# Old output structure: |
|
|
|
#$start_table |
|
#$start_header_row |
|
#<th>$lt{'par'}</th><th>$lt{'val'}</th><th>$lt{'set'}</th> |
|
#$end_header_row |
|
#$output |
|
#$end_table |
|
|
|
|
|
# Display Parameter List Overview |
|
# Provide hyperlinks to detailed parameter settings |
|
$output_SB .= '<a name="parmlist" />' |
|
.'<h2>'.&mt('Course Parameter Overview').'</h2>' |
|
.'<div class="LC_ContentBox">' |
|
.'<ul>'; |
|
foreach my $catkey (keys(%parm_cat_names)) { |
|
$output_SB .= '<li>' |
|
.'<a href="#parmlist_'.$catkey.'">' |
|
.$parm_cat_names{$catkey} |
|
.'</a>' |
|
.'</li>'; |
|
} |
|
$output_SB .= '</ul>' |
|
.'</div>'; |
|
|
|
|
|
# Display Parameter Details |
|
my $buttons='<div align="right">' |
|
.'<input type="submit" name="crsenv" value="'.&mt('Save All').'" />' |
|
.'<br /><a href="#parmlist">'.&mt('Back to Parameter List').'</a>' |
|
.'</div>'; |
|
|
|
$output_SB .= '<h2>'.&mt('Course Parameters').'</h2>'; |
|
|
|
foreach my $catkey (keys(%parm_cat_names)) { |
|
$output_SB .= &Apache::loncommon::start_data_table(); |
|
$output_SB .= &Apache::loncommon::start_data_table_empty_row() |
|
.'<td colspan="3">' |
|
.'<a name="parmlist_'.$catkey.'" />' |
|
.'<h3>'.$parm_cat_names{$catkey}.'</h3>' |
|
.'</td>' |
|
.&Apache::loncommon::end_data_table_empty_row |
|
.&Apache::loncommon::start_data_table_header_row() |
|
.'<th>'.$lt{'par'}.'</th><th>'.$lt{'val'}.'</th><th>'.$lt{'set'}.'</th>' |
|
.&Apache::loncommon::end_data_table_header_row(); |
|
|
|
foreach my $parameter (@{$parm_cat_parms{$catkey}}) { |
|
my $description = $descriptions{$parameter}; |
|
$output_SB .= ¶meter_row($parameter, $description); |
|
} |
|
$output_SB .= &Apache::loncommon::start_data_table_empty_row() |
|
.'<td colspan="3">' |
|
.$buttons |
|
.'</td>' |
|
.&Apache::loncommon::end_data_table_empty_row; |
|
$output_SB .= &Apache::loncommon::end_data_table() |
|
. '<br />'; |
|
} |
|
|
|
$output_SB .= '</div>'; |
|
|
|
# End: New Version with Parameter Categories |
|
# ---------------------------------------------------------------- |
|
|
|
|
|
# # Display Parameter table |
|
# foreach my $parameter (@Display_Order) { |
|
# my $description = $descriptions{$parameter}; |
|
# # onchange is javascript to automatically check the 'Set' button. |
|
# my $onchange = 'onFocus="javascript:window.document.forms'. |
|
# "['envform'].elements['".$parameter."_setparmval']". |
|
# '.checked=true;"'; |
|
# $output .= &Apache::loncommon::start_data_table_row(). |
|
# '<td>'.$description.'</td>'; |
|
# |
|
# |
|
# |
|
## ------------------------------- |
|
# if ($parameter =~ /^default_enrollment_(start|end)_date$/) { |
|
# $output .= '<td>'. |
|
# &Apache::lonhtmlcommon::date_setter('envform', |
|
# $parameter.'_value', |
|
# $values{$parameter}, |
|
# $onchange). |
|
# '</td>'; |
|
# } elsif ($parameter eq 'timezone') { |
|
# my $includeempty = 1; |
|
# my $timezone = &Apache::lonlocal::gettimezone(); |
|
# $output .= '<td>'. |
|
# &Apache::loncommon::select_timezone($parameter.'_value', |
|
# $timezone, |
|
# $onchange,$includeempty).'</td>'; |
|
# } elsif ($parameter eq 'datelocale') { |
|
# my $includeempty = 1; |
|
# my $locale_obj = &Apache::lonlocal::getdatelocale(); |
|
# my $currdatelocale; |
|
# if (ref($locale_obj)) { |
|
# $currdatelocale = $locale_obj->id(); |
|
# } |
|
# $output .= '<td>'. |
|
# &Apache::loncommon::select_datelocale($parameter.'_value', |
|
# $currdatelocale, |
|
# $onchange,$includeempty).'</td>'; |
|
# } elsif ($parameter eq 'rolenames') { |
|
# $output.= '<td><table>'; |
|
# foreach my $role ('cc','in','ta','ep','ad','st') { |
|
# my $onchange = 'onFocus="javascript:window.document.forms'. |
|
# "['envform'].elements['". |
|
# $parameter.'_'.$role."_setparmval']". |
|
# '.checked=true;"'; |
|
# $output.= '<tr><td>'.&Apache::lonnet::plaintext($role,$crstype,undef,1). |
|
# '</td><td>'. |
|
# &Apache::lonhtmlcommon::textbox($parameter.'_'.$role.'_value', |
|
# $values{$role.'.plaintext'}, |
|
# 15,$onchange). |
|
# '</td></tr>'; |
|
# } |
|
# $output .= '</table></td><td><table>'; |
|
# foreach my $role ('cc','in','ta','ep','ad','st') { |
|
# $output .= '<tr><td>'.&Apache::lonhtmlcommon::checkbox($parameter.'_'.$role.'_setparmval'). |
|
# '</td></tr>'; |
|
# } |
|
# $output .= '</table></td>'; |
|
# } elsif ($parameter eq 'categories') { |
|
# my $catdisplay; |
|
# if ($values{'categories'} ne '') { |
|
# my @curritems = split(/\&/,$values{'categories'}); |
|
# foreach my $item (@curritems) { |
|
# my ($name,$parent,$pos) = split(/:/,$item); |
|
# $catdisplay .= &unescape($name).'&'; |
|
# } |
|
# $catdisplay =~ s/\&$//; |
|
# } |
|
# $output .= '<td>'. |
|
# '<input type="hidden" name="categories_value" value="'. |
|
# $values{'categories'}.'" />'. |
|
# '<input type="textbox" name="categories_display" value="'. |
|
# $catdisplay.'" readonly="readonly" size="40" /></td>'; |
|
# } else { |
|
# $output .= '<td>'. |
|
# &Apache::lonhtmlcommon::textbox($parameter.'_value', |
|
# $values{$parameter}, |
|
# 40,$onchange).'</td>'; |
|
# } |
|
# ------------------------------- |
|
|
|
|
|
# unless ($parameter eq 'rolenames') { |
|
# $output .= '<td>'. |
|
# &Apache::lonhtmlcommon::checkbox($parameter.'_setparmval'). |
|
# '</td>'; |
|
# } |
|
# $output .= &Apache::loncommon::end_data_table_row()."\n"; |
|
# } |
my $onchange = 'onFocus="javascript:window.document.forms'. |
my $onchange = 'onFocus="javascript:window.document.forms'. |
'[\'envform\'].elements[\'newp_setparmval\']'. |
'[\'envform\'].elements[\'newp_setparmval\']'. |
'.checked=true;"'; |
'.checked=true;"'; |
Line 2811 sub crsenv {
|
Line 3110 sub crsenv {
|
'<input type="checkbox" name="newp_setparmval" /></td>'. |
'<input type="checkbox" name="newp_setparmval" /></td>'. |
&Apache::loncommon::end_data_table_row()."\n"; |
&Apache::loncommon::end_data_table_row()."\n"; |
} |
} |
my %lt=&Apache::lonlocal::texthash( |
|
'par' => 'Parameter', |
|
'val' => 'Value', |
|
'set' => 'Set?', |
|
'sav' => 'Save' |
|
); |
|
|
|
my $Parameter=&mt('Parameter'); |
my $Parameter=&mt('Parameter'); |
my $Value=&mt('Value'); |
my $Value=&mt('Value'); |
Line 2849 $start_page
|
Line 3142 $start_page
|
$breadcrumbs |
$breadcrumbs |
<form method="post" action="/adm/parmset?action=crsenv" name="envform"> |
<form method="post" action="/adm/parmset?action=crsenv" name="envform"> |
$setoutput |
$setoutput |
|
$output_SB |
|
<hr class="LC_edit_problem_divide" /> |
<div><input type="submit" name="crsenv" value="$lt{'sav'}" /></div> |
<div><input type="submit" name="crsenv" value="$lt{'sav'}" /></div> |
$start_table |
$start_table |
$start_header_row |
$start_header_row |