__PACKAGE__->attr_duration(qw(time_estimation));
__PACKAGE__->before_save(\&_before_save_create_fb_number);
-__PACKAGE__->before_save(\ &_before_save_invalidate_requirement_spec_version);
+__PACKAGE__->before_save(\&_before_save_invalidate_requirement_spec_version);
__PACKAGE__->before_delete(\&_before_delete_invalidate_requirement_spec_version);
sub _before_save_create_fb_number {
sub _before_save_invalidate_requirement_spec_version {
my ($self, %params) = @_;
- return 1 if !$self->requirement_spec_id;
+ return 1 if !$self->requirement_spec_id || $self->requirement_spec->working_copy_id;
my %changed_columns = map { $_ => 1 } (Rose::DB::Object::Helpers::dirty_columns($self));
my $has_changed = !Rose::DB::Object::Util::is_in_db($self);
croak "Not a writer" if @args;
- my @children = sort { $a->position <=> $b->position } $self->children;
- return wantarray ? @children : \@children;
+ return [ sort { $a->position <=> $b->position } $self->children ];
}
sub section {
=item C<children_sorted>
-Returns an array (or an array reference depending on context) of
-direct children (not of grandchildren) for C<$self> ordered by their
-positional column in ascending order.
+Returns an array reference of direct children (not of grandchildren)
+for C<$self> ordered by their positional column in ascending order.
=item C<section>