X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fdid_order.html;h=25e38c72ef6de29563a73f4f86540cb0d9d51ac4;hp=a9bece9b13339275b886b89a3ee321219a075468;hb=31f2e890b5b3e1b0ad29a877ff67bc641ea1fc40;hpb=2daf4c6c460e66d67839ad48f4b050be181e109f diff --git a/httemplate/edit/did_order.html b/httemplate/edit/did_order.html index a9bece9b1..25e38c72e 100644 --- a/httemplate/edit/did_order.html +++ b/httemplate/edit/did_order.html @@ -6,39 +6,54 @@ table => 'did_vendor', disable_empty => 1, }, - 'vendor_order_id', - 'msa', - { field => 'latanum', - type => 'select-table', - name_col => 'description', - table => 'lata', - disable_empty => 1, - label_showkey => 1, - }, - 'rate_center', - { field => 'state', - type => 'select-state', - country => 'US', - }, - 'quantity', + { field => 'vendor_order_id', + type => 'hidden', + }, { field => 'confirmed', - type => 'input-date-field', + type => 'hidden', }, + 'custnum', + { type => 'tablebreak-tr-title', + value => 'Order Items', + }, + { 'field' => 'orderitemnum', + 'type' => 'did_order_item', + 'o2m_table' => 'did_order_item', + 'm2_label' => 'Item', + 'm2_error_callback' => $m2_error_callback, + }, + #'msa', + #{ field => 'latanum', + # type => 'select-table', + # name_col => 'description', + # table => 'lata', + # disable_empty => 1, + # label_showkey => 1, + #}, + #'rate_center', + #{ field => 'state', + # type => 'select-state', + # country => 'US', + #}, + #'quantity', ], 'labels' => { 'ordernum' => 'Order', 'vendornum' => 'Vendor', 'vendor_order_id' => 'Vendor Order #', - 'msa' => 'MSA', - 'latanum' => 'LATA', - 'rate_center' => 'Rate Center', - 'state' => 'State', - 'quantity' => 'Quantity', + 'custnum' => 'Customer', + #'msa' => 'MSA', + #'latanum' => 'LATA', + #'rate_center' => 'Rate Center', + #'state' => 'State', + #'quantity' => 'Quantity', 'confirmed' => 'Confirmation Date', + 'orderitemnum' => 'Item', }, 'viewall_dir' => 'browse', 'table' => 'did_order', 'name' => 'Bulk DID Order', + 'field_callback' => $field_callback, ) %> @@ -47,4 +62,42 @@ die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Import'); + +my $field_callback = sub { + my ($cgi, $object, $field_hashref ) = @_; + if ($object->ordernum) { + $field_hashref->{type} = 'text' + if $field_hashref->{field} eq 'vendor_order_id'; + $field_hashref->{type} = 'input-date-field' + if $field_hashref->{field} eq 'confirmed'; + } +}; + +my $m2_error_callback = sub { + my($cgi, $object) = @_; + + #process_o2m fields in process/did_order.html + my @fields = qw( msa npa latanum rate_center state quantity ); + my @gfields = ( '', map "_$_", @fields ); + + map { + if ( /^orderitemnum(\d+)$/ ) { + my $num = $1; + if ( grep $cgi->param("orderitemnum$num$_"), @gfields ) { + my $x = new FS::did_order_item { + 'orderitemnum' => scalar($cgi->param("orderitemnum$num")), + map { $_ => scalar($cgi->param("orderitemnum${num}_$_")) } @fields, + }; + $x; + } else { + (); + } + } else { + (); + } + } + $cgi->param; +}; + +