X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_hardware.pm;h=62556ba6a6144040e71ac4b059dbebe08e3ed174;hb=53c235fd67a9ab0022bc8ea0cc35b5a4d02d2e11;hp=b28cc9ef5b131c88a1a4a9a1dbdab9fd861e431c;hpb=fd67c768f2f59f7883197889ef02bb3e1fb2b0c7;p=freeside.git diff --git a/FS/FS/svc_hardware.pm b/FS/FS/svc_hardware.pm index b28cc9ef5..62556ba6a 100644 --- a/FS/FS/svc_hardware.pm +++ b/FS/FS/svc_hardware.pm @@ -76,6 +76,7 @@ sub table_info { 'name_plural' => 'Hardware', 'display_weight' => 59, 'cancel_weight' => 86, + 'manual_require' => 1, 'fields' => { 'svcnum' => { label => 'Service' }, 'typenum' => { label => 'Device type', @@ -84,6 +85,7 @@ sub table_info { disable_fixed => 1, disable_default => 1, disable_inventory => 1, + required => 1, }, 'serial' => { label => 'Serial number', %opts }, 'hw_addr' => { label => 'Hardware address', %opts }, @@ -133,7 +135,24 @@ sub search_sql { sub label { my $self = shift; - $self->serial || $self->display_hw_addr; + my $part_svc = $self->cust_svc->part_svc; + 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; + } + if (my $ser = $self->serial) { + my $serial_label = $part_svc->part_svc_column('serial'); + 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; + } + return join(', ', @label); } =item insert