Lines 5-10
Link Here
|
5 |
<title>Koha › Tools › Notices[% IF ( add_form or copy_form ) %][% IF ( modify ) %] › Modify notice[% ELSE %] › Add notice[% END %][% END %][% IF ( add_validate or copy_validate) %] › Notice added[% END %][% IF ( delete_confirm ) %] › Confirm deletion[% END %]</title> |
5 |
<title>Koha › Tools › Notices[% IF ( add_form or copy_form ) %][% IF ( modify ) %] › Modify notice[% ELSE %] › Add notice[% END %][% END %][% IF ( add_validate or copy_validate) %] › Notice added[% END %][% IF ( delete_confirm ) %] › 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' %] |