From: Rob H. <for...@us...> - 2002-09-12 00:42:12
|
Update of /cvsroot/sandweb/sandweb/bin In directory usw-pr-cvs1:/tmp/cvs-serv8840/bin Modified Files: sandweb.cgi Log Message: added confirmation for file delete ( does not pay attention to config option yet ) Index: sandweb.cgi =================================================================== RCS file: /cvsroot/sandweb/sandweb/bin/sandweb.cgi,v retrieving revision 1.317 retrieving revision 1.318 diff -U2 -r1.317 -r1.318 --- sandweb.cgi 28 Aug 2002 00:13:03 -0000 1.317 +++ sandweb.cgi 12 Sep 2002 00:42:09 -0000 1.318 @@ -346,11 +346,23 @@ @filename = $cgi->param('filename'); - delete_commit( - ck_auth => $ck_auth, - filename => \@filename, - module_name => $module_name, - repo_name => $repo_name, - location => $location, - ); + if ($submit) { + delete_commit( + ck_auth => $ck_auth, + filename => \@filename, + module_name => $module_name, + repo_name => $repo_name, + location => $location, + main_window_url => $main_window_url, + ); + } else { + delete_menu( + ck_auth => $ck_auth, + filename => \@filename, + module_name => $module_name, + repo_name => $repo_name, + location => $location, + ); + } + exit; } elsif ( $action eq 'rename' ) { @@ -1301,4 +1313,88 @@ ############################################################################### +# delete menu +# +# confirms deletion of file(s) or folder(s) +# +# args: +# ck_auth - the sessions cookie +# location - system path to the file(s) specified by filename +# repo_name - name of the current repository. +# module_name - name of the current module. +# users_dir - location of user sandbox directories. +############################################################################### + +sub delete_menu { + my %args = @_; + + my $ck_auth = $args{'ck_auth'}; + my $location = $args{'location'}; + my $module_name = $args{'module_name'}; + my $repo_name = $args{'repo_name'}; + my $main_window_url = "$ENV{'HTTP_REFERER'}"; + my @filename_loop = (); + my $count = 0; + + while ( $args{'filename'}->[$count] ) { + # build loop to pass filenames through template + # + my %entry; + $entry{'FILENAME'} = $args{'filename'}->[$count]; + push (@filename_loop, \%entry); + $count++; + } + + my @filename = (); + $count = 0; + + while ( $args{'filename'}->[$count] ) { + push (@filename, $args{'filename'}->[$count]); + $count++; + } + + unless ( @filename || @filename eq '.' ) { + $log->debug("no file was selected for delete"); + my $content = $ui->get_menu( + MENU => 'output', + LOCATION => $location, + FILENAME => '', + PROGNAME => $progname, + OUTPUT => "Please select file or folders to delete", + ERROR => "No files selected", + ); + print $cgi->header( -cookie => $ck_auth ); + $ui->print_popup( + TITLE => 'SandWeb : delete', + MENU_TITLE => 'SandWeb', + SUBMENU_TITLE => 'delete', + FOOTER => '', + CONTENT => $content, + MESSAGE => $message, + ); + + exit; + } + + my $content = $ui->get_menu( + MENU => 'delete', + PROGNAME => $progname, + LOCATION => $location, + FILENAME_LOOP => \@filename_loop, + MODULE_NAME => $module_name, + REPO_NAME => $repo_name, + MAIN_WINDOW_URL => $main_window_url, + ); + print $cgi->header( -cookie => $ck_auth ); + $ui->print_popup( + TITLE => 'SandWeb : delete', + MENU_TITLE => 'SandWeb', + SUBMENU_TITLE => 'delete', + FOOTER => '', + CONTENT => $content, + MESSAGE => $message, + ); +} + +############################################################################### # rename file menu # @@ -1548,7 +1644,7 @@ my $content = $ui->get_menu( MENU => 'tag', - FILENAME_LOOP => \@filename_loop, PROGNAME => $progname, LOCATION => $location, + FILENAME_LOOP => \@filename_loop, MODULE_NAME => $module_name, REPO_NAME => $repo_name, @@ -1602,7 +1698,7 @@ my $content = $ui->get_menu( MENU => 'branch', - FILENAME_LOOP => \@filename_loop, - LOCATION => $location, PROGNAME => $progname, + LOCATION => $location, + FILENAME_LOOP => \@filename_loop, MODULE_NAME => $module_name, REPO_NAME => $repo_name, @@ -1705,5 +1801,5 @@ my $repo_name = $args{'repo_name'}; my $module_name = $args{'module_name'}; - my $prev_url = "$ENV{'HTTP_REFERER'}"; + my $main_window_url = $args{'main_window_url'}; my @filename = (); my $count = 0; @@ -1788,5 +1884,5 @@ MENU_TITLE => 'SandWeb', SUBMENU_TITLE => "delete file", - PREVIOUS_URL => $prev_url, + PREVIOUS_URL => $main_window_url, FOOTER => '', CONTENT => $content, |