]> wagnertech.de Git - kivitendo-erp.git/commitdiff
SL::DBUpgrade2::Base: Spalte-zu-HTML-Funktion ausgelagert
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 10 Feb 2016 12:29:54 +0000 (13:29 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 10 Feb 2016 12:29:54 +0000 (13:29 +0100)
Damit diese Funktion auch aus anderen Datenbankupgradescripten heraus
benutzt werden kann, wurde sie nun in die Basisklasse verschoben.

SL/DBUpgrade2/Base.pm
sql/Pg-upgrade2/requirement_spec_edit_html.pl

index 594fb7fba4b07b94fa9b57783e23e172a41cafd2..024282f6534973e6d9b130c92a09274fcf491fce 100644 (file)
@@ -143,6 +143,26 @@ SQL
   $self->db_query(qq|ALTER TABLE $params{schema}."$params{table}" DROP CONSTRAINT "${_}"|) for map { $_->[0] } @{ $constraints };
 }
 
   $self->db_query(qq|ALTER TABLE $params{schema}."$params{table}" DROP CONSTRAINT "${_}"|) for map { $_->[0] } @{ $constraints };
 }
 
+sub convert_column_to_html {
+  my ($self, $table, $column) = @_;
+
+  my $sth = $self->dbh->prepare(qq|UPDATE $table SET $column = ? WHERE id = ?|) || $self->dberror;
+
+  foreach my $row (selectall_hashref_query($::form, $self->dbh, qq|SELECT id, $column FROM $table WHERE $column IS NOT NULL|)) {
+    next if !$row->{$column} || (($row->{$column} =~ m{^<[a-z]+>}) && ($row->{$column} =~ m{</[a-z]+>$}));
+
+    my $new_content = "" . $::request->presenter->escape($row->{$column});
+    $new_content    =~ s{\r}{}g;
+    $new_content    =~ s{\n\n+}{</p><p>}g;
+    $new_content    =~ s{\n}{<br />}g;
+    $new_content    =  "<p>${new_content}</p>" if $new_content;
+
+    $sth->execute($new_content, $row->{id}) if $new_content ne $row->{$column};
+  }
+
+  $sth->finish;
+}
+
 1;
 __END__
 
 1;
 __END__
 
@@ -317,6 +337,11 @@ C<acc_trans> yet.
 This method is the entry point for the actual upgrade. Each upgrade
 script must provide this method.
 
 This method is the entry point for the actual upgrade. Each upgrade
 script must provide this method.
 
+=item C<convert_column_to_html $table, $column>
+
+Converts the content of a single column from text to HTML suitable for
+use with the ckeditor.
+
 =back
 
 =head1 BUGS
 =back
 
 =head1 BUGS
index c6c7b9ff2244d8d9425f1b12fa3ca36d2249e4c2..50756530098e6019fba2e9f5143e173b6b676484 100644 (file)
@@ -10,26 +10,6 @@ use SL::DBUtils;
 
 use parent qw(SL::DBUpgrade2::Base);
 
 
 use parent qw(SL::DBUpgrade2::Base);
 
-sub convert_column {
-  my ($self, $table, $column) = @_;
-
-  my $sth = $self->dbh->prepare(qq|UPDATE $table SET $column = ? WHERE id = ?|) || $self->dberror;
-
-  foreach my $row (selectall_hashref_query($::form, $self->dbh, qq|SELECT id, $column FROM $table WHERE $column IS NOT NULL|)) {
-    next if !$row->{$column} || (($row->{$column} =~ m{^<[a-z]+>}) && ($row->{$column} =~ m{</[a-z]+>$}));
-
-    my $new_content = "" . $::request->presenter->escape($row->{$column});
-    $new_content    =~ s{\r}{}g;
-    $new_content    =~ s{\n\n+}{</p><p>}g;
-    $new_content    =~ s{\n}{<br />}g;
-    $new_content    =  "<p>${new_content}</p>" if $new_content;
-
-    $sth->execute($new_content, $row->{id}) if $new_content ne $row->{$column};
-  }
-
-  $sth->finish;
-}
-
 sub run {
   my ($self) = @_;
 
 sub run {
   my ($self) = @_;
 
@@ -41,7 +21,7 @@ sub run {
     map({ ($_ => 'longdescription') } qw(translation orderitems invoice delivery_order_items)),
   );
 
     map({ ($_ => 'longdescription') } qw(translation orderitems invoice delivery_order_items)),
   );
 
-  $self->convert_column($_, $tables{$_}) for keys %tables;
+  $self->convert_column_to_html($_, $tables{$_}) for keys %tables;
 
   return 1;
 }
 
   return 1;
 }