use strict;
+use Carp;
+
use SL::DB::MetaSetup::RequirementSpec;
+use SL::DB::Manager::RequirementSpec;
use SL::Locale::String;
__PACKAGE__->meta->add_relationship(
},
);
-# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
-__PACKAGE__->meta->make_manager_class;
-
__PACKAGE__->meta->initialize;
+__PACKAGE__->before_save('_before_save_initialize_not_null_columns');
+
sub validate {
my ($self) = @_;
return @errors;
}
+sub _before_save_initialize_not_null_columns {
+ my ($self) = @_;
+
+ $self->previous_section_number(0) if !defined $self->previous_section_number;
+ $self->previous_fb_number(0) if !defined $self->previous_fb_number;
+
+ return 1;
+}
+
+sub text_blocks_for_position {
+ my ($self, $output_position) = @_;
+
+ return [ sort { $a->position <=> $b->position } grep { $_->output_position == $output_position } @{ $self->text_blocks } ];
+}
+
+sub sections {
+ my ($self, @rest) = @_;
+
+ croak "This sub is not a writer" if @rest;
+
+ return [ sort { $a->position <=> $b->position } grep { !$_->parent_id } @{ $self->items } ];
+}
+
+sub displayable_name {
+ my ($self) = @_;
+
+ return sprintf('%s: "%s"', $self->type->description, $self->title);
+}
+
1;