[freeside-commits] branch master updated. 8d0e8149e7b19ad8543ac6c8c663be63dbc34762

Ivan Kohler ivan at freeside.biz
Tue Aug 11 11:12:57 PDT 2020


The branch, master has been updated
       via  8d0e8149e7b19ad8543ac6c8c663be63dbc34762 (commit)
      from  7c59a1f6e4d529f1f367a5b7e4001e2b8d4717ca (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8d0e8149e7b19ad8543ac6c8c663be63dbc34762
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Tue Aug 11 11:12:56 2020 -0700

    svc_hardware: better error messages for bad hw_addr when not validating as a MAC address, improve label display, RT#84773

diff --git a/FS/FS/svc_hardware.pm b/FS/FS/svc_hardware.pm
index aa411e039..7159f6dda 100644
--- a/FS/FS/svc_hardware.pm
+++ b/FS/FS/svc_hardware.pm
@@ -138,18 +138,18 @@ sub label {
   my @label = ();
   if (my $type = $self->hardware_type) {
     my $typenum_label = $part_svc->part_svc_column('typenum');
-    push @label, ( $typenum_label && $typenum_label->columnlabel || 'Type:' ).
-                 $type->description;
+    push @label, ( $typenum_label && $typenum_label->columnlabel || 'Type' ).
+                 ':'. $type->description;
   }
   if (my $ser = $self->serial) {
     my $serial_label = $part_svc->part_svc_column('serial');
-    push @label, ( $serial_label && $serial_label->columnlabel || 'Serial#' ).
-                 $ser;
+    push @label, ( $serial_label && $serial_label->columnlabel || 'Serial' ).
+                 '#'. $ser;
   }
   if (my $mac = $self->display_hw_addr) {
     my $hw_addr_label = $part_svc->part_svc_column('hw_addr');
-    push @label, ( $hw_addr_label && $hw_addr_label->columnlabel || 'MAC:').
-    $mac;
+    push @label, ( $hw_addr_label && $hw_addr_label->columnlabel || 'MAC').
+                 ':'. $mac;
   }
   return join(', ', @label);
 }
@@ -191,6 +191,10 @@ sub check {
     $hw_addr = uc($hw_addr);
     $hw_addr =~ /^[0-9A-F]{12}$/ 
       or return "Illegal (MAC address) '".$self->getfield('hw_addr')."'";
+  } else {
+    return "Illegal (hardware address) '".$self->getfield('hw_addr')."': ".
+           "12 alphanumeric characters maximum"
+      if length($hw_addr) > 12;
   }
   $self->setfield('hw_addr', $hw_addr);
 

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/svc_hardware.pm | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)




More information about the freeside-commits mailing list