--- loncom/interface/lonmeta.pm 2006/08/08 21:32:36 1.166 +++ loncom/interface/lonmeta.pm 2006/08/25 23:05:52 1.173 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Metadata display handler # -# $Id: lonmeta.pm,v 1.166 2006/08/08 21:32:36 banghart Exp $ +# $Id: lonmeta.pm,v 1.173 2006/08/25 23:05:52 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -365,14 +365,20 @@ sub pre_select_course { $r->print('

'.&mt('If you would like to associate this resource ([_1]) with a current or previous course, please select one from the list below, otherwise select, \'None\'',''.$res_uri.'').'

'); $output = &select_course(); $r->print($output.'
'); + &mt('Associate Resource With Selected Course').'" />'); + $r->print(''); + $r->print(''); $r->print(''); my ($port_path,$group) = &get_port_path_and_group($uri); - $r->print('

'. + my $group_input; + if ($group) { + $group_input = ''; + } + $r->print('

'. ''. - ''. - ''. + $group_input. + ''. '
'); return; @@ -713,14 +719,14 @@ sub prettyinput { # Main Handler 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/(.*)$:) { @@ -738,6 +744,12 @@ 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', @@ -1098,7 +1110,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; @@ -1139,7 +1151,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); @@ -1188,8 +1200,12 @@ 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'})) { + (! $env{'form.new_courserestricted'}) && (! $file_type eq 'groups')) { $Apache::lonpublisher::metadatafields{'courserestricted'}= 'none'; } elsif ($env{'form.new_courserestricted'}) { @@ -1200,7 +1216,7 @@ ENDEDIT $Apache::lonpublisher::metadatafields{'copyright'}= 'default'; } - if ($file_type eq 'portfolio') { + if (($file_type eq 'portfolio') || ($file_type eq 'groups')) { if (! $Apache::lonpublisher::metadatafields{'mime'}) { ($Apache::lonpublisher::metadatafields{'mime'}) = ( $target=~/\.(\w+)$/ ); @@ -1275,14 +1291,20 @@ ENDEDIT '<>&"'). ''; } - if ($fn =~ m|^$Apache::lonnet::perlvar{'lonDocRoot'}/userfiles/portfolio/|) { - my ($path, $new_fn) = ($fn =~ m|/(portfolio.*)/([^/]*)$|); + 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.*)/([^/]*)$|); + } $r->print(&store_portfolio_metadata($formname,$file_content,$path, - $new_fn)); - } 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)); - } else { + $new_fn)); + if (! $env{'form.associate'}) { + $r->print(&Apache::portfolio::done("Return to Portfolio",'/adm/portfolio')); + return; + } + } else { if (! ($mfh=Apache::File->new('>'.$fn))) { $r->print('

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

'); } + if (! $env{'form.associate'}) { + $r->print(&Apache::portfolio::done("Return to Portfolio",'/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(' -

'. +

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