show MAC address vendors
[freeside.git] / httemplate / view / elements / svc_devices.html
1 <%doc>
2
3 #Example:
4
5   include( 'elements/svc_devices.html',
6              #required
7              'svc_x' => $svc_phone,     #or $svc_dsl
8              'table' => 'phone_device', #or dsl_device
9
10              #optional
11              'no_edit' => 0, #set true to turn off edit link
12          )
13
14 </%doc>
15 %if ( @devices || $num_part_device || $table eq 'dsl_device' ) {
16 %  my $svcnum = $svc_x->svcnum;
17
18    <FONT CLASS="fsinnerbox-title">Devices</FONT>
19    (<A HREF="<%$p%>edit/<%$table%>.html?svcnum=<%$svcnum%>">Add device</A>)
20    <BR>
21
22 %  if ( @devices ) {
23
24      <SCRIPT>
25        function areyousure(href) {
26         if (confirm("Are you sure you want to delete this device?") == true)
27           window.location.href = href;
28        }
29      </SCRIPT>
30
31      <& /elements/table-grid.html &>
32        <TR>
33 %        if ( $table ne 'dsl_device' ) { # ( $table eq 'phone_device' || $table eq 'cable_device' || $table eq 'pbx_device' ) {
34            <TH CLASS="grid" BGCOLOR="#cccccc">Type</TH>
35 %        }
36          <TH CLASS="grid" BGCOLOR="#cccccc">MAC Addr</TH>
37          <TH CLASS="grid" BGCOLOR="#cccccc"></TH>
38          <TH CLASS="grid" BGCOLOR="#cccccc"></TH>
39        </TR>
40
41 %      my $bgcolor1 = '#eeeeee';
42 %      my $bgcolor2 = '#ffffff';
43 %      my $bgcolor = '';
44 %
45 %      foreach my $device ( @devices ) {
46 %
47 %        if ( $bgcolor eq $bgcolor1 ) {
48 %          $bgcolor = $bgcolor2;
49 %        } else {
50 %          $bgcolor = $bgcolor1;
51 %        }
52 %
53 %        my $td = qq(<TD CLASS="grid" BGCOLOR="$bgcolor">);
54 %
55 %        my $devicenum = $device->devicenum;
56 %        my $export_links = '';
57 %        $export_links = join( '<BR>', @{ $device->export_links } )
58 %          if $device->can('export_links');
59
60         <TR>
61 %              #$devices->can('part_device')
62 %         if ( $table eq 'phone_device' || $svc_x->isa('FS::device_Common') ) {
63             <% $td %><% $device->part_device->devicename |h %></TD>
64 %         }
65           <% $td %><% $device->mac_addr_pretty %>
66                  (<% (Net::MAC::Vendor::lookup($device->mac_addr_formatted('U',':')))->[0] %>)
67           </TD>
68           <% $td %><% $export_links %></TD>
69           <% $td %>(
70 %           unless ( $opt{'no_edit'} ) {
71               <A HREF="<%$p%>edit/<%$table%>.html?<%$devicenum%>">edit</A> |
72 %           }
73             <A HREF="javascript:areyousure('<%$p%>misc/delete-<%$table%>.html?<%$devicenum%>')">delete</A>
74           )</TD>
75         </TR>
76 %     }
77       </TABLE>
78       <BR>
79
80 %  }
81    <BR>
82 %}
83 <%init>
84
85 my %opt = @_;
86 my $table = $opt{'table'}; #part_device, dsl_device
87 my $svc_x = $opt{'svc_x'};
88
89 my $num_part_device = 0;
90 if ( $table ne 'dsl_device' ) { # ( $table eq 'phone_device' || $table eq 'cable_device' || $table eq 'pbx_device' ) {
91   my $sth = dbh->prepare("SELECT COUNT(*) FROM part_device")
92                             #WHERE disabled = '' OR disabled IS NULL;");
93     or die dbh->errstr;
94   $sth->execute or die $sth->errstr;
95   $num_part_device = $sth->fetchrow_arrayref->[0];
96 }
97
98 my @devices = $svc_x->isa('FS::device_Common') ? $svc_x->device_objects()
99                                                : $table ? $svc_x->$table()
100                                                         : ();
101
102 </%init>