summaryrefslogtreecommitdiff
path: root/httemplate/browse/did_order.html
blob: 363a20108bc3979894eba19a27009117c35f4270 (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
104
105
106
107
<% include( 'elements/browse.html',
                 'title'       => 'Bulk DID Orders',
                 'html_init'   => qq!<A HREF="${p}edit/did_order.html"><I>Add a bulk DID order</I></A><BR><BR>!,
                 'name'        => 'bulk DID orders',
                 'disableable' => 0,
                 'query'       => { 'table'     => 'did_order',
				                    'addl_from' => 'left join did_vendor using (vendornum) ',
                                    'hashref'   => {},
                                    'order_by' => 'ORDER BY ordernum',
                                  },
                 'count_query' => 'SELECT COUNT(*) FROM did_order',
                 'header'      => [ '#', 'Vendor',' Vendor Order #', 
                                    'Submitted', 'Confirmed', 'Customer',
                                    'Received', 'Provision', 'Cancel',
                                  ],
                 'fields'      => [ sub {
                                        my $did_order = shift;
                                        $did_order->ordernum;
                                    }, 
                                    'vendorname', 
                                    'vendor_order_id', 
                                    sub { &$display_date(shift->submitted); },
                                    sub {
                                        my $did_order = shift;
                                        my $ordernum = $did_order->ordernum;
                                        return &$display_date($did_order->confirmed) 
                                            if $did_order->confirmed;
                                        include( '/elements/popup_link.html',
                                          { 'action'      => "${p}misc/did_order_confirm.html?ordernum=$ordernum",
                                            'label'       => 'Confirm',
                                            'actionlabel' => 'Confirm Bulk DID Order',
                                            'width'       => 480,
                                            'height'      => 300,
                                          }
                                        )
                                    }, 
                                    sub {
                                        my $did_order = shift;
                                        my $cust_main = $did_order->cust_main;
                                        return "Stock" unless $cust_main;
                                        "<A HREF='${p}view/cust_main.cgi?".$cust_main->custnum."'>".$cust_main->name."</A>";
                                    },
                                    sub { 
                                        my $did_order = shift;
                                        my $ordernum = $did_order->ordernum;
                                        return &$display_date($did_order->received) 
                                            if $did_order->received;
                                        "<A HREF='${p}misc/phone_avail-import.html?ordernum=$ordernum'>Upload Received</A>";
                                    },
                                    sub {
                                        my $did_order = shift;
                                        my $ordernum = $did_order->ordernum;
                                        my @provisioned = 
                                            qsearch({ table   => 'phone_avail',
                                                      hashref => { 'ordernum' => $ordernum, },
                                                      select  => 'phone_avail.*',
                                                      extra_sql => ' and svcnum is not null ',
                                                    });
                                        return '' 
                                            unless $did_order->received 
                                                        && $did_order->custnum
                                                        && !scalar(@provisioned);
                                        include( '/elements/popup_link.html',
                                          { 'action'      => "${p}misc/did_order_provision.html?ordernum=".$did_order->ordernum,
                                            'label'       => 'Provision All DIDs',
                                            'actionlabel' => 'Bulk DID order - DID provisioning',
                                            'width'       => 520,
                                            'height'      => 300,
                                          }
                                        )
                                    },
                                    sub {
                                        my $did_order = shift;
                                        return '' unless !$did_order->received;
                                        qq!<A HREF="javascript:areyousure('${p}misc/did_order_confirmed.html?action=cancel;ordernum=!
                                        . $did_order->ordernum . qq!', 'Cancel this order (#!
                                        . $did_order->ordernum . qq!)?')">Cancel</A>!
                                    },
                                  ],
                 'links'       => [
                                    [ $p.'edit/did_order.html?', 'ordernum' ],
				                  ],
                 'html_foot' => '
                            <script type="text/javascript">
                                function areyousure(href,msg) {
                                    if (confirm(msg))
                                        window.location.href = href;
                                }
                            </script>
                                ',
             )
%>
<%init>

die "access denied"
  unless $FS::CurrentUser::CurrentUser->access_right('Import');

my $conf = new FS::Conf;
my $date_format = $conf->config('date_format') || '%m/%d/%Y';

my $display_date = sub {
    my $date = shift;
    return '' unless $date;
    time2str($date_format, $date);
};

</%init>