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.html30
1 files changed, 28 insertions, 2 deletions
diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html
index 59ad35ee4..7cae78bfc 100644
--- a/httemplate/edit/process/elements/process.html
+++ b/httemplate/edit/process/elements/process.html
@@ -5,6 +5,7 @@
###
##req
##
+ #
# 'table' =>
#
# #? 'primary_key' => #required when the dbdef doesn't know...???
@@ -13,10 +14,24 @@
###
##opt
###
+ #
# 'viewall_dir' => '', #'search' or 'browse', defaults to 'search'
+ # OR
+ # 'redirect' => 'view/table.cgi?', # value of primary key is appended
+ #
+ # 'edit_ext' => 'html', #defaults to 'html', you might want 'cgi' while the
+ # #naming is still inconsistent
+ #
# 'process_m2m' => { 'link_table' => 'link_table_name',
# 'target_table' => 'target_table_name',
- # }.
+ # },
+ # 'process_m2name' => { 'link_table' => 'link_table_name',
+ # 'link_static' => { 'column' => 'value' },
+ # 'num_col' => 'column', #if column name is different in
+ # #link_table than source_table
+ # 'name_col' => 'name_column',
+ # 'names_list' => [ 'list', 'names' ],
+ # },
my(%opt) = @_;
@@ -52,9 +67,20 @@
);
}
+ if ( !$error && $opt{'process_m2name'} ) {
+ $error = $new->process_m2name( %{ $opt{'process_m2name'} },
+ 'params' => scalar($cgi->Vars),
+ );
+ }
+
+ # XXX print?!?!
+
if ( $error ) {
$cgi->param('error', $error);
- print $cgi->redirect(popurl(2). "$table.html?". $cgi->query_string );
+ my $edit_ext = $opt{'edit_ext'} || 'html';
+ print $cgi->redirect(popurl(2). "$table.$edit_ext?". $cgi->query_string );
+ } elsif ( $opt{'redirect'} ) {
+ print $cgi->redirect( $opt{'redirect'}. $pkeyvalue );
} else {
print $cgi->redirect( popurl(3).
( $opt{'viewall_dir'} || 'search' ).