--- loncom/interface/lonparmset.pm 2005/08/26 18:57:42 1.240 +++ loncom/interface/lonparmset.pm 2005/08/27 19:07:58 1.243 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.240 2005/08/26 18:57:42 banghart Exp $ +# $Id: lonparmset.pm,v 1.243 2005/08/27 19:07:58 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2727,18 +2727,74 @@ ENDMAINFORMHEAD ### Set instructor defined metadata sub setinstmeta { my ($r)=@_; - my $setoutput=''; + my $next_meta; + if ($env{'form.serial'}) { + $next_meta = $env{'form.serial'}; + } else { + $next_meta = 1; + } $r->print(&Apache::lonxml::xmlbegin()); $r->print(' LON-CAPA Set Instructor Metadata '); - $r->print(&Apache::loncommon::bodytag('Set Instructor Metadata')); $r->print(&Apache::lonhtmlcommon::breadcrumbs(undef, 'Set Instructor Metadata')); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; - $r->print('Set instructor metadata here'); + my $key_base = $env{'course.'.$env{'request.course.id'}.'.metadata.'}; + if ($env{'form.state'}eq 'add') { + $r->print('Compose a new metadata item:
'); + $r->print('
'); + $r->print ('Title of item: '.&Apache::lonhtmlcommon::textbox("title",undef,undef,undef).'
'); + $r->print ('List if items (comma separated): '.&Apache::lonhtmlcommon::textbox("values",undef,undef,undef).'
'); + $r->print ('Select one:
'); + $r->print ('Select many:
'); + $r->print(''); + $r->print(''); + $r->print(''); + $r->print(''); + $r->print('
'); + } elsif ($env{'form.state'}eq 'save') { + $r->print('Here we save the metadata'); + $key_base.=$env{'form.serial'}.'.'; + $r->print('The title: '.$env{'form.title'}.'
'); + $r->print('The values: '.$env{'form.values'}.'
'); + $r->print('The type: '.$env{'form.type'}.'
'); + $r->print('The number: '.$env{'form.serial'}.'
'); + my $name = 'metadata.'.$env{'form.serial'}.'.title'; + my $value = $env{'form.title'}; + my $put_result = &Apache::lonnet::put('environment', + {$name=>$value},$dom,$crs); + $r->print('the put result was: '.$put_result.'
'); + $name = 'metadata.'.$env{'form.serial'}.'.type'; + $value = $env{'form.type'}; + $put_result = &Apache::lonnet::put('environment', + {$name=>$value},$dom,$crs); + $name = 'metadata.'.$env{'form.serial'}.'.values'; + $value = $env{'form.values'}; + $put_result = &Apache::lonnet::put('environment', + {$name=>$value},$dom,$crs); + &Apache::lonnet::coursedescription($env{'request.course.id'}); + } else { + my $found_one = 0; + foreach my $key (sort keys %env) { + if ($key=~m/^course\.$env{'request.course.id'}\.metadata\.\d+\.title$/) { + unless ($found_one eq 1) { + $found_one = 1; + $r->print('Existing Metadata
'); + } + $r->print($env{$key}.'
'); + $key=~m/^course\.$env{'request.course.id'}\.metadata\.(\d+)\.title/; + if ($1 ge $next_meta) { + $next_meta = $1 + 1; + } + } + } + $r->print('Add Metadata Item
'); + } + $r->print(' + '); return 'ok'; } ################################################## @@ -2926,7 +2982,7 @@ sub handler { 'pres_marker', 'pres_value', 'pres_type', - 'udom','uname','symb']); + 'udom','uname','symb','serial']); &Apache::lonhtmlcommon::clear_breadcrumbs();