use Rose::Object::MakeMethods::Generic
(
scalar => [ qw(item visible_item visible_section clicked_item sections) ],
- 'scalar --get_set_init' => [ qw(complexities risks js predefined_texts) ],
+ 'scalar --get_set_init' => [ qw(complexities risks predefined_texts) ],
);
__PACKAGE__->run_before('check_auth');
my $old_type = $self->item->item_type;
my $new_type = !$dropped_item ? 'section' : $position =~ m/before|after/ ? $dropped_item->item_type : $dropped_item->child_type;
- $self->item->db->do_transaction(sub {
+ $self->item->db->with_transaction(sub {
$self->item->remove_from_list;
$self->item->parent_id($position =~ m/before|after/ ? $dropped_item->parent_id : $dropped_item->id) if $dropped_item;
$self->item->item_type($new_type);
$self->item->add_to_list(position => $position, reference => $::form->{dropped_id} || undef);
});
+ return $self->invalidate_version->render if !$old_visible_section || ($new_type eq 'section');
+
+ # From here on $old_visible_section is definitely set.
+
$self->item(SL::DB::RequirementSpecItem->new(id => $self->item->id)->load);
my $new_section = $self->item->section;
my $new_visible_section = SL::DB::RequirementSpecItem->new(id => $self->visible_item->id)->load->section;
- return $self->invalidate_version->render($self) if !$old_visible_section || ($new_type eq 'section');
-
- # From here on $old_visible_section is definitely set.
-
my $old_parent = SL::DB::RequirementSpecItem->new(id => $old_parent_id)->load;
my $old_section = $old_parent->section;
return SL::DB::Manager::RequirementSpecPredefinedText->get_all_sorted(where => [ useable_for_sections => 1 ]);
}
-sub init_js {
- my ($self) = @_;
- $self->js(SL::ClientJS->new);
-}
-
sub replace_bottom {
my ($self, $item_or_id) = @_;
$self->js->show('#sub-function-block-container-' . $parent_id) if $new_type eq 'sub-function-block';
$self->add_new_item_form(insert_position => $insert_position, insert_reference => $insert_reference, display_reference => $display_reference);
- $self->js->render($self);
+ $self->js->render;
}
sub is_item_visible {