From: Moritz Bunkus Date: Wed, 29 Apr 2015 14:40:13 +0000 (+0200) Subject: »notes« in Kreditoren-/Debitorenbuchungen darf nicht HTML-formatiert sein X-Git-Tag: release-3.3.0beta~114^2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=74e6ac10824bba9b7bbca974f1e24caf6dc64cd8;p=kivitendo-erp.git »notes« in Kreditoren-/Debitorenbuchungen darf nicht HTML-formatiert sein Das Upgrade oe_ar_ap_delivery_orders_edit_notes_as_html hat versehentlich auch die Bemerkungsfelder in Debitoren- und Kreditorenbuchungen umformatiert, obwohl dort in den Masken kein HTML-Editor verwendet wird und auch nicht werden soll. Daher für alle rückgängig machen, die erzeugt wurden, bevor besagtes Update eingespielt wurde. --- diff --git a/sql/Pg-upgrade2/ar_ap_fix_notes_as_html_for_non_invoices.pl b/sql/Pg-upgrade2/ar_ap_fix_notes_as_html_for_non_invoices.pl new file mode 100644 index 000000000..4f40139e3 --- /dev/null +++ b/sql/Pg-upgrade2/ar_ap_fix_notes_as_html_for_non_invoices.pl @@ -0,0 +1,52 @@ +# @tag: ar_ap_fix_notes_as_html_for_non_invoices +# @description: Kreditoren-/Debitorenbuchungen: Bemerkungsfeld darf kein HTML sein +# @depends: oe_ar_ap_delivery_orders_edit_notes_as_html +package SL::DBUpgrade2::ar_ap_fix_notes_as_html_for_non_invoices; + +use strict; +use utf8; + +use SL::DBUtils; + +use parent qw(SL::DBUpgrade2::Base); + +sub fix_column { + my ($self, $table) = @_; + + my $sth = $self->dbh->prepare(qq|UPDATE $table SET notes = ? WHERE id = ?|) || $self->dberror; + + my $query = <dbh, $query)) { + next if !$row->{notes} || (($row->{notes} !~ m{^<[a-z]+>}) && ($row->{notes} !~ m{$})); + + my $new_content = $row->{notes}; + $new_content =~ s{^

|

$}{}gi; + $new_content =~ s{
}{\n}gi; + $new_content =~ s{

}{\n\n}gi; + $new_content = $::locale->unquote_special_chars('html', $new_content); + + $sth->execute($new_content, $row->{id}) if $new_content ne $row->{notes}; + } + + $sth->finish; +} + +sub run { + my ($self) = @_; + + $self->fix_column($_) for qw(ar ap); + + return 1; +} + +1;