X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/e23a8be01334e573ec40652efd9458414b9c6ebc..ea5d75b52e043fb3f0d264056df6007049d6a3fd:/SL/DB/LetterDraft.pm diff --git a/SL/DB/LetterDraft.pm b/SL/DB/LetterDraft.pm index eb4a4b65f..109010e8f 100644 --- a/SL/DB/LetterDraft.pm +++ b/SL/DB/LetterDraft.pm @@ -12,4 +12,21 @@ __PACKAGE__->meta->initialize; # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all. __PACKAGE__->meta->make_manager_class; +sub new_from_letter { + my ($class, $letter) = @_; + + my $self = $class->new; + + if (!ref $letter) { + require SL::DB::Draft; + $letter = SL::DB::Draft->new(id => $letter)->load; + } + + $self->assign_attributes(map { $_ => $letter->$_ } $letter->meta->columns); + + $self->id(undef); + + $self; +} + 1;