summaryrefslogtreecommitdiff
path: root/FS/FS/part_svc.pm
diff options
context:
space:
mode:
authorivan <ivan>2009-10-28 18:16:57 +0000
committerivan <ivan>2009-10-28 18:16:57 +0000
commit57f5975a062022e280680feed1f692f3e937414b (patch)
tree3d44e404094330af456e235a17e1e92258422bc7 /FS/FS/part_svc.pm
parent3f596ab410502f4c1f7074ad732631bd73d5de79 (diff)
fix removing a flag from a service definition column
Diffstat (limited to 'FS/FS/part_svc.pm')
-rw-r--r--FS/FS/part_svc.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm
index e57efe4..db39ea9 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)