View | Details | Raw Unified | Return to bug 18007
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt (-229 / +39 lines)
Lines 5-10 Link Here
5
<title>Koha &rsaquo; Tools &rsaquo; Notices[% IF ( add_form or copy_form ) %][% IF ( modify ) %] &rsaquo; Modify notice[% ELSE %] &rsaquo; Add notice[% END %][% END %][% IF ( add_validate or copy_validate) %] &rsaquo; Notice added[% END %][% IF ( delete_confirm ) %] &rsaquo; Confirm deletion[% END %]</title>
5
<title>Koha &rsaquo; Tools &rsaquo; Notices[% IF ( add_form or copy_form ) %][% IF ( modify ) %] &rsaquo; Modify notice[% ELSE %] &rsaquo; Add notice[% END %][% END %][% IF ( add_validate or copy_validate) %] &rsaquo; Notice added[% END %][% IF ( delete_confirm ) %] &rsaquo; Confirm deletion[% END %]</title>
6
[% INCLUDE 'doc-head-close.inc' %]
6
[% INCLUDE 'doc-head-close.inc' %]
7
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
7
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
8
<style type="text/css">#preview_template .modal-dialog { width : 80%; } .spinner { display: none; } @media (max-width: 767px) { #preview_template { margin: 0; width : auto; } }</style>
8
</head>
9
</head>
9
10
10
<body id="tools_letter" class="tools">
11
<body id="tools_letter" class="tools">
Lines 34-41 Link Here
34
[% IF add_form or copy_form %]<div id="doc" class="yui-t7">[% ELSE %]<div id="doc3" class="yui-t2">[% END %]
35
[% IF add_form or copy_form %]<div id="doc" class="yui-t7">[% ELSE %]<div id="doc3" class="yui-t2">[% END %]
35
   
36
   
36
   <div id="bd">
37
   <div id="bd">
37
	<div id="yui-main">
38
    <div id="yui-main">
38
	<div class="yui-b">
39
    <div class="yui-b">
39
40
40
[% IF ( no_op_set ) %]
41
[% IF ( no_op_set ) %]
41
    <h1>Notices and Slips</h1>
42
    <h1>Notices and Slips</h1>
Lines 56-65 Link Here
56
      </div>
57
      </div>
57
    </form>
58
    </form>
58
59
59
		[% IF ( search ) %]
60
        [% IF ( search ) %]
60
        <p>You searched for <b>[% searchfield | html %]</b></p>
61
        <p>You searched for <b>[% searchfield | html %]</b></p>
61
		[% END %]
62
        [% END %]
62
		[% IF ( letter && !independant_branch) %]
63
        [% IF ( letter && !independant_branch) %]
63
            [% select_for_copy = BLOCK %]
64
            [% select_for_copy = BLOCK %]
64
            <select name="branchcode">
65
            <select name="branchcode">
65
                [% FOREACH l IN Branches.all() %]
66
                [% FOREACH l IN Branches.all() %]
Lines 127-133 Link Here
127
        [% END %]
128
        [% END %]
128
[% END %]
129
[% END %]
129
130
130
	
131
[% IF add_form or copy_form %]
131
[% IF add_form or copy_form %]
132
<h1>[% IF ( modify ) %]Modify notice[% ELSE %]Add notice[% END %]</h1>
132
<h1>[% IF ( modify ) %]Modify notice[% ELSE %]Add notice[% END %]</h1>
133
133
Lines 144-163 Link Here
144
        <a class="btn btn-default btn-sm cancel" href="/cgi-bin/koha/tools/letter.pl"><i class="fa fa-remove"></i> Cancel</a>
144
        <a class="btn btn-default btn-sm cancel" href="/cgi-bin/koha/tools/letter.pl"><i class="fa fa-remove"></i> Cancel</a>
145
    </div>
145
    </div>
146
146
147
        <form id="add_notice" name="Aform" method="post" enctype="multipart/form-data" class="validate">
147
        <form id="add_notice" name="Aform" method="post" enctype="multipart/form-data">
148
        [% IF add_form %]
148
        [% IF add_form %]
149
          <input type="hidden" name="op" id="op" value="add_validate" />
149
          <input type="hidden" name="op" id="op" value="add_validate" />
150
        [% ELSE %]
150
        [% ELSE %]
151
          <input type="hidden" name="op" id="op" value="copy_validate" />
151
          <input type="hidden" name="op" id="op" value="copy_validate" />
152
        [% END %]
152
        [% END %]
153
153
154
		<input type="hidden" name="checked" value="0" />
154
        <input type="hidden" name="checked" value="0" />
155
		[% IF ( modify ) %]
155
        [% IF ( modify ) %]
156
		<input type="hidden" name="add" value="0" />
156
        <input type="hidden" name="add" value="0" />
157
		[% ELSE %]
157
        [% ELSE %]
158
		<input type="hidden" name="add" value="1" />
158
        <input type="hidden" name="add" value="1" />
159
		[% END %]
159
        [% END %]
160
		<fieldset class="rows">
160
        <fieldset class="rows">
161
            <input type="hidden" name="oldbranchcode" value="[% oldbranchcode %]" />
161
            <input type="hidden" name="oldbranchcode" value="[% oldbranchcode %]" />
162
            <ol>
162
            <ol>
163
            [% IF independant_branch %]
163
            [% IF independant_branch %]
Lines 182-190 Link Here
182
                [% END %]
182
                [% END %]
183
            </li>
183
            </li>
184
            [% END %]
184
            [% END %]
185
			<li>
185
            <li>
186
				<label for="module">Koha module:</label>
186
                <label for="module">Koha module:</label>
187
				<input type="hidden" name="oldmodule" value="[% module %]" />
187
                <input type="hidden" name="oldmodule" value="[% module %]" />
188
                [% IF adding  %]
188
                [% IF adding  %]
189
                  <select name="module" id="newmodule">
189
                  <select name="module" id="newmodule">
190
                [% ELSE %]
190
                [% ELSE %]
Lines 380-389 Link Here
380
[% END %]
380
[% END %]
381
381
382
[% IF ( add_validate or copy_validate) %]
382
[% IF ( add_validate or copy_validate) %]
383
	Data recorded
383
    Data recorded
384
	<form action="[% action %]" method="post">
384
    <form action="[% action %]" method="post">
385
	<input type="submit" value="OK" />
385
    <input type="submit" value="OK" />
386
	</form>
386
    </form>
387
[% END %]
387
[% END %]
388
388
389
[% IF ( delete_confirm ) %]
389
[% IF ( delete_confirm ) %]
Lines 420-429 Link Here
420
[% END %]
420
[% END %]
421
421
422
[% IF ( delete_confirmed ) %]
422
[% IF ( delete_confirmed ) %]
423
	Data deleted
423
    Data deleted
424
	<form action="[% action %]" method="post">
424
    <form action="[% action %]" method="post">
425
	<input type="submit" value="OK" />
425
    <input type="submit" value="OK" />
426
	</form>
426
    </form>
427
[% END %]
427
[% END %]
428
428
429
</div>
429
</div>
Lines 441-651 Link Here
441
    <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
441
    <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
442
    <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.insertatcaret.js"></script>
442
    <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.insertatcaret.js"></script>
443
    <script type="text/javascript">
443
    <script type="text/javascript">
444
        $(document).ready(function() {
444
        var no_op_set = '[% no_op_set %]';
445
            [% IF add_form or copy_form %]
445
        var interface = '[% interface %]';
446
                $('#toolbar').fixFloat();
446
        var theme = '[% theme %]';
447
            [% END %]
447
        var add_form = '[% add_form %]';
448
            $("#lettert:has(tbody tr)").dataTable($.extend(true, {}, dataTablesDefaults, {
448
        var copy_form = '[% copy_form %]';
449
                "sDom": 't',
449
        var code = '[% code %]';
450
                "aoColumnDefs": [
450
        var new_lettercode = '[% new_lettercode %]';
451
                    { "bSortable": false, "bSearchable": false, 'aTargets': [ 'nosort' ] }
451
        var new_branchcode = '[% new_branchcode %]';
452
                ],
452
        var MSG_CODE_EXISTS = _("A default letter with the code '%s' already exists.");
453
                "bPaginate": false
453
        var MSG_CODE_EXISTS_FOR_LIBRARY = _("A letter with the code '%s' already exists for '%s'.");
454
            }));
454
        var MSG_EMPTY_TITLE_AND_CONTENT = _("Please specify title and content for %s");
455
            [% IF no_op_set %]
455
        var MSG_EMPTY_TEMPLATES = _("Please fill at least one template.");
456
                $('#branch').change(function() {
456
        var MSG_LOADING = _("Loading");
457
                    $('#op').val("");
458
                    $('#selectlibrary').submit();
459
                });
460
                $('#newnotice').click(function() {
461
                    $('#op').val("add_form");
462
                    return true;
463
                });
464
            [% END %]
465
466
            $("#newmodule").on("change",function(){
467
                if( $("#branch").val() == ""){
468
                    var branchcode = "*";
469
                } else {
470
                    var branchcode = $("#branch").val();
471
                }
472
                window.location.href = "/cgi-bin/koha/tools/letter.pl?op=add_form&module=" + $(this).val() + "&branchcode=" + branchcode;
473
            });
474
475
            $("#submit_form").click( function(event) {
476
                event.preventDefault();
477
                var at_least_one_exists = 0;
478
                var are_valid = 1;
479
                $("fieldset.mtt").each( function(){
480
                    var title = $(this).find('input[name="title"]').val();
481
                    var content = $(this).find('textarea[name="content"]').val();
482
                    if (
483
                            ( title.length == 0 && content.length > 0 )
484
                         || ( title.length > 0 && content.length == 0 )
485
                    ) {
486
                        var mtt = $(this).find('input[name="message_transport_type"]').val();
487
                        var msg = _("Please specify title and content for %s");
488
                        msg = msg.replace( "%s", mtt );
489
                        at_least_one_exists = 1;
490
                        alert(msg);
491
                        return are_valid = false;
492
                    } else if ( title.length > 0 && content.length > 0 ) {
493
                        at_least_one_exists = 1;
494
                    }
495
                } );
496
                if ( ! at_least_one_exists ) {
497
                    alert( _("Please fill at least one template.") );
498
                    return false;
499
                }
500
                if ( ! are_valid ) {
501
                    return false;
502
                }
503
504
                // Test if code already exists in DB
505
                var new_lettercode = $("#code").val();
506
                var new_branchcode = $("#branch").val();
507
                [% IF ( add_form and code ) # IF edit %]
508
                    if ( new_lettercode != '[% code %]' ) {
509
                [% END %]
510
                    $.ajax({
511
                        data: { code: new_lettercode, branchcode: new_branchcode },
512
                        type: 'GET',
513
                        url: '/cgi-bin/koha/svc/letters/get/',
514
                        success: function (data) {
515
                             if ( data.letters.length > 0 ) {
516
                                 if( new_branchcode == '' ) {
517
                                     alert( _("A default letter with the code '%s' already exists.").format(new_lettercode) );
518
                                 } else {
519
                                     alert( _("A letter with the code '%s' already exists for '%s'.").format(new_lettercode, new_branchcode) );
520
                                 }
521
                                 return false;
522
                             } else {
523
                                 $("#add_notice").submit();
524
                             }
525
                        },
526
                    });
527
                [% IF ( add_form and code ) %]
528
                    } else {
529
                        $("#add_notice").submit();
530
                    }
531
                [% END %]
532
            });
533
534
            var sms_limit = 160;
535
            $("#content_sms").on("keyup", function(){
536
                var length = $(this).val().length;
537
                $("#sms_counter").html(length + "/" + sms_limit + _(" characters"));
538
                if ( length  > sms_limit ) {
539
                    $("#sms_counter").css("color", "red");
540
                } else {
541
                    $("#sms_counter").css("color", "black");
542
                }
543
            });
544
            $( ".transport-types" ).accordion({ collapsible: true, active:false, animate: 200 });
545
            $(".insert").on("click",function(){
546
                var containerid = $(this).data("containerid");
547
                insertValueQuery( containerid );
548
            })
549
550
            $("#tabs").tabs();
551
552
            $("#saveandcontinue").on("click",function(e){
553
                e.preventDefault();
554
                $("#redirect").val("just_save");
555
                $("#submit_form").click();
556
            });
557
558
            $("body").on("click", ".preview_template", function(e){
559
                e.preventDefault();
560
                var mtt = $(this).data("mtt");
561
                var lang = $(this).data("lang");
562
563
                var code = $("#code").val();
564
                var content = $("#content_"+mtt+"_"+lang).val();
565
                var title = $("#title_"+mtt+"_"+lang).val();
566
567
                var is_html = $("#is_html_"+mtt+"_"+lang).val();
568
                var page = $(this).attr("href");
569
                var data_preview = $("#data_preview").val();
570
                page += '?code='+encodeURIComponent(code);
571
                page += '&title='+encodeURIComponent(title);
572
                page += '&content='+encodeURIComponent(content);
573
                page += '&data_preview='+encodeURIComponent(data_preview);
574
                page += '&is_html='+encodeURIComponent(is_html);
575
                $("#preview_template .modal-body").load(page);
576
                $('#preview_template').modal('show');
577
                $("#preview_template_button").attr("href", "/cgi-bin/koha/svc/letters/convert?code="+code+"&mtt="+mtt+"&lang="+lang);
578
            });
579
            $("#preview_template").on("hidden", function(){
580
                $("#preview_template_label").html("");
581
                $("#preview_template .modal-body").html("<div id=\"loading\"><img src=\"[% interface %]/[% theme %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
582
            });
583
            $("body").on("click", "#convert_template", function(e){
584
                e.preventDefault();
585
                var mtt = $(this).data("mtt");
586
                var lang = $(this).data("lang");
587
588
                var code = $("#code").val();
589
                var content = $("#content_"+mtt+"_"+lang).val();
590
                var title = $("#title_"+mtt+"_"+lang).val();
591
592
                var is_html = $("#is_html_"+mtt+"_"+lang).val();
593
                var page = $(this).attr("href");
594
                var data_preview = $("#data_preview").val();
595
                page += '?code='+encodeURIComponent(code);
596
                page += '&title='+encodeURIComponent(title);
597
                page += '&content='+encodeURIComponent(content);
598
                page += '&data_preview='+encodeURIComponent(data_preview);
599
                page += '&is_html='+encodeURIComponent(is_html);
600
                $("#preview_template .modal-body").load(page + " div");
601
                $('#preview_template').modal('show');
602
                $("#preview_template_button").attr("href", "/cgi-bin/koha/svc/letters/convert?code="+code+"&branchcode="+branchcode+"&mtt="+mtt+"&lang="+lang);
603
            });
604
            $("#convert_template").on("hidden", function(){
605
                $("#convert_template_label").html("");
606
                $("#convert_template .modal-body").html("<div id=\"loading\"><img src=\"[% interface %]/[% theme %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
607
            });
608
609
        });
610
        [% IF add_form or copy_form %]
611
            function cancel(f) {
612
                $('#op').val("");
613
                f.method = "get";
614
                f.submit();
615
            }
616
617
            function isNotNull(f,noalert) {
618
              if (f.value.length ==0) {
619
                  return false;
620
              }
621
              return true;
622
            }
623
624
            function isNum(v,maybenull) {
625
                var n = new Number(v.value);
626
                if (isNaN(n)) {
627
                    return false;
628
                }
629
                if (maybenull==0 && v.value==''){
630
                  return false;
631
                }
632
                return true;
633
            }
634
            function insertValueQuery(containerid) {
635
                var fieldset = $("#" + containerid);
636
                var myQuery = $(fieldset).find('textarea[name="content"]');
637
                var myListBox = $(fieldset).find('select[name="SQLfieldname"]');
638
639
                if($(myListBox).find('option').length > 0) {
640
                    $(myListBox).find('option').each( function (){
641
                        if ( $(this).attr('selected') && $(this).val().length > 0 ) {
642
                            $(myQuery).insertAtCaret("<<" + $(this).val() + ">>");
643
                        }
644
                    });
645
                }
646
            }
647
        [% END %]
648
    </script>
457
    </script>
458
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/letter.js"></script>
649
[% END %]
459
[% END %]
650
460
651
[% INCLUDE 'intranet-bottom.inc' %]
461
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/preview_letter.tt (-18 / +40 lines)
Lines 3-9 Link Here
3
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
3
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4
    </head>
4
    </head>
5
    <body id="preview_letter" class="catalog">
5
    <body id="preview_letter" class="catalog">
6
6
        <div id="main">
7
        <div id="main">
8
7
            [% FOR m IN messages %]
9
            [% FOR m IN messages %]
8
                [%# FIXME The message block does not appear at the top of the modal! %]
10
                [%# FIXME The message block does not appear at the top of the modal! %]
9
                <div class="dialog [% m.type %]">
11
                <div class="dialog [% m.type %]">
Lines 29-55 Link Here
29
            [% END %]
31
            [% END %]
30
32
31
            [% IF rendered_message %]
33
            [% IF rendered_message %]
32
                <fieldset class="brief">
34
                <div class="yui-g">
33
                    <legend>Original version</legend>
35
                    <div class="yui-u first">
34
                    <pre>[% original_content | html %]</pre>
36
                        <h3>Original version</h3>
35
                </fieldset>
37
                        <span style="font-family:monospace">
36
38
                            [% FILTER html_line_break %]
37
                <fieldset class="brief">
39
                                [% original_content | html %]
38
                    <legend>Rendered message:</legend>
40
                            [% END %]
39
                    <pre>[% rendered_message.content | html %]</pre>
41
                        </span>
40
                </fieldset>
42
                    </div>
43
                    <div class="yui-u">
44
                        <h3>Converted version</h3>
45
                        <span style="font-family:monospace">
46
                            [% FILTER html_line_break %]
47
                                [% tt_content | html %]
48
                            [% END %]
49
                        </span>
50
                    </div>
51
                </div>
41
            [% END %]
52
            [% END %]
42
53
43
            [% IF rendered_tt_message %]
54
            <hr />
44
                <fieldset class="brief">
45
                    <legend>Converted version</legend>
46
                    <pre>[% tt_content | html %]</pre>
47
                </fieldset>
48
55
49
                <fieldset class="brief">
56
            [% IF rendered_tt_message %]
50
                    <legend>Rendered message:</legend>
57
                <div class="yui-g">
51
                    <pre>[% rendered_tt_message.content | html %]</pre>
58
                    <div class="yui-u first">
52
                </fieldset>
59
                        <h3>Original message, rendered:</h3>
60
                        <span style="font-family:monospace">
61
                            [% FILTER html_line_break %]
62
                                [% rendered_message.content | html %]
63
                            [% END %]
64
                        </span>
65
                    </div>
66
                    <div class="yui-u">
67
                        <h3>Converted message, rendered:</h3>
68
                        <span style="font-family:monospace">
69
                            [% FILTER html_line_break %]
70
                                [% rendered_tt_message.content | html %]
71
                            [% END %]
72
                        </span>
73
                    </div>
74
                </div>
53
            [% END %]
75
            [% END %]
54
        </div>
76
        </div>
55
77
(-)a/koha-tmpl/intranet-tmpl/prog/js/letter.js (-1 / +182 lines)
Line 0 Link Here
0
- 
1
/* Variables defined in letter.tt: */
2
/* global _ module add_form copy_form dataTablesDefaults no_op_set MSG_EMPTY_TITLE_AND_CONTENT MSG_EMPTY_TEMPLATES code MSG_CODE_EXISTS MSG_CODE_EXISTS_FOR_LIBRARY MSG_DT_LOADING_RECORDS interface theme */
3
4
var modal_loading = "<div id=\"loading\"><img src=\"" + interface + "/" + theme + "/img/spinner-small.gif\" alt=\"\" /> "+ MSG_DT_LOADING_RECORDS +"</div>";
5
6
var editing = 0;
7
if( add_form == 1 && code !== '' ){
8
    editing = 1;
9
}
10
11
function checkCodes( new_lettercode, new_branchcode ){
12
    $(".spinner").show();
13
    return $.ajax({
14
        data: { code: new_lettercode, branchcode: new_branchcode },
15
        type: 'GET',
16
        url: '/cgi-bin/koha/svc/letters/get/',
17
        async: !1,
18
        success: function (data) {
19
            if ( data.letters.length > 0 ) {
20
                if( new_branchcode === '' ) {
21
                    alert( MSG_CODE_EXISTS.format(new_lettercode));
22
                } else {
23
                    alert( MSG_CODE_EXISTS_FOR_LIBRARY.format(new_lettercode, new_branchcode) );
24
                }
25
                $(".spinner").hide();
26
            } else {
27
                $(".spinner").hide();
28
            }
29
        }
30
    });
31
}
32
33
$(document).ready(function() {
34
    if( add_form || copy_form ){
35
        $('#toolbar').fixFloat();
36
    }
37
38
    $("#lettert:has(tbody tr)").dataTable($.extend(true, {}, dataTablesDefaults, {
39
        "sDom": 't',
40
        "aoColumnDefs": [
41
            { "bSortable": false, "bSearchable": false, 'aTargets': [ 'nosort' ] }
42
        ],
43
        "bPaginate": false
44
    }));
45
46
    if( no_op_set ){
47
        $('#branch').change(function() {
48
            $('#op').val("");
49
            $('#selectlibrary').submit();
50
        });
51
        $('#newnotice').click(function() {
52
            $('#op').val("add_form");
53
            return true;
54
        });
55
    }
56
57
    $("#newmodule").on("change",function(){
58
        var branchcode;
59
        if( $("#branch").val() === ""){
60
            branchcode = "*";
61
        } else {
62
            branchcode = $("#branch").val();
63
        }
64
        window.location.href = "/cgi-bin/koha/tools/letter.pl?op=add_form&module=" + $(this).val() + "&branchcode=" + branchcode;
65
    });
66
67
    $("#submit_form").on("click",function(){
68
        $("#add_notice").submit();
69
    });
70
71
    $("#add_notice").validate({
72
        submitHandler: function(form){
73
            var at_least_one_exists = 0;
74
            var are_valid = 1;
75
            $("fieldset.mtt").each( function(){
76
                var title = $(this).find('input[name="title"]').val();
77
                var content = $(this).find('textarea[name="content"]').val();
78
                if (
79
                    ( title.length === 0 && content.length > 0 ) || ( title.length > 0 && content.length === 0 )
80
                ) {
81
                    var mtt = $(this).find('input[name="message_transport_type"]').val();
82
                    at_least_one_exists = 1; // Only one template has to be filled in for form to be valid
83
                    alert( MSG_EMPTY_TITLE_AND_CONTENT.format( mtt ) );
84
                    are_valid = 0;
85
                } else if ( title.length > 0 && content.length > 0 ) {
86
                    at_least_one_exists = 1;
87
                }
88
            });
89
90
            if ( ! at_least_one_exists ) {
91
                // No templates were filled out
92
                alert( MSG_EMPTY_TEMPLATES );
93
                return false;
94
            }
95
96
            if ( ! are_valid ){
97
                return false;
98
            }
99
100
            // Test if code already exists in DB
101
            if( editing == 1 ){ // This is an edit operation
102
                // We don't need to check for an existing Code
103
            } else {
104
                var new_lettercode = $("#code").val();
105
                var new_branchcode = $("#branch").val();
106
                var code_check = checkCodes( new_lettercode, new_branchcode );
107
                if( code_check.responseJSON.letters.length > 0 ){
108
                    return false;
109
                }
110
            }
111
            form.submit();
112
        }
113
    });
114
115
    var sms_limit = 160;
116
    $("#content_sms").on("keyup", function(){
117
        var length = $(this).val().length;
118
        $("#sms_counter").html(length + "/" + sms_limit + _(" characters"));
119
        if ( length  > sms_limit ) {
120
            $("#sms_counter").css("color", "red");
121
        } else {
122
            $("#sms_counter").css("color", "black");
123
        }
124
    });
125
126
    $( ".transport-types" ).accordion({ collapsible: true, active:false, animate: 200 });
127
128
    $(".insert").on("click",function(){
129
        var containerid = $(this).data("containerid");
130
        insertValueQuery( containerid );
131
    });
132
133
    $("#saveandcontinue").on("click",function(e){
134
        e.preventDefault();
135
        $("#redirect").val("just_save");
136
        $("#submit_form").click();
137
    });
138
139
    $("#tabs").tabs();
140
141
    $("body").on("click", ".preview_template", function(e){
142
        e.preventDefault();
143
        var mtt = $(this).data("mtt");
144
        var lang = $(this).data("lang");
145
146
        var code = $("#code").val();
147
        var content = $("#content_"+mtt+"_"+lang).val();
148
        var title = $("#title_"+mtt+"_"+lang).val();
149
150
        var is_html = $("#is_html_"+mtt+"_"+lang).val();
151
        var page = $(this).attr("href");
152
        var data_preview = $("#data_preview").val();
153
        page += '?code='+encodeURIComponent(code);
154
        page += '&title='+encodeURIComponent(title);
155
        page += '&content='+encodeURIComponent(content);
156
        page += '&data_preview='+encodeURIComponent(data_preview);
157
        page += '&is_html='+encodeURIComponent(is_html);
158
        $("#preview_template .modal-body").load(page + " #main");
159
        $('#preview_template').modal('show');
160
        $("#preview_template_button").attr("href", "/cgi-bin/koha/svc/letters/convert?module="+module+"&code="+code+"&mtt="+mtt+"&lang="+lang);
161
    });
162
163
    $("#preview_template").on("hidden.bs.modal", function(){
164
        $("#preview_template_label").html("");
165
        $("#preview_template .modal-body").html( modal_loading );
166
    });
167
168
    function insertValueQuery(containerid) {
169
        var fieldset = $("#" + containerid);
170
        var myQuery = $(fieldset).find('textarea[name="content"]');
171
        var myListBox = $(fieldset).find('select[name="SQLfieldname"]');
172
173
        if($(myListBox).find('option').length > 0) {
174
            $(myListBox).find('option').each( function (){
175
                if ( $(this).attr('selected') && $(this).val().length > 0 ) {
176
                    $(myQuery).insertAtCaret("<<" + $(this).val() + ">>");
177
                }
178
            });
179
        }
180
    }
181
182
});

Return to bug 18007