@@ -, +, @@
- Show this first POC and get feedback from other developpers
- Add a way to easily visualise the differences between the 2 syntaxes
- Confort users with the TT syntax and the migration step from the
- Mock data to get fully working generated messages for any notice
- Browse the data to get the ones we want to use for the preview (big).
---
C4/Letters.pm | 2 +-
.../intranet-tmpl/prog/en/modules/tools/letter.tt | 101 ++++++++-
.../prog/en/modules/tools/preview_letter.tt | 52 +++++
svc/letters/preview | 248 +++++++++++++++++++++
tools/letter.pl | 4 +
5 files changed, 400 insertions(+), 7 deletions(-)
create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/tools/preview_letter.tt
create mode 100644 svc/letters/preview
--- a/C4/Letters.pm
+++ a/C4/Letters.pm
@@ -881,7 +881,7 @@ sub _parseletter {
my $values = $values_in ? { %$values_in } : {};
if ( $table eq 'borrowers' && $values->{'dateexpiry'} ){
- $values->{'dateexpiry'} = format_sqldatetime( $values->{'dateexpiry'} );
+ $values->{'dateexpiry'} = output_pref({ str => $values->{dateexpiry}, dateonly => 1 });
}
if ( $table eq 'reserves' && $values->{'waitingdate'} ) {
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt
@@ -13,6 +13,24 @@
Home › Tools › [% IF ( add_form or copy_form) %][% IF ( modify ) %]Notices & Slips › Modify notice[% ELSE %] Notices & Slips › Add notice[% END %][% ELSE %][% IF ( add_validate or copy_validate) %] Notices & Slips › Notice added[% ELSE %][% IF ( delete_confirm ) %] Notices & Slips › Confirm deletion[% ELSE %]Notices & Slips[% END %][% END %][% END %]
+
+
+
+
+
+
Preview notice template
+
+
+
Loading
+
+
+
+
+
+
[% IF add_form or copy_form %]
[% ELSE %]
[% END %]
@@ -240,6 +258,21 @@
Required
+ [% IF code and preview_is_available%]
+
+
+ [% SWITCH code %]
+ [% CASE 'CHECKIN' %]
+
+ [% CASE 'CHECKOUT' %]
+
+ [% CASE 'HOLD_SLIP' %]
+
+ [% CASE %]
+ Not supported yet.
+ [% END %]
+
+ [% END %]
[% IF Koha.Preference('TranslateNotices') %]
@@ -295,23 +328,23 @@
[% IF letter.is_html %]
-
+
[% ELSE %]
-
+
[% END %]
-
+
-
+
[% IF letter.message_transport_type == 'sms' %]
[% IF letter.content && letter.content.length > 0 %][% letter.content.length %][% ELSE %]0[% END %]/160 characters
[% END %]
+ [% END %]
[% END %]
@@ -517,6 +555,57 @@
$("#submit_form").click();
});
+ $("body").on("click", ".preview_template", function(e){
+ e.preventDefault();
+ var mtt = $(this).data("mtt");
+ var lang = $(this).data("lang");
+
+ var code = $("#code").val();
+ var content = $("#content_"+mtt+"_"+lang).val();
+ var title = $("#title_"+mtt+"_"+lang).val();
+
+ var is_html = $("#is_html_"+mtt+"_"+lang).val();
+ var page = $(this).attr("href");
+ var data_preview = $("#data_preview").val();
+ page += '?code='+encodeURIComponent(code);
+ page += '&title='+encodeURIComponent(title);
+ page += '&content='+encodeURIComponent(content);
+ page += '&data_preview='+encodeURIComponent(data_preview);
+ page += '&is_html='+encodeURIComponent(is_html);
+ $("#preview_template .modal-body").load(page + " div");
+ $('#preview_template').modal('show');
+ $("#preview_template_button").attr("href", "/cgi-bin/koha/svc/letters/convert?module="+module+"&code="+code+"&mtt="+mtt+"&lang="+lang);
+ });
+ $("#preview_template").on("hidden", function(){
+ $("#preview_template_label").html("");
+ $("#preview_template .modal-body").html("
"+_("Loading")+"
");
+ });
+ $("body").on("click", "#convert_template", function(e){
+ e.preventDefault();
+ var mtt = $(this).data("mtt");
+ var lang = $(this).data("lang");
+
+ var code = $("#code").val();
+ var content = $("#content_"+mtt+"_"+lang).val();
+ var title = $("#title_"+mtt+"_"+lang).val();
+
+ var is_html = $("#is_html_"+mtt+"_"+lang).val();
+ var page = $(this).attr("href");
+ var data_preview = $("#data_preview").val();
+ page += '?code='+encodeURIComponent(code);
+ page += '&title='+encodeURIComponent(title);
+ page += '&content='+encodeURIComponent(content);
+ page += '&data_preview='+encodeURIComponent(data_preview);
+ page += '&is_html='+encodeURIComponent(is_html);
+ $("#preview_template .modal-body").load(page + " div");
+ $('#preview_template').modal('show');
+ $("#preview_template_button").attr("href", "/cgi-bin/koha/svc/letters/convert?module="+module+"&code="+code+"&branchcode="+branchcode+"&mtt="+mtt+"&lang="+lang);
+ });
+ $("#convert_template").on("hidden", function(){
+ $("#convert_template_label").html("");
+ $("#convert_template .modal-body").html("
"+_("Loading")+"
");
+ });
+
});
[% IF add_form or copy_form %]
function cancel(f) {
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/preview_letter.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/preview_letter.tt
@@ -0,0 +1,52 @@
+[% INCLUDE 'doc-head-open.inc' %]
+Koha › Tools › Preview notice template
+
+
+
+
+ [% FOR m IN messages %]
+ [%# FIXME The message block does not appear at the top of the modal! %]
+
+ [% SWITCH m.code %]
+ [% CASE 'no_data_for_preview' %]You did not specify data for preview.
+ [% CASE 'preview_not_available' %]Preview is not available for letters '[% m.letter_code %]'.
+ [% CASE 'not_checked_in_yet' %]Do not forget that the issue has not been checked in yet.
+ [% CASE 'not_checked_out_yet' %]Do not forget that the issue has not been checked out yet.
+ [% CASE %][% m.code %]
+ [% END %]
+
+ [% END %]
+ [% IF rendered_message %]
+
+
+
+ [% END %]
+
+ [% IF tt_content %]
+
+
+
+ [% END %]
+
+
+ [% IF tt_content %]
+ [% IF messages_are_similar %]
+