summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/elements/process.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/edit/process/elements/process.html')
-rw-r--r--httemplate/edit/process/elements/process.html82
1 files changed, 52 insertions, 30 deletions
diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html
index 19d3fbef1..a671ca118 100644
--- a/httemplate/edit/process/elements/process.html
+++ b/httemplate/edit/process/elements/process.html
@@ -17,9 +17,11 @@ Example:
# optional
###
- 'viewall_dir' => '', #'search' or 'browse', defaults to 'search'
+ 'viewall_dir' => '', #'search' or 'browse', defaults to 'search'
OR
- 'redirect' => 'view/table.cgi?', # value of primary key is appended
+ 'redirect' => 'view/table.cgi?', # value of primary key is appended
+ OR
+ 'popup_reload' => 'Momentary success message', #will reload parent window
'error_redirect' => popurl(2).'edit/table.cgi?', #query string appended
@@ -60,6 +62,54 @@ Example:
)
</%doc>
+%if ( $error ) {
+%
+% my $edit_ext = $opt{'edit_ext'} || 'html';
+% my $url = $opt{'error_redirect'} || popurl(2)."$table.$edit_ext";
+% if ( length($cgi->query_string) > 1920 ) { #stupid IE 2083 URL limit
+%
+% my $session = int(rand(4294967296)); #XXX
+% my $pref = new FS::access_user_pref({
+% 'usernum' => $FS::CurrentUser::CurrentUser->usernum,
+% 'prefname' => "redirect$session",
+% 'prefvalue' => $cgi->query_string,
+% 'expiration' => time + 3600, #1h? 1m?
+% });
+% my $pref_error = $pref->insert;
+% if ( $pref_error ) {
+% die "FATAL: couldn't even set redirect cookie: $pref_error".
+% " attempting to set redirect$session to ". $cgi->query_string."\n";
+% }
+%
+<% $cgi->redirect("$url?redirect=$session") %>
+%
+% } else {
+%
+<% $cgi->redirect("$url?". $cgi->query_string ) %>
+%
+% }
+%
+% #different ways of handling success
+%
+%} elsif ( $opt{'popup_reload'} ) {
+
+ <% include('/elements/header-popup.html', $opt{'popup_reload'} ) %>
+
+ <SCRIPT TYPE="text/javascript">
+ window.top.location.reload();
+ </SCRIPT>
+
+ </BODY>
+ </HTML>
+
+%} elsif ( $opt{'redirect'} ) {
+%
+<% $cgi->redirect( $opt{'redirect'}. $pkeyvalue ) %>
+%
+%} else {
+%
+<% $cgi->redirect( popurl(3). ($opt{viewall_dir}||'search'). "/$table.html" ) %>
+%}
<%once>
my $me = 'process.html:';
@@ -162,7 +212,6 @@ if ( !$error && $opt{'process_m2name'} ) {
);
}
-# XXX print?!?!
if ( $error ) {
$cgi->param('error', $error);
@@ -171,33 +220,6 @@ if ( $error ) {
$cgi->param($field, '')
}
}
- my $edit_ext = $opt{'edit_ext'} || 'html';
- my $url = $opt{'error_redirect'} || popurl(2)."$table.$edit_ext";
- if ( length($cgi->query_string) > 1920 ) { #stupid IE 2083 URL limit
-
- my $session = int(rand(4294967296)); #XXX
- my $pref = new FS::access_user_pref({
- 'usernum' => $FS::CurrentUser::CurrentUser->usernum,
- 'prefname' => "redirect$session",
- 'prefvalue' => $cgi->query_string,
- 'expiration' => time + 3600, #1h? 1m?
- });
- my $pref_error = $pref->insert;
- if ( $pref_error ) {
- die "FATAL: couldn't even set redirect cookie: $pref_error".
- " attempting to set redirect$session to ". $cgi->query_string."\n";
- }
- print $cgi->redirect("$url?redirect=$session");
- } else {
- print $cgi->redirect("$url?". $cgi->query_string );
- }
-} elsif ( $opt{'redirect'} ) {
- print $cgi->redirect( $opt{'redirect'}. $pkeyvalue );
-} else {
- print $cgi->redirect( popurl(3).
- ( $opt{'viewall_dir'} || 'search' ).
- "/$table.html"
- );
}
</%init>