From 5da73ac30a52234cc126ead03cddaf5a4e131019 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 14 Aug 2008 11:56:07 +0000 Subject: customer import: add progress bar & redirect to a search of the imported customers, #3475 --- httemplate/elements/file-upload.html | 54 ++++++++---------- httemplate/elements/form-file_upload.html | 93 +++++++++++++++++++++++++++++++ httemplate/elements/progress-init.html | 5 +- httemplate/elements/progress-popup.html | 19 +++++-- 4 files changed, 134 insertions(+), 37 deletions(-) create mode 100644 httemplate/elements/form-file_upload.html (limited to 'httemplate/elements') diff --git a/httemplate/elements/file-upload.html b/httemplate/elements/file-upload.html index 2859a676f..023bffb1e 100644 --- a/httemplate/elements/file-upload.html +++ b/httemplate/elements/file-upload.html @@ -1,10 +1,13 @@ - - + + + + + - - % foreach (@field) { - - <% shift @label %> - - + + <% shift @label %> + + % } -
Debugging:
- -<%init> -my %param = @_; -my $debug = $param{'debug'}; +
+ Debugging:

+
-my $callback = $param{'callback'} || "''"; +<%init> -my @label = (); -if ( ref($param{'label'}) ) { - push @label, @{$param{'label'}}; -}else{ - push @label, $param{'label'}; -} +my %param = @_; -my @field = (); -if ( ref($param{'field'}) ) { - push @field, @{$param{'field'}}; -}else{ - push @field, $param{'field'}; -} +my @label = ref($param{'label'}) ? @{$param{'label'}} : ($param{'label'}); +my @field = ref($param{'field'}) ? @{$param{'field'}} : ($param{'field'}); diff --git a/httemplate/elements/form-file_upload.html b/httemplate/elements/form-file_upload.html new file mode 100644 index 000000000..f398ba42d --- /dev/null +++ b/httemplate/elements/form-file_upload.html @@ -0,0 +1,93 @@ +<%doc> + +Example: + + <% include( '/elements/form-file_upload.html', + + 'name' => 'form_name', + 'action' => 'process/target.cgi', #progress-init target + 'fields' => [ 'other', 'form', 'fields' ], + 'num_files' => 1, #or more + + 'url' => $url + #OR + 'message' => 'Message', + + #optional + 'key' => 'unique_key', #for using more than once on a page + ) + +% #... + +% # num_files=>1 + include( '/elements/file-upload.html', + 'field' => 'element', + 'label' => 'Label', + ) + +% # OR + +% # num_files=>2 # or more + include( '/elements/file-upload.html', + 'field' => [ 'element', 'element2', ], #etc. + 'label' => [ 'Label', 'Label2', ], #etc. + ) + + +%> + + + +<% include( '/elements/progress-init.html', + $opt{name}, + $opt{fields}, + $opt{action}, + $msg_or_url, + $opt{key}, + ) +%> + + + +
+ +
+ +<%init> + +#my( $formname, $fields, $action, $url_or_message, $key ) = @_; +my %opt = ref($_[0]) ? %{ $_[0] } : @_; + +my $key = exists $opt{key} ? $opt{key} : ''; + +push @{ $opt{fields} }, 'uploaded_files'; + +my $msg_or_url = $opt{message} + ? { 'message' => $opt{message}, + 'url' => $opt{url}, + } + : $opt{url}; + + diff --git a/httemplate/elements/progress-init.html b/httemplate/elements/progress-init.html index 2cde86f5b..194fc7480 100644 --- a/httemplate/elements/progress-init.html +++ b/httemplate/elements/progress-init.html @@ -73,8 +73,9 @@ $key = '' unless defined $key; my $url_or_message_link; if ( ref($url_or_message) ) { #its a message or something - $url_or_message_link = - 'message='. uri_escape( $url_or_message->{'message'} ) + $url_or_message_link = 'message='. uri_escape( $url_or_message->{'message'} ); + $url_or_message_link .= ';url='. uri_escape( $url_or_message->{'url'} ) + if $url_or_message->{'url'}; } else { $url_or_message_link = "url=$url_or_message"; } diff --git a/httemplate/elements/progress-popup.html b/httemplate/elements/progress-popup.html index cda704a12..0bd71ff4a 100644 --- a/httemplate/elements/progress-popup.html +++ b/httemplate/elements/progress-popup.html @@ -41,15 +41,24 @@ function updateStatus( status_statustext ) { //jsrsExecute( '<%$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<% $jobnum %>' ); job_status( '<% $jobnum %>', updateStatus ); } else if ( status.indexOf('complete') > -1 ) { -% if ( $message ) { +% if ( $message ) { +% +% my $onClick = $url +% ? "window.top.location.href = \\'$url\\';" +% : 'parent.nd(1);'; document.getElementById("progress_message").innerHTML = "<% $message %>"; document.getElementById("progress_bar").innerHTML = ''; - document.getElementById("progress_percent").innerHTML = ''; + document.getElementById("progress_percent").innerHTML = + ''; document.getElementById("progress_jobnum").innerHTML = ''; - if ( parent.document.<%$formname%>.submit.disabled == true ) { - parent.document.<%$formname%>.submit.disabled=false; - } + +% unless ( $url ) { + if ( parent.document.<%$formname%>.submit.disabled == true ) { + parent.document.<%$formname%>.submit.disabled=false; + } +% } + % } elsif ( $url ) { window.top.location.href = '<% $url %>'; -- cgit v1.2.1