summaryrefslogtreecommitdiff
path: root/httemplate/edit/did_order.html
blob: 25e38c72ef6de29563a73f4f86540cb0d9d51ac4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<% include( 'elements/edit.html',
              'fields' => [
                            { field => 'vendornum',
                              type => 'select-table',
                              name_col => 'vendorname',
                              table => 'did_vendor',
                              disable_empty => 1,
                            },
                            { field => 'vendor_order_id',
			      type => 'hidden',
			    },
                            { field => 'confirmed',
                              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 #',
			    '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,
           )
          
%>
<%init>

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>