]> wagnertech.de Git - mfinanz.git/blobdiff - SL/DB/RequirementSpecItem.pm
Pflichtenhefte: Zeit- und Kostenschätzungsmaske
[mfinanz.git] / SL / DB / RequirementSpecItem.pm
index dc7f5c1e6d4c713c18a227ec0e564cb86ea826d6..8ed37b9d7eb9a2da224752c0b851ebff9c8049c5 100644 (file)
@@ -2,6 +2,8 @@ package SL::DB::RequirementSpecItem;
 
 use strict;
 
+use Carp;
+
 use SL::DB::MetaSetup::RequirementSpecItem;
 use SL::DB::Manager::RequirementSpecItem;
 use SL::DB::Helper::ActsAsList;
@@ -60,7 +62,7 @@ sub _before_save_create_fb_number {
 
   $self->requirement_spec->update_attributes($method => $next_number) || return 0;
 
-  my $method = 'requirement_spec_' . ($self->parent_id ? 'function_block' : 'section') . '_number_format';
+  $method    = 'requirement_spec_' . ($self->parent_id ? 'function_block' : 'section') . '_number_format';
   my $format = SL::DB::Default->get->$method;
 
   $self->fb_number(SL::PrefixedNumber->new(number => $format || 0)->set_to($next_number));
@@ -78,24 +80,28 @@ sub validate {
 }
 
 sub sorted_children {
-  my ($self) = @_;
+  my ($self, @args) = @_;
+
+  croak "Not a writer" if @args;
 
   return [ sort { $a->position <=> $b->position } @{ $self->children } ];
 }
 
-sub get_section {
-  my ($self) = @_;
+sub section {
+  my ($self, @args) = @_;
 
+  croak "Not a writer" if @args;
   $self = $self->parent while $self->parent_id;
 
   return $self;
 }
 
-sub get_type {
-  my ($self) = @_;
+sub child_type {
+  my ($self, @args) = @_;
+
+  croak "Not a writer" if @args;
 
-  return 'section' if !$self->parent_id;
-  return $self->parent->parent_id ? 'sub-function-block' : 'function-block';
+  return $self->item_type eq 'section' ? 'function-block' : 'sub-function-block';
 }
 
 1;