version 1.80, 2011/03/26 16:09:33
|
version 1.81, 2011/03/26 20:04:15
|
Line 479 sub process_category_edits {
|
Line 479 sub process_category_edits {
|
%categories=&set_category_name($cangrade,$id,$env{'form.name_'.$id},%categories); |
%categories=&set_category_name($cangrade,$id,$env{'form.name_'.$id},%categories); |
%categories=&set_category_total($cangrade,$id,$env{'form.totaltype_'.$id},$env{'form.total_'.$id},%categories); |
%categories=&set_category_total($cangrade,$id,$env{'form.totaltype_'.$id},$env{'form.total_'.$id},%categories); |
%categories=&set_category_weight($cangrade,$id,$env{'form.weight_'.$id},%categories); |
%categories=&set_category_weight($cangrade,$id,$env{'form.weight_'.$id},%categories); |
|
%categories=&set_category_displayachieved($cangrade,$id,$env{'form.displayachieved_'.$id},%categories); |
# Set values for category rules (before names may change) |
# Set values for category rules (before names may change) |
%categories=&set_category_rules($cangrade,$id,%categories); |
%categories=&set_category_rules($cangrade,$id,%categories); |
} |
} |
Line 545 sub output_category_table_header {
|
Line 546 sub output_category_table_header {
|
} |
} |
$r->print('<th>'.&mt('Category').'</th>'. |
$r->print('<th>'.&mt('Category').'</th>'. |
'<th>'.&mt('Contents').'</th>'. |
'<th>'.&mt('Contents').'</th>'. |
'<th>'.&mt('Calculation').'</th>'. |
|
'<th>'.&mt('Total Points').'</th>'. |
'<th>'.&mt('Total Points').'</th>'. |
'<th>'.&mt('Relative Weight').'</th>'); |
'<th>'.&mt('Calculation').'</th>'. |
|
'<th>'.&mt('Relative Weight').'</th>'. |
|
'<th>'.&mt('Achieved').'</th>'); |
$r->print(&Apache::loncommon::end_data_table_header_row()); |
$r->print(&Apache::loncommon::end_data_table_header_row()); |
} |
} |
|
|
Line 612 ENDMOVE
|
Line 614 ENDMOVE
|
&Apache::lonstathelpers::problem_selector('.',undef,1,1,'addcont_'.$id.'_',1,'this.form.cmd.value="addcont_'.$id.'";this.form.submit();')); |
&Apache::lonstathelpers::problem_selector('.',undef,1,1,'addcont_'.$id.'_',1,'this.form.cmd.value="addcont_'.$id.'";this.form.submit();')); |
} |
} |
$r->print('</td>'); |
$r->print('</td>'); |
|
|
|
# Total |
|
if ($cangrade) { |
|
$r->print('<td>'. |
|
'<select name="totaltype_'.$id.'">'. |
|
'<option value="default"'.($categories{$id.'_totaltype'} eq 'default'?' selected="selected"':'').'>'.&mt('default').'</option>'. |
|
'<option value="typein"'.($categories{$id.'_totaltype'} eq 'typein'?' selected="selected"':'').'>'.&mt('Type-in value').'</option>'. |
|
'</select>'. |
|
'<input type="text" size="4" name="total_'.$id. |
|
'" value="'.&Apache::lonhtmlcommon::entity_encode($categories{$id.'_total'}).'" /></td>'); |
|
} else { |
|
$r->print('<td>'.($categories{$id.'_totaltype'} eq 'default'?&mt('default'):$categories{$id.'_total'}).'</td>'); |
|
} |
|
|
|
|
# Calculation |
# Calculation |
$r->print('<td><ul>'); |
$r->print('<td><ul>'); |
foreach my $calcrule (split(/\,/,$categories{$id.'_calculations'})) { |
foreach my $calcrule (split(/\,/,$categories{$id.'_calculations'})) { |
Line 629 ENDMOVE
|
Line 646 ENDMOVE
|
} |
} |
$r->print('</td>'); |
$r->print('</td>'); |
|
|
|
|
# Total |
|
if ($cangrade) { |
|
$r->print('<td>'. |
|
'<select name="totaltype_'.$id.'">'. |
|
'<option value="default"'.($categories{$id.'_totaltype'} eq 'default'?' selected="selected"':'').'>'.&mt('default').'</option>'. |
|
'<option value="typein"'.($categories{$id.'_totaltype'} eq 'typein'?' selected="selected"':'').'>'.&mt('Type-in value').'</option>'. |
|
'</select>'. |
|
'<input type="text" size="4" name="total_'.$id. |
|
'" value="'.&Apache::lonhtmlcommon::entity_encode($categories{$id.'_total'}).'" /></td>'); |
|
} else { |
|
$r->print('<td>'.($categories{$id.'_totaltype'} eq 'default'?&mt('default'):$categories{$id.'_total'}).'</td>'); |
|
} |
|
# Weight |
# Weight |
if ($cangrade) { |
if ($cangrade) { |
$r->print('<td>'. |
$r->print('<td>'. |
Line 650 ENDMOVE
|
Line 654 ENDMOVE
|
} else { |
} else { |
$r->print('<td>'.$categories{$id.'_weight'}.'</td>'); |
$r->print('<td>'.$categories{$id.'_weight'}.'</td>'); |
} |
} |
|
# Achieved |
|
$r->print('<td>'); |
|
if ($cangrade) { |
|
$r->print('<select name="displayachieved_'.$id.'">'. |
|
'<option value="percent"'.($categories{$id.'_displayachieved'} eq 'percent'?' selected="selected"':'').'>'.&mt('percent').'</option>'. |
|
'<option value="points"'.($categories{$id.'_displayachieved'} eq 'points'?' selected="selected"':'').'>'.&mt('points').'</option>'. |
|
'</select>'); |
|
} else { |
|
if ($categories{$id.'_displayachieved'} eq 'percent') { |
|
$r->print(&mt('percent')); |
|
} else { |
|
$r->print(&mt('points')); |
|
} |
|
} |
|
$r->print('</td>'); |
|
|
return ($value,$weight); |
return ($value,$weight); |
} |
} |
Line 664 sub bottom_line_category {
|
Line 683 sub bottom_line_category {
|
if ($cangrade) { |
if ($cangrade) { |
$r->print('<td colspan="3"><a href="javascript:storecmd(\'createnewcat\');">'.&mt('Create New Category').'</a></td>'); |
$r->print('<td colspan="3"><a href="javascript:storecmd(\'createnewcat\');">'.&mt('Create New Category').'</a></td>'); |
} |
} |
$r->print('<td colspan="5">'.&mt('Current:').$sum.'<br />'.&mt('Total:').$total.'<br /></td>'); |
$r->print('<td colspan="6">'.&mt('Current:').$sum.'<br />'.&mt('Total:').$total.'<br /></td>'); |
} |
} |
|
|
# |
# |
Line 688 sub make_new_category {
|
Line 707 sub make_new_category {
|
} |
} |
$categories{$id.'_weight'}=0; |
$categories{$id.'_weight'}=0; |
$categories{$id.'_totaltype'}='default'; |
$categories{$id.'_totaltype'}='default'; |
|
$categories{$id.'_displayachieved'}='percent'; |
return %categories; |
return %categories; |
} |
} |
|
|
Line 933 sub set_category_weight {
|
Line 953 sub set_category_weight {
|
return %categories; |
return %categories; |
} |
} |
|
|
|
sub set_category_displayachieved { |
|
my ($cangrade,$id,$value,%categories)=@_; |
|
unless ($cangrade) { return %categories; } |
|
unless (($value eq 'percent') || ($value eq 'points')) { $value='percent'; } |
|
$categories{$id.'_displayachieved'}=$value; |
|
return %categories; |
|
} |
|
|
|
|
# |
# |
# === end category-related |
# === end category-related |
# |
# |