X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FRecord.pm;h=5c8a322c92af34fe9c8bdaee139a07d7efa2666e;hb=62b2ec13976bede922cbff2de75e8aab6180af39;hp=5dbcd4d4b04b8af14965be5f0ff0692333987aaa;hpb=d18a2abec5a0323c26fbc5704fb1a2675eaea352;p=freeside.git diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index 5dbcd4d4b..5c8a322c9 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -2,7 +2,7 @@ package FS::Record; use strict; use vars qw( $dbdef_file $dbdef $setup_hack $AUTOLOAD @ISA @EXPORT_OK $DEBUG - $me %dbdef_cache %virtual_fields_cache ); + $me %dbdef_cache %virtual_fields_cache $nowarn_identical ); use subs qw(reload_dbdef); use Exporter; use Carp qw(carp cluck croak confess); @@ -25,6 +25,8 @@ use Tie::IxHash; $DEBUG = 0; $me = '[FS::Record]'; +$nowarn_identical = 0; + my $conf; my $rsa_module; my $rsa_loaded; @@ -901,7 +903,9 @@ sub replace { return "Records not in same table!" unless $new->table eq $old->table; my $primary_key = $old->dbdef_table->primary_key; - return "Can't change $primary_key" + return "Can't change primary key $primary_key ". + 'from '. $old->getfield($primary_key). + ' to ' . $new->getfield($primary_key) if $primary_key && ( $old->getfield($primary_key) ne $new->getfield($primary_key) ); @@ -922,7 +926,8 @@ sub replace { ? ($_, $new->getfield($_)) : () } $old->fields; unless ( keys(%diff) ) { - carp "[warning]$me $new -> replace $old: records identical"; + carp "[warning]$me $new -> replace $old: records identical" + unless $nowarn_identical; return ''; }