summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/did_order.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/edit/process/did_order.html')
-rw-r--r--httemplate/edit/process/did_order.html47
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>