diff options
Diffstat (limited to 'httemplate/edit/process/did_order.html')
| -rw-r--r-- | httemplate/edit/process/did_order.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/httemplate/edit/process/did_order.html b/httemplate/edit/process/did_order.html new file mode 100644 index 000000000..23fe62bfd --- /dev/null +++ b/httemplate/edit/process/did_order.html @@ -0,0 +1,47 @@ +<% include( 'elements/process.html', + 'table' => 'did_order', + 'viewall_dir' => 'browse', + 'value_callback' => $value_callback, + 'process_o2m' => { + 'table' => 'did_order_item', + 'fields' => [ qw( msanum npa latanum ratecenternum state + quantity custnum ) ], + }, + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Import'); + +unless($cgi->param('submitted')) { + $cgi->param('submitted',time); +} + +my $value_callback = sub { + my ($field, $value) = @_; + ($field =~ /ed$/ && $value !~ /^\d+$/) ? parse_datetime($value) : $value; +}; + +my @params = $cgi->param; +foreach my $param ( @params ) { + if ( $param =~ /^(orderitemnum[0-9]+)_rc_new$/ ) { + my $prefix = $1; + my $value = $cgi->param($param); + if( $value =~ /^[A-Za-z0-9:\- ]+$/ ) { + my $rc = new FS::rate_center({ description => $value }); + my $error = $rc->insert; + die "error inserting new rate center: $error" if $error; + $cgi->param("${prefix}_ratecenternum",$rc->ratecenternum); + } + } + elsif ( $param =~ /^(orderitemnum[0-9]+)_custnum$/ ) { + my $prefix = $1; + my $value = $cgi->param($param); + if ( $value =~ /^\d+$/ ) { + $cgi->param("custnum",''); + } + } +} + +</%init> |
