X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_svc.pm;h=4fae457e24be79404150be49419924f3e94bd478;hb=0dd05e9ff98263d2d42b419b1e278a5a3bc594b2;hp=5b4e54cc216aab1769520eef9a6964e6cf60ed43;hpb=b611f02e479f4a7f9840f59f773d282b1c13b62f;p=freeside.git diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm index 5b4e54cc2..4fae457e2 100644 --- a/FS/FS/part_svc.pm +++ b/FS/FS/part_svc.pm @@ -145,9 +145,11 @@ sub insert { my $flag = $self->getfield($svcdb.'__'.$field.'_flag'); #if ( uc($flag) =~ /^([DFMAX])$/ ) { if ( uc($flag) =~ /^([A-Z])$/ ) { #part_svc_column will test it + my $parser = FS::part_svc->svc_table_fields($svcdb)->{$field}->{parse} + || sub { shift }; $part_svc_column->setfield('columnflag', $1); $part_svc_column->setfield('columnvalue', - $self->getfield($svcdb.'__'.$field) + &$parser($self->getfield($svcdb.'__'.$field)) ); if ( $previous ) { $error = $part_svc_column->replace($previous); @@ -264,9 +266,11 @@ sub replace { my $flag = $new->getfield($svcdb.'__'.$field.'_flag'); #if ( uc($flag) =~ /^([DFMAX])$/ ) { if ( uc($flag) =~ /^([A-Z])$/ ) { #part_svc_column will test it + my $parser = FS::part_svc->svc_table_fields($svcdb)->{$field}->{parse} + || sub { shift }; $part_svc_column->setfield('columnflag', $1); $part_svc_column->setfield('columnvalue', - $new->getfield($svcdb.'__'.$field) + &$parser($new->getfield($svcdb.'__'.$field)) ); if ( $previous ) { $error = $part_svc_column->replace($previous);