From: ivan Date: Wed, 28 Oct 2009 18:16:57 +0000 (+0000) Subject: fix removing a flag from a service definition column X-Git-Tag: root_of_svc_elec_features~732 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=57f5975a062022e280680feed1f692f3e937414b fix removing a flag from a service definition column --- 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)