X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/72b340de2352eec7d3f99a00e2141a2df35f07f3..8b7b7b3f6252786b38bb6c9357fc00a08750b8db:/SL/DB/CsvImportProfile.pm diff --git a/SL/DB/CsvImportProfile.pm b/SL/DB/CsvImportProfile.pm index ea7b4fe28..21dd4842d 100644 --- a/SL/DB/CsvImportProfile.pm +++ b/SL/DB/CsvImportProfile.pm @@ -4,7 +4,8 @@ use strict; use List::Util qw(first); -use SL::DB::MetaSetup::CsvImportProfile; +require SL::DB::MetaSetup::CsvImportProfile; +use Rose::DB::Object::Helpers qw(clone_and_reset); __PACKAGE__->meta->add_relationship( settings => { @@ -94,6 +95,24 @@ sub _set_defaults { return $self; } +sub clone_and_reset_deep { + my ($self) = @_; + + my $clone = $self->clone_and_reset; + $clone->settings(map { $_->clone_and_reset } $self->settings); + $clone->name(''); + + return $clone; +} + +sub flatten { + my ($self) = @_; + + return map { + $_->key => $_->value + } $self->settings; +} + # # hooks #