[LON-CAPA-cvs] cvs: loncom /interface portfolio.pm
banghart
lon-capa-cvs@mail.lon-capa.org
Tue, 09 Nov 2004 21:51:14 -0000
banghart Tue Nov 9 16:51:14 2004 EDT
Modified files:
/loncom/interface portfolio.pm
Log:
Cannot rename or delete locked files. (Still need to improve
user interface to remove delete and rename options for locked
files.)
Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.54 loncom/interface/portfolio.pm:1.55
--- loncom/interface/portfolio.pm:1.54 Wed Nov 3 16:02:49 2004
+++ loncom/interface/portfolio.pm Tue Nov 9 16:51:14 2004
@@ -72,7 +72,6 @@
}
$r->print('</font>');
&Apache::lonhtmlcommon::store_recent('portfolio',$current_path,$current_path);
- #Fixme -- remove from recent those paths that are deleted
$r->print('<br /><form method=post action="/adm/portfolio">'.
&Apache::lonhtmlcommon::select_recent('portfolio','currentpath',
'this.form.submit();'));
@@ -250,9 +249,19 @@
sub delete {
my ($r)=@_;
- &open_form($r);
- $r->print('<p>'.&mt('Delete').' '.&display_file().'?</p>');
- &close_form($r);
+ my @check;
+ my $file_name = $ENV{'form.currentpath'}.$ENV{'form.selectfile'};
+ push @check, $file_name;
+ my %locked = &Apache::lonnet::get('file_permissions',\@check,
+ $ENV{'user.domain'},$ENV{'user.name'});
+ if (ref($locked{$file_name}) eq 'ARRAY') {
+ $r->print ("The file is locked and cannot be deleted.<br />");
+ $r->print(&done());
+ } else {
+ &open_form($r);
+ $r->print('<p>'.&mt('Delete').' '.&display_file().'?</p>');
+ &close_form($r);
+ }
}
sub delete_confirmed {
@@ -305,10 +314,20 @@
sub rename {
my ($r)=@_;
- &open_form($r);
- $r->print('<p>'.&mt('Rename').' '.&display_file().' to
- <input name="filenewname" type="input" size="50" />?</p>');
- &close_form($r);
+ my @check;
+ my $file_name = $ENV{'form.currentpath'}.$ENV{'form.selectfile'};
+ push @check, $file_name;
+ my %locked = &Apache::lonnet::get('file_permissions',\@check,
+ $ENV{'user.domain'},$ENV{'user.name'});
+ if (ref($locked{$file_name}) eq 'ARRAY') {
+ $r->print ("The file is locked and cannot be renamed.<br />");
+ $r->print(&done());
+ } else {
+ &open_form($r);
+ $r->print('<p>'.&mt('Rename').' '.&display_file().' to
+ <input name="filenewname" type="input" size="50" />?</p>');
+ &close_form($r);
+ }
}
sub rename_confirmed {