--- loncom/interface/lonmeta.pm	2006/08/10 22:19:06	1.168
+++ loncom/interface/lonmeta.pm	2006/08/21 18:04:20	1.171
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Metadata display handler
 #
-# $Id: lonmeta.pm,v 1.168 2006/08/10 22:19:06 banghart Exp $
+# $Id: lonmeta.pm,v 1.171 2006/08/21 18:04:20 banghart Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -366,6 +366,8 @@ sub pre_select_course {
     $output = &select_course();
     $r->print($output.'<br /><input type="submit" name="store" value="'.
                   &mt('Associate Resource With Selected Course').'" />');
+    $r->print('<input type="hidden" name="currentpath" value="'.$env{'form.currentpath'}.'" />');
+    $r->print('<input type="hidden" name="associate" value="true" />');
     $r->print('</form>');
     
     my ($port_path,$group) = &get_port_path_and_group($uri);
@@ -717,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/(.*)$:) {
@@ -742,6 +744,11 @@ 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,'portfolio');    
     } elsif ($uri=~m|^/~|) { 
         # Construction space
         $r->print(&Apache::loncommon::start_page('Edit Catalog nformation',
@@ -1143,7 +1150,7 @@ sub present_editable_metadata {
 	my $goback=&mt('Back to Source File');
         $r->print(<<ENDBOMBS);
 <h1>$disuri</h1>
-<form method="post" name="defaultmeta">
+<form method="post" action="" name="defaultmeta">
 ENDBOMBS
         if ($showdel) {
 	    $r->print(<<ENDDEL);
@@ -1173,9 +1180,9 @@ ENDDEL
         }
         $r->print(<<ENDEDIT);
 <h1>$displayfile</h1>
-<form method="post" name="defaultmeta">
+<form method="post" action="" name="defaultmeta">
 ENDEDIT
-        $r->print('<script language="JavaScript">'.
+        $r->print('<script type="JavaScript">'.
                   &Apache::loncommon::browser_and_searcher_javascript().
                   '</script>');
         my %lt=&fieldnames($file_type);
@@ -1282,10 +1289,18 @@ ENDEDIT
 	    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));    
+                                                    $new_fn));
+                unless ($env{'form.associate'}) {
+                    $r->print(&Apache::portfolio::done("Return to Portfolio",'/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 to Portfolio",'/adm/portfolio'));
+                    return;
+                }  
 	    } else {
 		if (!  ($mfh=Apache::File->new('>'.$fn))) {
 		    $r->print('<p><font color="red">'.
@@ -1297,22 +1312,27 @@ ENDEDIT
 			      ' '.&Apache::lonlocal::locallocaltime(time).
 			      '</font></p>');
 		}
+                unless ($env{'form.associate'}) {
+                    $r->print(&Apache::portfolio::done("Return to Portfolio",'/adm/portfolio'));
+                    return;
+                }  
 	    }
 	}
 	
 	$r->print($output.'<br /><input type="submit" name="store" value="'.
-                  &mt('Store Catalog Information').'">');
+                  &mt('Store Catalog Information').'" />');
 
 	if ($file_type eq 'portfolio') {
 	    my ($port_path,$group) = &get_port_path_and_group($uri);
             if ($group) {
                 $r->print('<input type="hidden" name="group" value="'.$group.'" />');
             }
+            $r->print('<input type="hidden" name="currentpath" value="'.$env{'form.currentpath'}.'" />');
 	    $r->print('</form>
-               <br /><br /><form method="POST" action="'.$port_path.'">'.
+               <br /><br /><form method="post" action="'.$port_path.'">'.
 		      '<input type="hidden" name="group" value="'.$group.'" />'.
 		      '<input type="hidden" name="currentpath" value="'.$path.'" />'.
-		      '<input type="submit" name="cancel" value="'.&mt('Discard Edits and Return to Portfolio').'">');
+		      '<input type="submit" name="cancel" value="'.&mt('Discard Edits and Return to Portfolio').'" />');
 	}
     }