X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_svc_column.pm;h=d467516ed1e77bd2fcb4056d8761d6613c378ef6;hp=f5b39c0491eab6bccc090e046d957a276233af7c;hb=aed8ec35ccb9cdeb7ea0cb6ff2946f9d83d582f6;hpb=624b2d44625f69d71175c3348cae635d580c890b diff --git a/FS/FS/part_svc_column.pm b/FS/FS/part_svc_column.pm index f5b39c049..d467516ed 100644 --- a/FS/FS/part_svc_column.pm +++ b/FS/FS/part_svc_column.pm @@ -43,7 +43,7 @@ fields are currently supported: =item columnvalue - default or fixed value for the column -=item columnflag - null or empty (no default), `D' for default, `F' for fixed (unchangeable), `S' for selectable choice, `M' for manual selection from inventory, or `A' for automatic selection from inventory. For virtual fields, can also be 'X' for excluded. +=item columnflag - null or empty (no default), `D' for default, `F' for fixed (unchangeable), `S' for selectable choice, `M' for manual selection from inventory, `A' for automatic selection from inventory, or `H' for selection from a hardware class. For virtual fields, can also be 'X' for excluded. =back @@ -94,15 +94,19 @@ sub check { ; return $error if $error; - $self->columnflag =~ /^([DFSMAX]?)$/ + $self->columnflag =~ /^([DFSMAHX]?)$/ or return "illegal columnflag ". $self->columnflag; $self->columnflag(uc($1)); if ( $self->columnflag =~ /^[MA]$/ ) { $error = $self->ut_foreign_key( 'columnvalue', 'inventory_class', 'classnum' ); - return $error if $error; } + if ( $self->columnflag eq 'H' ) { + $error = + $self->ut_foreign_key( 'columnvalue', 'hardware_class', 'classnum' ); + } + return $error if $error; $self->SUPER::check; }