summaryrefslogtreecommitdiff
path: root/httemplate/edit/did_order.html
diff options
context:
space:
mode:
authorlevinse <levinse>2011-04-06 08:24:27 +0000
committerlevinse <levinse>2011-04-06 08:24:27 +0000
commit31f2e890b5b3e1b0ad29a877ff67bc641ea1fc40 (patch)
tree1cf3150f90efb5f0cf97055743ba0d22e47b3713 /httemplate/edit/did_order.html
parent2daf4c6c460e66d67839ad48f4b050be181e109f (diff)
bulk DID order/inventory improvements, RT11291
Diffstat (limited to 'httemplate/edit/did_order.html')
-rw-r--r--httemplate/edit/did_order.html95
1 files changed, 74 insertions, 21 deletions
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;
+};
+
+
</%init>