X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_hardware.pm;h=af6865f12ab8d5a43b7beff1c15fe464d8a42610;hb=c1bc17318fff6d7636601ef8de7fbce3734a785a;hp=b4eb8ccfa19c87064beaf3e2446b34e7c6362ac8;hpb=55a734433fe1625cecca50f85c6da3cecf7c8618;p=freeside.git diff --git a/FS/FS/svc_hardware.pm b/FS/FS/svc_hardware.pm index b4eb8ccfa..af6865f12 100644 --- a/FS/FS/svc_hardware.pm +++ b/FS/FS/svc_hardware.pm @@ -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 @@ -164,7 +168,7 @@ sub check { if ( $conf->exists('svc_hardware-check_mac_addr') ) { $hw_addr = uc($hw_addr); $hw_addr =~ /^[0-9A-F]{12}$/ - or return "Illegal (MAC address) ".$self->getfield('hw_addr'); + or return "Illegal (MAC address) '".$self->getfield('hw_addr')."'"; } $self->setfield('hw_addr', $hw_addr); @@ -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