X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FRecord.pm;h=24f2a25dd526008afe87510f8344ad046be5bfda;hb=8c39dadbacacbceec1bc0b6c5fbf1468b0d3cf32;hp=b226e177ba9589f8c77fd32ccc607021bc7340ad;hpb=5f8111de04a4a914c72a1642722476db4728339c;p=freeside.git diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index b226e177b..24f2a25dd 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -1127,13 +1127,27 @@ sub hashref { $self->{'Hash'}; } -#fallback +#fallbacks/generics + sub API_getinfo { my $self = shift; +{ ( map { $_=>$self->$_ } $self->fields ), }; } +sub API_insert { + my( $class, %opt ) = @_; + my $table = $class->table; + my $self = $class->new( { map { $_ => $opt{$_} } fields($table) } ); + my $error = $self->insert; + return +{ 'error' => $error } if $error; + my $pkey = $self->pkey; + return +{ 'error' => '', + 'primary_key' => $pkey, + $pkey => $self->$pkey, + }; +} + =item modified Returns true if any of this object's values have been modified with set (or via