[LON-CAPA-cvs] cvs: loncom /interface portfolio.pm

banghart lon-capa-cvs@mail.lon-capa.org
Tue, 12 Apr 2005 01:15:46 -0000


banghart		Mon Apr 11 21:15:46 2005 EDT

  Modified files:              
    /loncom/interface	portfolio.pm 
  Log:
  	Fix problems in file selection for essayresponse
  
  
Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.82 loncom/interface/portfolio.pm:1.83
--- loncom/interface/portfolio.pm:1.82	Thu Apr  7 02:56:23 2005
+++ loncom/interface/portfolio.pm	Mon Apr 11 21:15:46 2005
@@ -34,8 +34,9 @@
 # receives a file name and path stub from username/userfiles/portfolio/
 # returns an anchor tag consisting encoding filename and currentpath
 sub make_anchor {
-    my ($filename, $current_path, $current_mode, $field_name) = @_;
-    my $anchor = '<a href="/adm/portfolio?selectfile='.$filename.'&currentpath='.$current_path.'&mode='.$current_mode.'&fieldname='.$field_name.'">'.$filename.'</a>';
+    my ($filename, $current_path, $current_mode, $field_name, $continue_select) = @_;
+    if ($continue_select ne 'true') {$continue_select = 'false'};
+    my $anchor = '<a href="/adm/portfolio?selectfile='.$filename.'&currentpath='.$current_path.'&mode='.$current_mode.'&continue='.$continue_select.'&fieldname='.$field_name.'">'.$filename.'</a>';
     return $anchor;
 }
 my $dirptr=16384;
@@ -65,12 +66,12 @@
     $r->print($displayOut);
     $r->print('</td></tr></table>');
     my @tree = split (/\//,$current_path);
-    $r->print('<font size="+2">'.&make_anchor('portfolio','/',$env{"form.mode"},$env{"form.fieldname"}).'/');
+    $r->print('<font size="+2">'.&make_anchor('portfolio','/',$env{"form.mode"},$env{"form.fieldname"},$env{"form.continue"}).'/');
     if (@tree > 1){
         my $newCurrentPath = '';
         for (my $i = 1; $i< @tree; $i++){
             $newCurrentPath .= $tree[$i].'/';
-            $r->print(&make_anchor($tree[$i],'/'.$newCurrentPath, $env{"form.mode"},$env{"form.fieldname"}).'/');
+            $r->print(&make_anchor($tree[$i],'/'.$newCurrentPath, $env{"form.mode"},$env{"form.fieldname"}, $env{"form.continue"}).'/');
         }
     }
     $r->print('</font>');
@@ -132,12 +133,12 @@
                     $r->print('<tr bgcolor="#FFAA99"><td colspan="2"><img src="'.$iconpath.'folder_closed.gif"></td>');
                 }
                 $r->print('<td>Go to ...</td>');
-                $r->print('<td>'.&make_anchor($filename.'/',$current_path.$filename.'/',$env{'form.mode'},$env{"form.fieldname"}).'</td>'); 
+                $r->print('<td>'.&make_anchor($filename.'/',$current_path.$filename.'/',$env{'form.mode'},$env{"form.fieldname"},$env{'form.continue'}).'</td>'); 
                 $r->print('</tr>'); 
             } else {
                 $r->print('<tr bgcolor="#CCCCFF">');
                 if ($select_mode eq 'true'){
-                    $r->print('<td><input type="checkbox" name="selectfile" value="'.$filename.'"'); 
+                    $r->print('<td><input type="checkbox" name="checkfile" value="'.$filename.'"'); 
                     if ($$checked_files{$filename} eq 'selected') {
                         $r->print("CHECKED");
                     }
@@ -351,13 +352,15 @@
     if ($env{'form.continue'} eq 'true') {
         # here we update the selections for the currentpath
         # eventually, have to handle removing those not checked, but . . . 
-        my @items=&Apache::loncommon::get_env_multiple('form.selectfile');
-        &Apache::lonnet::save_selected_files($env{'user.name'}, $env{'form.currentpath'}, @items);
+        my @items=&Apache::loncommon::get_env_multiple('form.checkfile');
+        if (scalar(@items)){
+            &Apache::lonnet::logthis("one of the items is $items[0]");
+            &Apache::lonnet::save_selected_files($env{'user.name'}, $env{'form.currentpath'}, @items);
+        }
     } else {
-        if ($env{'form.currentpath'} eq '/') {
             #empty the file for a fresh start
-            # &Apache::lonnet::clear_selected_files($env{'user.name'});
-        }
+            &Apache::lonnet::logthis("Clearing saved files");
+            &Apache::lonnet::clear_selected_files($env{'user.name'});
     }
     my @files = &Apache::lonnet::files_not_in_path($env{'user.name'}, $env{'form.currentpath'});
     my $java_files = join ",", @files;
@@ -497,7 +500,7 @@
 							'/userfiles/portfolio';
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                             ['selectfile','currentpath','meta','lockinfo',
-					     'currentfile','action','fieldname','mode','rename']);
+					     'currentfile','action','fieldname','mode','rename','continue']);
     &Apache::loncommon::no_cache($r);
     &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;