show svc_hardware addresses as MAC addresses, #16266
authorMark Wells <mark@freeside.biz>
Thu, 22 Mar 2012 19:45:24 +0000 (12:45 -0700)
committerMark Wells <mark@freeside.biz>
Thu, 22 Mar 2012 19:45:24 +0000 (12:45 -0700)
FS/FS/svc_hardware.pm
httemplate/search/svc_hardware.cgi
httemplate/view/svc_hardware.cgi

index 22e6275..af6865f 100644 (file)
@@ -2,9 +2,13 @@ package FS::svc_hardware;
 
 use strict;
 use base qw( FS::svc_Common );
+use vars qw( $conf );
 use FS::Record qw( qsearch qsearchs );
 use FS::hardware_type;
 use FS::hardware_status;
+use FS::Conf;
+
+FS::UID->install_callback(sub { $conf = FS::Conf->new; });
 
 =head1 NAME
 
@@ -125,7 +129,7 @@ sub search_sql {
 
 sub label {
   my $self = shift;
-  $self->serial || $self->hw_addr;
+  $self->serial || $self->display_hw_addr;
 }
 
 =item insert
@@ -213,6 +217,18 @@ sub status_label {
   $status->label;
 }
 
+=item display_hw_addr
+
+Returns the 'hw_addr' field, formatted as a MAC address if the
+'svc_hardware-check_mac_addr' option is enabled.
+
+=cut
+
+sub display_hw_addr {
+  my $self = shift;
+  ($conf->exists('svc_hardware-check_mac_addr') ? 
+    join(':', $self->hw_addr =~ /../g) : $self->hw_addr)
+}
 
 =back
 
index 7dd0058..ec09be8 100644 (file)
@@ -19,7 +19,7 @@
                                      'model',
                                      'revision',
                                      'serial',
-                                     'hw_addr',
+                                     'display_hw_addr',
                                      'ip_addr',
                                      'smartcard',
                                      \&FS::UI::Web::cust_fields,
index 725358c..7f5e889 100644 (file)
@@ -25,19 +25,11 @@ my $note =   { field => 'note',
                type  => 'text',
                value => sub { encode_entities($_[0]->note) }
              };
-my $hw_addr ={ field => 'hw_addr',
-               type  => 'text',
-               value => sub { 
-                my $hw_addr = $_[0]->hw_addr;
-                $conf->exists('svc_hardware-check_mac_addr') ?
-                  join(':', $hw_addr =~ /../g) : $hw_addr
-                },
-              };
 
 my @fields = (
   $model,
   'serial',
-  $hw_addr,
+  'display_hw_addr',
   'ip_addr',
   'smartcard',
   $status,