[LON-CAPA-cvs] cvs: loncom /interface portfolio.pm
banghart
lon-capa-cvs@mail.lon-capa.org
Sat, 11 Dec 2004 19:54:22 -0000
banghart Sat Dec 11 14:54:22 2004 EDT
Modified files:
/loncom/interface portfolio.pm
Log:
Saving work in progress.
Now not offering rename or delete actions if file is locked.
Eliminated dropdown action select, replaced with checkbox for
delete, and a 'rename' link.
Rename works with link.
Checkboxes for multiple file delete NOT WORKING yet.
Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.63 loncom/interface/portfolio.pm:1.64
--- loncom/interface/portfolio.pm:1.63 Mon Dec 6 13:13:10 2004
+++ loncom/interface/portfolio.pm Sat Dec 11 14:54:22 2004
@@ -83,12 +83,7 @@
my ($r,$current_path,$is_empty,$dir_list)=@_;
my $iconpath= $r->dir_config('lonIconsURL') . "/";
my $display_out;
- my %locked_files=&Apache::lonnet::dump('file_permissions',
- $ENV{'user.domain'},$ENV{'user.name'});
- my $locked_file;
- foreach my $key (keys %locked_files) {
- $locked_file .= $locked_files{$key}.':';
- }
+ my %locked_files = &Apache::lonnet::get_marked_as_readonly_hash ($ENV{'user.domain'},$ENV{'user.name'});
if ($is_empty && ($current_path ne '/')) {
$display_out = '<form method="post" action="/adm/portfolio">'.
'<input type="hidden" name="action" value="deletedir" />'.
@@ -103,6 +98,7 @@
$r->print('<table border="0" cellspacing="2" cellpadding="2">'.
'<tr><th>Actions</th><th> </th><th>Name</th><th>Size</th><th>Last Modified</th></tr>');
my $href_location="/uploaded/$ENV{'user.domain'}/$ENV{'user.name'}/portfolio$current_path";
+ $r->print('<form method="post" action="/adm/portfolio">');
foreach my $line (sort
{
my ($afile)=split('&',$a,2);
@@ -120,18 +116,13 @@
$r->print('</tr>');
} else {
$r->print('<tr bgcolor="#CCCCFF">');
- $r->print('<td>
- <form method="post" action="/adm/portfolio">
- <select name="action">
- <option value=""></option>
- <option value="delete">'.&mt("Delete").'</option>
- <option value="rename">'.&mt("Rename").'</option>
- </select>
- <input type="submit" name="doit" value="Go" />
- <input type="hidden" name="selectfile" value="'.$filename.'" />
- <input type="hidden" name="currentpath" value="'.$current_path.'" />
- </form>
- </td>');
+ if (exists $locked_files{$current_path.$filename}){
+ $r->print('<td>Locked</td>');
+ } else {
+ $r->print('<td>Delete<input type="checkbox" name="selectfile" value="'.$filename.'" />
+ <a href="/adm/portfolio?rename='.$filename.'&currentpath='.$current_path.'">Rename</a>
+ </td>');
+ }
$r->print('<td><img src="'.$iconpath.'unknown.gif"></td>');
$r->print('<td><a href="'.$href_location.$filename.'">'.
$filename.'</a></td>');
@@ -146,7 +137,11 @@
# $r->print(&display_directory($current_path, $currentFile, @dir_list));
# $r->print('</td>><td>');
# $r->print(&display_actions($current_path, $currentFile, $isEmpty));
- $r->print('</table></form>');
+ $r->print('</table>
+ <input type="submit" name="doit" value="Delete Checked Files" />
+ <input type="hidden" name="action" value="delete" />
+ <input type="hidden" name="currentpath" value="'.$current_path.'" />
+ </form>');
}
sub display_file_select {
my ($r,$current_path,$is_empty,$dir_list)=@_;
@@ -321,7 +316,7 @@
sub rename {
my ($r)=@_;
- my $file_name = $ENV{'form.currentpath'}.$ENV{'form.selectfile'};
+ my $file_name = $ENV{'form.currentpath'}.$ENV{'form.rename'};
if (&Apache::lonnet::is_locked($file_name,$ENV{'user.domain'},$ENV{'user.name'}) eq 'true') {
$r->print ("The file is locked and cannot be renamed.<br />");
$r->print(&done());
@@ -493,7 +488,7 @@
$r->rflush();
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['selectfile','currentpath',
- 'currentfile','action','fieldname','mode']);
+ 'currentfile','action','fieldname','mode','rename']);
if (($ENV{'form.storeupl'} eq 'Upload') & (!$ENV{'form.uploaddoc.filename'})){
$r->print('<font color="red"> No file was selected to upload.'.
'To upload a file, click <strong>Browse...</strong>'.
@@ -511,7 +506,9 @@
&delete_dir($r);
} elsif ($ENV{'form.action'} eq 'rename' && $ENV{'form.confirmed'}) {
&rename_confirmed($r);
- } elsif ($ENV{'form.action'} eq 'rename') {
+ } elsif ($ENV{'form.rename'}) {
+ $ENV{'form.selectfile'} = $ENV{'form.rename'};
+ $ENV{'form.action'} = 'rename';
&rename($r);
} elsif ($ENV{'form.createdir'}) {
&createdir($r);