--- loncom/interface/lonmeta.pm 2006/08/28 00:19:38 1.168.2.3 +++ loncom/interface/lonmeta.pm 2006/08/16 18:02:01 1.169 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Metadata display handler # -# $Id: lonmeta.pm,v 1.168.2.3 2006/08/28 00:19:38 albertel Exp $ +# $Id: lonmeta.pm,v 1.169 2006/08/16 18:02:01 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -366,6 +366,8 @@ sub pre_select_course { $output = &select_course(); $r->print($output.'
'); + $r->print(''); + $r->print(''); $r->print(''); my ($port_path,$group) = &get_port_path_and_group($uri); @@ -718,12 +720,15 @@ sub prettyinput { sub handler { my $r=shift; # + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['currentpath']); my $uri=$r->uri; # # Set document type &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; return OK if $r->header_only; + # my ($resdomain,$resuser)= (&Apache::lonnet::declutter($uri)=~/^(\w+)\/(\w+)\//); if ($uri=~m:/adm/bombs/(.*)$:) { @@ -741,12 +746,6 @@ sub handler { } else { &pre_select_course($r,$uri); } - } elsif ($uri=~m|^/editupload/[^/]+/[^/]+/groups/|) { - $r->print(&Apache::loncommon::start_page('Edit Group Portfolio File Catalog Information', - undef, - {'domain' => $resdomain,})); - - &present_editable_metadata($r,$uri,'groups'); } elsif ($uri=~m|^/~|) { # Construction space $r->print(&Apache::loncommon::start_page('Edit Catalog nformation', @@ -1107,7 +1106,7 @@ sub print_dynamic_metadata { ##################################################### ##################################################### sub present_editable_metadata { - my ($r,$uri,$file_type) = @_; + my ($r,$uri, $file_type) = @_; # Construction Space Call # Header my $disuri=$uri; @@ -1148,7 +1147,7 @@ sub present_editable_metadata { my $goback=&mt('Back to Source File'); $r->print(<$disuri -
+ ENDBOMBS if ($showdel) { $r->print(<print(<$displayfile - + ENDEDIT - $r->print(''); my %lt=&fieldnames($file_type); @@ -1197,12 +1196,8 @@ ENDEDIT 'lowestgradelevel','highestgradelevel','sourceavail','sourcerights', 'obsolete','obsoletereplacement'); } - if ($file_type eq 'groups') { - $Apache::lonpublisher::metadatafields{'courserestricted'}= - 'course.'.$env{'request.course.id'}; - } if ((! $Apache::lonpublisher::metadatafields{'courserestricted'}) && - (! $env{'form.new_courserestricted'}) && (! $file_type eq 'groups')) { + (! $env{'form.new_courserestricted'})) { $Apache::lonpublisher::metadatafields{'courserestricted'}= 'none'; } elsif ($env{'form.new_courserestricted'}) { @@ -1213,7 +1208,7 @@ ENDEDIT $Apache::lonpublisher::metadatafields{'copyright'}= 'default'; } - if (($file_type eq 'portfolio') || ($file_type eq 'groups')) { + if ($file_type eq 'portfolio') { if (! $Apache::lonpublisher::metadatafields{'mime'}) { ($Apache::lonpublisher::metadatafields{'mime'}) = ( $target=~/\.(\w+)$/ ); @@ -1288,16 +1283,22 @@ ENDEDIT '<>&"'). ''; } - if ($fn =~ m|^$Apache::lonnet::perlvar{'lonDocRoot'}/userfiles|) { - my ($path, $new_fn); - if ($fn =~ m|\w+/groups/\w+/portfolio/|) { - ($path, $new_fn) = ($fn =~ m|/(groups/\w+/portfolio.*)/([^/]*)$|); - } else { - ($path, $new_fn) = ($fn =~ m|/(portfolio.*)/([^/]*)$|); - } + if ($fn =~ m|^$Apache::lonnet::perlvar{'lonDocRoot'}/userfiles/portfolio/|) { + my ($path, $new_fn) = ($fn =~ m|/(portfolio.*)/([^/]*)$|); $r->print(&store_portfolio_metadata($formname,$file_content,$path, - $new_fn)); - } else { + $new_fn)); + unless ($env{'form.associate'}) { + $r->print(&Apache::portfolio::done("return",'/adm/portfolio')); + return; + } + } elsif ($fn =~ m|^$Apache::lonnet::perlvar{'lonDocRoot'}/userfiles/groups/\w+/portfolio/|) { + my ($path, $new_fn) = ($fn =~ m|/(groups/\w+/portfolio.*)/([^/]*)$|); + $r->print(&store_portfolio_metadata($formname,$file_content,$path,$new_fn)); + unless ($env{'form.associate'}) { + $r->print(&Apache::portfolio::done("return",'/adm/portfolio')); + return; + } + } else { if (! ($mfh=Apache::File->new('>'.$fn))) { $r->print('

'. &mt('Could not write metadata').', '. @@ -1308,22 +1309,27 @@ ENDEDIT ' '.&Apache::lonlocal::locallocaltime(time). '

'); } + unless ($env{'form.associate'}) { + $r->print(&Apache::portfolio::done("return",'/adm/portfolio')); + return; + } } } $r->print($output.'
'); + &mt('Store Catalog Information').'" />'); if ($file_type eq 'portfolio') { my ($port_path,$group) = &get_port_path_and_group($uri); if ($group) { $r->print(''); } + $r->print(''); $r->print(' -

'. +

'. ''. ''. - ''); + ''); } }