X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fdomain_sql.pm;h=30103385b53cb578e73ce3c743d9a037f73b1943;hb=756adba649caf934f50389ef89e6b2328a8d228b;hp=bde6d9d06fda39b3f115dc5b01dbf41454d375a1;hpb=b0ef5164b6866f0844bcb84c19c4cdd7b9e8361c;p=freeside.git diff --git a/FS/FS/part_export/domain_sql.pm b/FS/FS/part_export/domain_sql.pm index bde6d9d06..30103385b 100644 --- a/FS/FS/part_export/domain_sql.pm +++ b/FS/FS/part_export/domain_sql.pm @@ -74,8 +74,13 @@ sub _export_insert { my %schema = $self->_schema_map; my %static = $self->_static_map; - my %record = ( map { $_ => $static{$_} } keys %static ), - ( map { $_ => $svc_domain->$_() } keys %schema ); + my %record = ( ( map { $_ => $static{$_} } keys %static ), + ( map { my $method = $schema{$_}; + $_ => $svc_domain->$method(); + } + keys %schema + ) + ); my $err_or_queue = $self->domain_sql_queue( @@ -94,6 +99,7 @@ sub _export_replace { my %schema = $self->_schema_map; my %static = $self->_static_map; + #my %map = (%schema, %static); my @primary_key = (); if ( $self->option('primary_key') =~ /,/ ) { @@ -102,12 +108,18 @@ sub _export_replace { push @primary_key, $old->$keymap(); } } else { + my %map = (%schema, %static); my $keymap = $map{$self->option('primary_key')}; push @primary_key, $old->$keymap(); } - my %record = ( map { $_ => $static{$_} } keys %static ), - ( map { $_ => $svc_domain->$_() } keys %schema ); + my %record = ( ( map { $_ => $static{$_} } keys %static ), + ( map { my $method = $schema{$_}; + $_ => $new->$method(); + } + keys %schema + ) + ); my $err_or_queue = $self->domain_sql_queue( $new->svcnum, @@ -125,6 +137,7 @@ sub _export_delete { my %schema = $self->_schema_map; my %static = $self->_static_map; + my %map = (%schema, %static); my %primary_key = (); if ( $self->option('primary_key') =~ /,/ ) {