summaryrefslogtreecommitdiff
path: root/httemplate/edit/process
diff options
context:
space:
mode:
authorivan <ivan>2008-06-12 21:53:32 +0000
committerivan <ivan>2008-06-12 21:53:32 +0000
commite4fc461dd93181e8199d5cc5e2de2a11732b1bfd (patch)
treeb5eb8740bef97c085e9482eb4d773d87aae937cd /httemplate/edit/process
parent360fb1d80bf93e94cc3e3891f22693dec2ce5022 (diff)
fix cloning w/new package editor
Diffstat (limited to 'httemplate/edit/process')
-rw-r--r--httemplate/edit/process/elements/process.html25
-rwxr-xr-xhttemplate/edit/process/part_pkg.cgi9
2 files changed, 26 insertions, 8 deletions
diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html
index 7964dfa82..6f271ee29 100644
--- a/httemplate/edit/process/elements/process.html
+++ b/httemplate/edit/process/elements/process.html
@@ -20,6 +20,7 @@ Example:
'viewall_dir' => '', #'search' or 'browse', defaults to 'search'
OR
'redirect' => 'view/table.cgi?', # value of primary key is appended
+ # (string or coderef returning a string)
OR
'popup_reload' => 'Momentary success message', #will reload parent window
@@ -111,21 +112,29 @@ Example:
</BODY>
</HTML>
-%} elsif ( $opt{'redirect'} ) {
+%} else {
+%
+% $opt{'redirect'} = &{$opt{'redirect'}}($cgi, $new)
+% if ref($opt{'redirect'}) eq 'CODE';
+%
+% if ( $opt{'redirect'} ) {
%
<% $cgi->redirect( $opt{'redirect'}. $pkeyvalue ) %>
%
-%} else {
-% my $ext = $opt{'viewall_ext'} || 'html';
+% } else {
+%
+% my $ext = $opt{'viewall_ext'} || 'html';
+%
<% $cgi->redirect( popurl(3). ($opt{viewall_dir}||'search'). "/$table.$ext" ) %>
+%
+% }
+%
%}
-<%once>
-
- my $me = 'process.html:';
-
-</%once>
+%
<%init>
+my $me = 'process.html:';
+
my(%opt) = @_;
my $curuser = $FS::CurrentUser::CurrentUser;
diff --git a/httemplate/edit/process/part_pkg.cgi b/httemplate/edit/process/part_pkg.cgi
index e90dee26c..faaedf9db 100755
--- a/httemplate/edit/process/part_pkg.cgi
+++ b/httemplate/edit/process/part_pkg.cgi
@@ -1,6 +1,7 @@
<% include( 'elements/process.html',
#'debug' => 1,
'table' => 'part_pkg',
+ 'redirect' => $redirect_callback,
'viewall_dir' => 'browse',
'viewall_ext' => 'cgi',
'edit_ext' => 'cgi',
@@ -106,10 +107,18 @@ my $args_callback = sub {
'custnum_ref' => \$custnum;
}
+ warn "args: ".join('/', @args). "\n";
+
@args;
};
+my $redirect_callback = sub {
+ #my( $cgi, $new ) = @_;
+ return '' unless $custnum;
+ popurl(3). "view/cust_main.cgi?keywords=$custnum;dummy=";
+};
+
#these should probably move to @args above and be processed by part_pkg.pm...
$cgi->param('tax_override') =~ /^([\d,]+)$/;