FS/FS/msa.pm
[freeside.git] / httemplate / edit / process / did_order.html
index 0c9a3f0..a7d30c3 100644 (file)
@@ -1,11 +1,19 @@
 <% include( 'elements/process.html',
                'table'       => 'did_order',
                'viewall_dir' => 'browse',
-              'value_callback' => $value_callback,
+               'value_callback' => $value_callback,
+               'process_o2m' => {
+                    'table'  => 'did_order_item',
+                    'fields' => [ qw( msanum npa latanum ratecenternum state
+                                  quantity ) ],
+                },
            )
 %>
 <%init>
 
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Import');
+
 unless($cgi->param('submitted')) {
     $cgi->param('submitted',time);
 }
@@ -15,7 +23,16 @@ my $value_callback = sub {
      ($field =~ /ed$/ && $value !~ /^\d+$/) ? parse_datetime($value) : $value;
 };
 
-die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Import');
+my @params = $cgi->param;
+foreach my $param ( @params ) {
+    next unless $param =~ /^(orderitemnum[0-9]+)_rc_new$/;
+    my $prefix = $1;
+    my $value = $cgi->param($param);
+    next unless $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);
+}
 
 </%init>