X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fdomain_sql.pm;h=30103385b53cb578e73ce3c743d9a037f73b1943;hb=395cc72629d31c8dcd138acf423e66d2d73d89d2;hp=3dcb7a2a9459571e9c634994a6ef255b12f42343;hpb=be6d221200eda1ad6de73a32fc20ddac8d5151ff;p=freeside.git diff --git a/FS/FS/part_export/domain_sql.pm b/FS/FS/part_export/domain_sql.pm index 3dcb7a2a9..30103385b 100644 --- a/FS/FS/part_export/domain_sql.pm +++ b/FS/FS/part_export/domain_sql.pm @@ -25,13 +25,13 @@ tie my %options, 'Tie::IxHash', 'primary_key' => { label => 'Database primary key' }, ; -tie my %postfix_transport_map, +tie my %postfix_transport_map, 'Tie::IxHash', 'domain' => 'domain' ; my $postfix_transport_map = join('\n', map "$_ $postfix_transport_map{$_}", keys %postfix_transport_map ); -tie my %postfix_transport_static, +tie my %postfix_transport_static, 'Tie::IxHash', 'transport' => 'virtual:', ; my $postfix_transport_static = @@ -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') =~ /,/ ) {