summaryrefslogtreecommitdiff
path: root/FS/FS/part_svc.pm
diff options
context:
space:
mode:
authorjeff <jeff>2007-04-12 03:16:43 +0000
committerjeff <jeff>2007-04-12 03:16:43 +0000
commit0dd05e9ff98263d2d42b419b1e278a5a3bc594b2 (patch)
treeef42a5ed621c73699e3973fd14ef22abdd3a5823 /FS/FS/part_svc.pm
parentb611f02e479f4a7f9840f59f773d282b1c13b62f (diff)
input and output on data volume fields specified with k,m,g,or t
Diffstat (limited to 'FS/FS/part_svc.pm')
-rw-r--r--FS/FS/part_svc.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm
index 5b4e54c..4fae457 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);