Bug 24591: Add developer script to preview a letter
[koha.git] / misc / devel / get_prepared_letter.pl
diff --git a/misc/devel/get_prepared_letter.pl b/misc/devel/get_prepared_letter.pl
new file mode 100755 (executable)
index 0000000..c6f3101
--- /dev/null
@@ -0,0 +1,56 @@
+#!/usr/bin/perl
+
+# Copyright 2020 BibLibre
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, see <http://www.gnu.org/licenses>.
+
+use Modern::Perl;
+
+use Getopt::Long;
+use JSON;
+
+use C4::Letters;
+
+my ( $module, $letter_code, $branchcode, $message_transport_type, $lang,
+    $repeat, $tables, $loops );
+
+GetOptions(
+    'module=s'                 => \$module,
+    'letter-code=s'            => \$letter_code,
+    'branchcode=s'             => \$branchcode,
+    'message-transport-type=s' => \$message_transport_type,
+    'lang=s'                   => \$lang,
+    'repeat=s'                 => \$repeat,
+    'tables=s'                 => \$tables,
+    'loops=s'                  => \$loops,
+) or die "Error in command line arguments\n";
+
+$repeat = $repeat ? decode_json($repeat) : {};
+$tables = $tables ? decode_json($tables) : {};
+$loops  = $loops  ? decode_json($loops)  : {};
+
+my $letter = C4::Letters::GetPreparedLetter(
+    module                 => $module,
+    letter_code            => $letter_code,
+    branchcode             => $branchcode,
+    message_transport_type => $message_transport_type,
+    lang                   => $lang,
+    repeat                 => $repeat,
+    tables                 => $tables,
+    loops                  => $loops,
+);
+
+print "Subject: " . $letter->{title} . "\n\n";
+print $letter->{content} . "\n";