--- loncom/interface/lonparmset.pm 2006/09/25 19:29:56 1.336
+++ loncom/interface/lonparmset.pm 2006/09/28 23:58:53 1.338
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.336 2006/09/25 19:29:56 albertel Exp $
+# $Id: lonparmset.pm,v 1.338 2006/09/28 23:58:53 banghart Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3188,25 +3188,30 @@ ENDMAINFORMHEAD
}
### Set portfolio metadata
sub output_row {
- my ($r, $field_name, $field_text) = @_;
+ my ($r, $field_name, $field_text, $added_flag) = @_;
my $output;
my $options=$env{'course.'.$env{'request.course.id'}.'.metadata.'.$field_name.'.options'};
my $values=$env{'course.'.$env{'request.course.id'}.'.metadata.'.$field_name.'.values'};
- unless (defined($options)) {
+ if (!defined($options)) {
$options = 'active,stuadd';
$values = '';
}
- $output.=''.$field_text.':';
- $output.='
';
+ if (!($options =~ /deleted/)) {
+ $output.=''.$field_text.':';
+ $output.='
';
- my @options= ( ['active', 'Show to student'],
+ my @options= ( ['active', 'Show to student'],
['onlyone','Student may select only one choice'],
['stuadd', 'Student may type choices']);
- foreach my $opt (@options) {
- my $checked = ($options =~ m/$opt->[0]/) ? ' checked="checked" ' : '' ;
- $output.=(' 'x5).'
';
+ if ($added_flag) {
+ push @options,['deleted', 'Delete Metadata Field'];
+ }
+ foreach my $opt (@options) {
+ my $checked = ($options =~ m/$opt->[0]/) ? ' checked="checked" ' : '' ;
+ $output.=(' 'x5).'
';
+ }
}
return ($output);
}
@@ -3220,6 +3225,7 @@ sub addmetafield {
my $meta_field = $env{'form.fieldname'};
my $display_field = $env{'form.fieldname'};
$meta_field =~ s/\W/_/g;
+ $meta_field =~ tr/A-Z/a-z/;
my $put_result = &Apache::lonnet::put('environment',
{'metadata.'.$meta_field.'.values'=>"",
'metadata.'.$meta_field.'.added'=>"$display_field",
@@ -3261,6 +3267,10 @@ sub setrestrictmeta {
if ($env{'form.'.$meta_field.'_active'}) {
$options.='active,';
}
+ if ($env{'form.'.$meta_field.'_deleted'}) {
+ $options.='deleted,';
+ }
+
my $name = $save_field;
$put_result = &Apache::lonnet::put('environment',
{'metadata.'.$meta_field.'.options'=>$options,
@@ -3281,8 +3291,9 @@ sub setrestrictmeta {
$output.= &output_row($r, $field, $metadata_fields{$field});
}
}
+ my $added_flag = 1;
foreach my $field (sort(keys(%$added_metadata_fields))) {
- $output.= &output_row($r, $field, $$added_metadata_fields{$field});
+ $output.= &output_row($r, $field, $$added_metadata_fields{$field},$added_flag);
}
$r->print(<