)
</%doc>
-<% $devices %>
+%if ( @devices || $num_part_device || $table eq 'dsl_device' ) {
+% my $svcnum = $svc_x->svcnum;
+
+ <FONT CLASS="fsinnerbox-title">Devices</FONT>
+ (<A HREF="<%$p%>edit/<%$table%>.html?svcnum=<%$svcnum%>">Add device</A>)
+ <BR>
+
+% if ( @devices ) {
+
+ <SCRIPT>
+ function areyousure(href) {
+ if (confirm("Are you sure you want to delete this device?") == true)
+ window.location.href = href;
+ }
+ </SCRIPT>
+
+ <& /elements/table-grid.html &>
+ <TR>
+% if ( $table ne 'dsl_device' ) { # ( $table eq 'phone_device' || $table eq 'cable_device' || $table eq 'pbx_device' ) {
+ <TH CLASS="grid" BGCOLOR="#cccccc">Type</TH>
+% }
+ <TH CLASS="grid" BGCOLOR="#cccccc">MAC Addr</TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc"></TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc"></TH>
+ </TR>
+
+% my $bgcolor1 = '#eeeeee';
+% my $bgcolor2 = '#ffffff';
+% my $bgcolor = '';
+%
+% foreach my $device ( @devices ) {
+%
+% if ( $bgcolor eq $bgcolor1 ) {
+% $bgcolor = $bgcolor2;
+% } else {
+% $bgcolor = $bgcolor1;
+% }
+%
+% my $td = qq(<TD CLASS="grid" BGCOLOR="$bgcolor">);
+%
+% my $devicenum = $device->devicenum;
+% my $export_links = '';
+% $export_links = join( '<BR>', @{ $device->export_links } )
+% if $device->can('export_links');
+
+ <TR>
+% #$devices->can('part_device')
+% if ( $table eq 'phone_device' || $svc_x->isa('FS::device_Common') ) {
+ <% $td %><% $device->part_device->devicename |h %></TD>
+% }
+ <% $td %><% $device->mac_addr_pretty %>
+% my $vendor = Net::MAC::Vendor::lookup($device->mac_addr_formatted('U',':'));
+ (<% $vendor ? $vendor->[0] : '' %>)
+ </TD>
+ <% $td %><% $export_links %></TD>
+ <% $td %>(
+% unless ( $opt{'no_edit'} ) {
+ <A HREF="<%$p%>edit/<%$table%>.html?<%$devicenum%>">edit</A> |
+% }
+ <A HREF="javascript:areyousure('<%$p%>misc/delete-<%$table%>.html?<%$devicenum%>')">delete</A>
+ )</TD>
+ </TR>
+% }
+ </TABLE>
+ <BR>
+
+% }
+ <BR>
+%}
<%init>
- my %opt = @_;
- my $table = $opt{'table'}; #part_device, dsl_device
- my $svc_x = $opt{'svc_x'};
-
- my $devices = '';
-
- my $num_part_device = 0;
- if ( $table eq 'phone_device' ) {
- my $sth = dbh->prepare("SELECT COUNT(*) FROM part_device")
- #WHERE disabled = '' OR disabled IS NULL;");
- or die dbh->errstr;
- $sth->execute or die $sth->errstr;
- $num_part_device = $sth->fetchrow_arrayref->[0];
+my %opt = @_;
+my $table = $opt{'table'}; #part_device, dsl_device
+my $svc_x = $opt{'svc_x'};
+
+my $num_part_device = 0;
+if ( $table ne 'dsl_device' ) { # ( $table eq 'phone_device' || $table eq 'cable_device' || $table eq 'pbx_device' ) {
+ my $sth = dbh->prepare("SELECT COUNT(*) FROM part_device")
+ #WHERE disabled = '' OR disabled IS NULL;");
+ or die dbh->errstr;
+ $sth->execute or die $sth->errstr;
+ $num_part_device = $sth->fetchrow_arrayref->[0];
}
- my @devices = $svc_x->$table();
-
- #should move the below to proper mason code above instead of making $devices
- if ( @devices || $num_part_device || $table eq 'dsl_device' ) {
- my $svcnum = $svc_x->svcnum;
- $devices .=
- qq[Devices (<A HREF="${p}edit/$table.html?svcnum=$svcnum">Add device</A>)<BR>];
- if ( @devices ) {
-
- $devices .= qq!
- <SCRIPT>
- function areyousure(href) {
- if (confirm("Are you sure you want to delete this device?") == true)
- window.location.href = href;
- }
- </SCRIPT>
- !;
-
-
- $devices .=
- include('/elements/table-grid.html').
- '<TR>';
-
- $devices .=
- '<TH CLASS="grid" BGCOLOR="#cccccc">Type</TH>'
- if $table eq 'phone_device';
-
- $devices .=
- '<TH CLASS="grid" BGCOLOR="#cccccc">MAC Addr</TH>'.
- '<TH CLASS="grid" BGCOLOR="#cccccc"></TH>'.
- '<TH CLASS="grid" BGCOLOR="#cccccc"></TH>'.
- '</TR>';
- my $bgcolor1 = '#eeeeee';
- my $bgcolor2 = '#ffffff';
- my $bgcolor = '';
-
- foreach my $device ( @devices ) {
-
- if ( $bgcolor eq $bgcolor1 ) {
- $bgcolor = $bgcolor2;
- } else {
- $bgcolor = $bgcolor1;
- }
- my $td = qq(<TD CLASS="grid" BGCOLOR="$bgcolor">);
-
- my $devicenum = $device->devicenum;
- my $export_links = join( '<BR>', @{ $device->export_links } )
- if $device->can('export_links');
-
- $devices .= '<TR>';
- $devices .= $td. $device->part_device->devicename. '</TD>'
- if $table eq 'phone_device'; #$devices->can('part_device');
-
- $devices .= $td. $device->mac_addr. '</TD>'.
- $td. $export_links. '</TD>'.
- "$td( ";
-
- $devices .= qq(<A HREF="${p}edit/$table.html?$devicenum">edit</A> | )
- unless $opt{'no_edit'};
-
- $devices .= qq(<A HREF="javascript:areyousure('${p}misc/delete-$table.html?$devicenum')">delete</A>).
- ' )</TD>'.
- '</TR>';
- }
- $devices .= '</TABLE><BR>';
- }
- $devices .= '<BR>';
- }
+my @devices = $svc_x->isa('FS::device_Common') ? $svc_x->device_objects()
+ : $table ? $svc_x->$table()
+ : ();
</%init>