From 19f44ce2841706aff96243bdd7969cd6cf4241ee Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Thu, 18 Aug 2016 10:15:06 +0200 Subject: [PATCH] =?utf8?q?Pflichtenheft:=20Zugriff=20auf=20nicht=20vorhand?= =?utf8?q?enes=20=C2=BBvisible=5Fitem=C2=AB=20verhindern?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Sind im Baum gerade Textblöcke ausgewählt, so liefert die Funktion »visible_item« undef zurück, weil aktuell kein Item (= Abschnitt oder Funktionsblock) sichtbar ist. Wird in so einem Moment ein Abschnitt oder Funktionsblock per Drag & Drop verschoben, so darf daher kein Zugriff auf Funktionen von »visible_item« stattfinden. Die Prüfung, ob aktuell überhaupt Abschnitte zu sehen sind, muss daher vorher erfolgen. --- SL/Controller/RequirementSpecItem.pm | 8 ++++---- doc/changelog | 7 +++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/SL/Controller/RequirementSpecItem.pm b/SL/Controller/RequirementSpecItem.pm index b7512928e..3ba774b48 100644 --- a/SL/Controller/RequirementSpecItem.pm +++ b/SL/Controller/RequirementSpecItem.pm @@ -94,14 +94,14 @@ sub action_dragged_and_dropped { $self->item->add_to_list(position => $position, reference => $::form->{dropped_id} || undef); }); - $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 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; + my $old_parent = SL::DB::RequirementSpecItem->new(id => $old_parent_id)->load; my $old_section = $old_parent->section; diff --git a/doc/changelog b/doc/changelog index af06fff6f..e0ab63a72 100644 --- a/doc/changelog +++ b/doc/changelog @@ -24,6 +24,13 @@ Administrative Änderungen beschleunigt. Dafür wird die benötigte Minimalversion von Postgres auf 9.1 angehoben. +Bugfixes: + + - Pflichtenheftmodul: Es wurde eine Fehlermeldung angezeigt, wenn im + rechten Teil des Fensters aktuell Textblöcke zu sehen sind, + während Abschnitte oder Funktionsblöcke via Drag & Drop verschoben + wurden. + 2016-07-05 - Release 3.4.1 kleinere neue Features und Detailverbesserungen: -- 2.20.1