From: Moritz Bunkus Date: Thu, 18 Aug 2016 08:15:06 +0000 (+0200) Subject: Pflichtenheft: Zugriff auf nicht vorhandenes »visible_item« verhindern X-Git-Tag: release-3.5.4~2129 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=19f44ce2841706aff96243bdd7969cd6cf4241ee;p=kivitendo-erp.git Pflichtenheft: Zugriff auf nicht vorhandenes »visible_item« verhindern 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. --- 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: