X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FClipboard%2FRequirementSpecTextBlock.pm;h=4b40a8e8cca595571fcac60bbf4594d004e87986;hb=d4608fb4eff9392728d1287de4df3e865ebe7f6e;hp=53333c56a264b157781be8ed58db1840f6860780;hpb=c805dfd964cc6b4d24868b1835548024363e1f0f;p=kivitendo-erp.git diff --git a/SL/Clipboard/RequirementSpecTextBlock.pm b/SL/Clipboard/RequirementSpecTextBlock.pm index 53333c56a..4b40a8e8c 100644 --- a/SL/Clipboard/RequirementSpecTextBlock.pm +++ b/SL/Clipboard/RequirementSpecTextBlock.pm @@ -4,9 +4,21 @@ use strict; use parent qw(SL::Clipboard::Base); +use SL::Clipboard::RequirementSpecPicture; use SL::Common; use SL::Locale::String; +sub dump { + my ($self, $object) = @_; + + $self->reload_object($object); + + my $tree = $self->as_tree($object, exclude => sub { ref($_[0]) !~ m/::RequirementSpecTextBlock$/ }); + $tree->{pictures} = [ map { SL::Clipboard::RequirementSpecPicture->new->dump($_) } @{ $object->pictures } ]; + + return $tree; +} + sub describe { my ($self) = @_; @@ -18,6 +30,8 @@ sub _fix_object { $object->$_(undef) for qw(output_position position requirement_spec_id); + SL::Clipboard::RequirementSpecPicture->new->_fix_object($_) for @{ $object->pictures || [] }; + return $object; } @@ -42,9 +56,17 @@ SL::DB::RequirementSpecTextBlock Returns a human-readable description including the title and an excerpt of its content. +=item C + +This specialization reloads C<$object> from the database, loads all of +its pictures and dumps it. The pictures are dumped using the clipboard +specialization for it, L. + =item C<_fix_object $object> -Fixes C<$object> by clearing certain columns like the position. +Fixes C<$object> by clearing certain columns like the position. Lets +pictures be fixed by the clipboard specialization for it, +L. =back