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{[a-z]+>$}));
+
+ 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;