X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FRequirementSpec.pm;h=024e60d7b58b8fc633dbf5b4a60d1f25a16ec404;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=1cc17712f7011b6041b7c8769ccb4e48a2ed35b9;hpb=8b9174e8b54e8fda3bd8acdb6689d6ce900b32a6;p=kivitendo-erp.git diff --git a/SL/DB/RequirementSpec.pm b/SL/DB/RequirementSpec.pm index 1cc17712f..024e60d7b 100644 --- a/SL/DB/RequirementSpec.pm +++ b/SL/DB/RequirementSpec.pm @@ -145,7 +145,7 @@ sub create_copy { return $self->_create_copy(%params) if $self->db->in_transaction; my $copy; - if (!$self->db->do_transaction(sub { $copy = $self->_create_copy(%params) })) { + if (!$self->db->with_transaction(sub { $copy = $self->_create_copy(%params) })) { $::lxdebug->message(LXDebug->WARN(), "create_copy failed: " . join("\n", (split(/\n/, $self->db->error))[0..2])); return undef; } @@ -156,7 +156,7 @@ sub create_copy { sub _create_copy { my ($self, %params) = @_; - my $copy = Rose::DB::Object::Helpers::clone_and_reset($self); + my $copy = $self->clone_and_reset; $copy->copy_from($self, %params); return $copy; @@ -185,14 +185,14 @@ sub _copy_from { # Clone text blocks and pictures. my $clone_and_reset_position = sub { my ($src_obj) = @_; - my $cloned = Rose::DB::Object::Helpers::clone_and_reset($src_obj); + my $cloned = $src_obj->clone_and_reset; $cloned->position(undef); return $cloned; }; my $clone_text_block = sub { my ($text_block) = @_; - my $cloned = Rose::DB::Object::Helpers::clone_and_reset($text_block); + my $cloned = $text_block->clone_and_reset; $cloned->position(undef); $cloned->pictures([ map { $clone_and_reset_position->($_) } @{ $text_block->pictures_sorted } ]); return $cloned; @@ -220,7 +220,7 @@ sub _copy_from { my $clone_item; $clone_item = sub { my ($item) = @_; - my $cloned = Rose::DB::Object::Helpers::clone_and_reset($item); + my $cloned = $item->clone_and_reset; $cloned->requirement_spec_id($self->id); $cloned->position(undef); $cloned->fb_number(undef) if $params->{paste_template};