[freeside-commits] branch master updated. 8ca531ca72ddffcc3561813bdd2f12f07b5911ce

Mark Wells mark at 420.am
Mon Jul 9 17:02:58 PDT 2012


The branch, master has been updated
       via  8ca531ca72ddffcc3561813bdd2f12f07b5911ce (commit)
      from  a6fe07e49e3fc12169e801b1ed6874c3a5bd8500 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8ca531ca72ddffcc3561813bdd2f12f07b5911ce
Author: Mark Wells <mark at freeside.biz>
Date:   Mon Jul 9 17:02:49 2012 -0700

    stop upgrade from corrupting message templates, #18406

diff --git a/FS/FS/msg_template.pm b/FS/FS/msg_template.pm
index ffb4f52..cac7fe5 100644
--- a/FS/FS/msg_template.pm
+++ b/FS/FS/msg_template.pm
@@ -678,10 +678,20 @@ sub _upgrade_data {
     if ( $msg_template->subject || $msg_template->body ) {
       # create new default content
       my %content;
-      foreach ('subject','body') {
-        $content{$_} = $msg_template->$_;
-        $msg_template->setfield($_, '');
+      $content{subject} = $msg_template->subject;
+      $msg_template->set('subject', '');
+
+      # work around obscure Pg/DBD bug
+      # https://rt.cpan.org/Public/Bug/Display.html?id=60200
+      # (though the right fix is to upgrade DBD)
+      my $body = $msg_template->body;
+      if ( $body =~ /^x([0-9a-f]+)$/ ) {
+        # there should be no real message templates that look like that
+        warn "converting template body to TEXT\n";
+        $body = pack('H*', $1);
       }
+      $content{body} = $body;
+      $msg_template->set('body', '');
 
       my $error = $msg_template->replace(%content);
       die $error if $error;

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/msg_template.pm |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)




More information about the freeside-commits mailing list