diff options
author | ivan <ivan> | 2006-12-29 08:51:34 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-12-29 08:51:34 +0000 |
commit | 633c48448d9468690b7ad77eb6ff7c660a286658 (patch) | |
tree | 4e08051f8d805e7e95c8dffe5e3e73b0c360f965 /httemplate/edit/elements | |
parent | 6cb5c702b17b98be46adea4539e15d5f312e5be1 (diff) |
service refactor!
Diffstat (limited to 'httemplate/edit/elements')
-rw-r--r-- | httemplate/edit/elements/edit.html | 18 | ||||
-rw-r--r-- | httemplate/edit/elements/svc_Common.html | 16 |
2 files changed, 23 insertions, 11 deletions
diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index c2ea22f27..17c5ad3eb 100644 --- a/httemplate/edit/elements/edit.html +++ b/httemplate/edit/elements/edit.html @@ -53,6 +53,9 @@ % # # ... % # "html_string"; % # }, +% # +% # # overrides default popurl(1)."process/$table.html" +% # 'post_url' => popurl(1).'process/something', % % my(%opt) = @_; % @@ -77,9 +80,14 @@ % % } elsif ( $cgi->keywords || $cgi->param($pkey) ) { #editing % -% my( $query ) = $cgi->keywords; -% $query = $cgi->param($pkey) unless $query; -% $query =~ /^(\d+)$/; +% my $value; +% if ( $cgi->param($pkey) ) { +% $value = $cgi->param($pkey) +% } else { +% my( $query ) = $cgi->keywords; +% $value = $query; +% } +% $value =~ /^(\d+)$/ or die "unparsable $pkey"; % $object = qsearchs( $table, { $pkey => $1 } ); % warn "$table $pkey => $1" % if $opt{'debug'}; @@ -129,8 +137,10 @@ <BR><BR> % } +% my $url = $opt{'post_url'} || popurl(1)."process/$table.html"; -<FORM ACTION="<% popurl(1) %>process/<% $table %>.html" METHOD=POST> +<FORM ACTION="<% $url %>" METHOD=POST> +<INPUT TYPE="hidden" NAME="svcdb" VALUE="<% $table %>"> <INPUT TYPE="hidden" NAME="<% $pkey %>" VALUE="<% $object->$pkey() %>"> <% ( $opt{labels} && exists $opt{labels}->{$pkey} ) ? $opt{labels}->{$pkey} diff --git a/httemplate/edit/elements/svc_Common.html b/httemplate/edit/elements/svc_Common.html index da59cc9ed..1fd66c251 100644 --- a/httemplate/edit/elements/svc_Common.html +++ b/httemplate/edit/elements/svc_Common.html @@ -1,19 +1,21 @@ % -% % my %opt = @_; % % #my( $svcnum, $pkgnum, $svcpart, $part_svc ); % my( $pkgnum, $svcpart, $part_svc ); % % #get & untaint pkgnum & svcpart -% my($query) = $cgi->keywords; #they're not proper cgi params -% if ( $query =~ /^pkgnum(\d+)-svcpart(\d+)$/ ) { -% $pkgnum = $1; -% $svcpart = $2; -% $cgi->delete_all(); #so the standard edit.html treats this correctly as new +% if ( ! $cgi->param('error') +% && $cgi->param('pkgnum') && $cgi->param('svcpart') +% ) +% { +% $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum'; +% $pkgnum = $1; +% $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart'; +% $svcpart = $1; +% $cgi->delete_all(); #so edit.html treats this correctly as new?? % } % -% <% include( 'edit.html', 'menubar' => [], |