diff options
author | ivan <ivan> | 2009-10-28 18:16:58 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-10-28 18:16:58 +0000 |
commit | 49abf7cdcb89e973bfcb3c2a57e05bc4692a7379 (patch) | |
tree | 2de86b7d648a03d06e7a55229a46a9bbc4659cc9 | |
parent | c310201fa58fc353dcda88197e2bebd8cdc5f5ba (diff) |
fix removing a flag from a service definition column
-rw-r--r-- | FS/FS/part_svc.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm index e57efe4d0..db39ea9ae 100644 --- a/FS/FS/part_svc.pm +++ b/FS/FS/part_svc.pm @@ -267,6 +267,7 @@ sub replace { || $new->getfield($svcdb.'__'.$_.'_label') !~ /^\s*$/ ) } (fields($svcdb),@fields) ) { + my $part_svc_column = $new->part_svc_column($field); my $previous = qsearchs('part_svc_column', { 'svcpart' => $new->svcpart, @@ -279,12 +280,15 @@ sub replace { if ( uc($flag) =~ /^([A-Z])$/ || $label !~ /^\s*$/ ) { if ( uc($flag) =~ /^([A-Z])$/ ) { + $part_svc_column->setfield('columnflag', $1); my $parser = FS::part_svc->svc_table_fields($svcdb)->{$field}->{parse} || sub { shift }; - $part_svc_column->setfield('columnflag', $1); $part_svc_column->setfield('columnvalue', &$parser($new->getfield($svcdb.'__'.$field)) ); + } else { + $part_svc_column->setfield('columnflag', ''); + $part_svc_column->setfield('columnvalue', ''); } $part_svc_column->setfield('columnlabel', $label) |