3 [% INCLUDE 'doc-head-open.inc' %]
4 <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 [% INCLUDE 'doc-head-close.inc' %]
6 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
7 [% INCLUDE 'datatables.inc' %]
8 <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.insertatcaret.js"></script>
9 <script type="text/javascript">
11 $(document).ready(function() {
12 $("#lettert:has(tbody tr)").dataTable($.extend(true, {}, dataTablesDefaults, {
15 { "aTargets": [ -1,-2, -3 ], "bSortable": false, "bSearchable": false }
20 $('#branch').change(function() {
22 $('#selectlibrary').submit();
24 $('#newnotice').click(function() {
25 $('#op').val("add_form");
30 $("#submit_form").click( function(event) {
31 event.preventDefault();
32 var at_least_one_exists = 0;
34 $("fieldset.mtt").each( function(){
35 var title = $(this).find('input[name="title"]').val();
36 var content = $(this).find('textarea[name="content"]').val();
38 ( title.length == 0 && content.length > 0 )
39 || ( title.length > 0 && content.length == 0 )
41 var mtt = $(this).find('input[name="message_transport_type"]').val();
42 var msg = _("Please specify title and content for %s");
43 msg = msg.replace( "%s", mtt );
44 at_least_one_exists = 1;
46 return are_valid = false;
47 } else if ( title.length > 0 && content.length > 0 ) {
48 at_least_one_exists = 1;
51 if ( ! at_least_one_exists ) {
52 alert( _("Please fill at least one template.") );
59 // Test if code already exists in DB
60 var new_lettercode = $("#code").val();
61 var new_branchcode = $("#branch").val();
62 [% IF ( add_form and code ) # IF edit %]
63 if ( new_lettercode != '[% code %]' ) {
66 data: { code: new_lettercode, branchcode: new_branchcode },
68 url: '/cgi-bin/koha/svc/letters/',
69 success: function (data) {
70 if ( data.letters.length > 0 ) {
71 if( new_branchcode == '' ) {
72 alert( _("A default letter with the code '%s' already exists.").format(new_lettercode) );
74 alert( _("A letter with the code '%s' already exists for '%s'.").format(new_lettercode, new_branchcode) );
78 $("#add_notice").submit();
82 [% IF ( add_form and code ) %]
84 $("#add_notice").submit();
90 $("#content_sms").on("keyup", function(){
91 var length = $(this).val().length;
92 $("#sms_counter").html(length + "/" + sms_limit + _(" characters"));
93 if ( length > sms_limit ) {
94 $("#sms_counter").css("color", "red");
96 $("#sms_counter").css("color", "black");
99 $( "#transport-types" ).accordion({ collapsible: true, active:false, animate: 200 });
100 $(".insert").on("click",function(){
101 var containerid = $(this).data("containerid");
102 insertValueQuery( containerid );
105 [% IF add_form or copy_form %]
113 function isNotNull(f,noalert) {
114 if (f.value.length ==0) {
120 function isNum(v,maybenull) {
121 var n = new Number(v.value);
125 if (maybenull==0 && v.value=='') {
130 function insertValueQuery(mtt_id) {
131 var fieldset = $("#" + mtt_id);
132 var myQuery = $(fieldset).find('textarea[name="content"]');
133 var myListBox = $(fieldset).find('select[name="SQLfieldname"]');
135 if($(myListBox).find('option').length > 0) {
136 $(myListBox).find('option').each( function (){
137 if ( $(this).attr('selected') ) {
138 $(myQuery).insertAtCaret("<<" + $(this).val() + ">>");
147 <body id="tools_letter" class="tools">
148 [% INCLUDE 'header.inc' %]
149 [% INCLUDE 'letters-search.inc' %]
151 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › [% IF ( add_form or copy_form) %][% IF ( modify ) %]<a href="/cgi-bin/koha/tools/letter.pl">Notices & Slips</a> › Modify notice[% ELSE %] <a href="/cgi-bin/koha/tools/letter.pl">Notices & Slips</a> › Add notice[% END %][% ELSE %][% IF ( add_validate or copy_validate) %] <a href="/cgi-bin/koha/tools/letter.pl">Notices & Slips</a> › Notice added[% ELSE %][% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/tools/letter.pl">Notices & Slips</a> › Confirm deletion[% ELSE %]Notices & Slips[% END %][% END %][% END %]</div>
153 [% IF add_form or copy_form %]<div id="doc" class="yui-t7">[% ELSE %]<div id="doc3" class="yui-t2">[% END %]
159 [% IF ( no_op_set ) %]
160 <h1>Notices and Slips</h1>
161 <form method="get" action="/cgi-bin/koha/tools/letter.pl" id="selectlibrary">
162 <input type="hidden" name="searchfield" value="[% searchfield %]" />
163 [% UNLESS independant_branch %]
166 <select name="branchcode" id="branch" style="width:20em;">
167 <option value="">All libraries</option>
168 [% FOREACH branchloo IN branchloop %]
169 [% IF ( branchloo.selected ) %]<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>[% ELSE %]<option value="[% branchloo.value %]">[% branchloo.branchname %]</option>[% END %]
174 <div id="toolbar" class="btn-toolbar">
175 <button type="submit" class="btn btn-small" id="newnotice"><i class="fa fa-plus"></i> New notice</button>
176 <input type="hidden" id="op" name="op" />
181 <p>You searched for <b>[% searchfield %]</b></p>
183 [% IF ( letter && !independant_branch) %]
184 [% select_for_copy = BLOCK %]
185 <select name="branchcode">
186 [% FOREACH branchloo IN branchloop %]
187 <option value="[% branchloo.value %]">Copy to [% branchloo.branchname %]</option>
206 [% FOREACH lette IN letter %]
207 [% can_edit = lette.branchcode || !independant_branch %]
209 <td>[% IF lette.branchname %][% lette.branchname %][% ELSE %](All libraries)[% END %]</td>
210 <td>[% lette.module %]</td>
211 <td>[% lette.code %]</td>
212 <td>[% lette.name %]</td>
213 <td style="white-space: nowrap">
214 [% IF !independant_branch || !lette.branchcode %]
215 <form method="post" action="/cgi-bin/koha/tools/letter.pl">
216 <input type="hidden" name="op" value="copy_form" />
217 <input type="hidden" name="oldbranchcode" value="[% lette.branchcode %]" />
218 <input type="hidden" name="module" value="[% lette.module %]" />
219 <input type="hidden" name="code" value="[% lette.code %]" />
220 [% IF independant_branch %]
221 <input type="hidden" name="branchcode" value="[% independant_branch %]" />
223 [% select_for_copy %]
225 <input type="submit" value="Copy" />
231 <a href="/cgi-bin/koha/tools/letter.pl?op=add_form&branchcode=[% lette.branchcode %]&module=[% lette.module %]&code=[% lette.code %]">Edit</a>
235 [% IF !lette.protected && can_edit %]
236 <a href="/cgi-bin/koha/tools/letter.pl?op=delete_confirm&branchcode=[%lette.branchcode %]&module=[% lette.module %]&code=[% lette.code %]">Delete</a>
244 <div class="dialog message">
245 [% IF ( branchcode ) %]
246 <p>There are no notices for this library.</p>
248 <p>There are no notices.</p>
255 [% IF add_form or copy_form %]
256 <h1>[% IF ( modify ) %]Modify notice[% ELSE %]Add notice[% END %]</h1>
257 <form id="add_notice" name="Aform" method="post" enctype="multipart/form-data" class="validate">
259 <input type="hidden" name="op" id="op" value="add_validate" />
261 <input type="hidden" name="op" id="op" value="copy_validate" />
264 <input type="hidden" name="checked" value="0" />
266 <input type="hidden" name="add" value="0" />
268 <input type="hidden" name="add" value="1" />
270 <fieldset class="rows">
271 <input type="hidden" name="oldbranchcode" value="[% oldbranchcode %]" />
273 [% IF independant_branch %]
274 <input type="hidden" name="branchcode" value="[% independant_branch %]" />
279 <label for="branch">Library:</label>
280 <select name="branchcode" id="branch" style="width:20em;">
281 <option value="">All libraries</option>
282 [% FOREACH branchloo IN branchloop %]
283 [% IF ( branchloo.selected ) %]<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>[% ELSE %]<option value="[% branchloo.value %]">[% branchloo.branchname %]</option>[% END %]
287 <span class="label">Library:</span>
288 <input type="hidden" id="branch" name="branchcode" value="[% branchcode %]" />
289 [% IF ( branchcode ) %]
290 [% Branches.GetName( branchcode ) %]
298 <label for="module">Koha module:</label>
299 <input type="hidden" name="oldmodule" value="[% module %]" />
301 <select name="module" id="module" onchange="javascript:window.location.href = unescape(window.location.pathname)+'?op=add_form&module='+this.value+'&content='+window.document.forms['Aform'].elements['content'].value;">
303 <select name="module" id="module">
305 [% IF ( module == "acquisition" ) %]
306 <option value="acquisition" selected="selected">Acquisition</option>
308 <option value="acquisition" >Acquisition</option>
310 [% IF ( module == "catalogue" ) %]
311 <option value="catalogue" selected="selected">Catalog</option>
313 <option value="catalogue" >Catalog</option>
315 [% IF ( module == "circulation" ) %]
316 <option value="circulation" selected="selected">Circulation</option>
318 <option value="circulation">Circulation</option>
320 [% IF ( module == "claimacquisition" ) %]
321 <option value="claimacquisition" selected="selected">Claim acquisition</option>
323 <option value="claimacquisition">Claim acquisition</option>
325 [% IF ( module == "claimissues" ) %]
326 <option value="claimissues" selected="selected">Claim serial issue</option>
328 <option value="claimissues">Claim serial issue</option>
330 [% IF ( module == "reserves" ) %]
331 <option value="reserves" selected="selected">Holds</option>
333 <option value="reserves">Holds</option>
335 [% IF ( module == "members" ) %]
336 <option value="members" selected="selected">Members</option>
338 <option value="members">Members</option>
340 [% IF ( module == "serial" ) %]
341 <option value="serial" selected="selected">Serials (routing list)</option>
343 <option value="serial">Serials (routing list)</option>
345 [% IF ( module == "suggestions" ) %]
346 <option value="suggestions" selected="selected">Suggestions</option>
348 <option value="suggestions">Suggestions</option>
354 <label for="code" class="required">Code:</label>
355 <input type="text" id="code" name="code" size="20" maxlength="20" value="" required="required"/>
356 <span class="required">Required</span>
358 <span class="label">Code:</span>
359 <input type="hidden" id="code" name="code" value="[% code %]" />
364 <label for="name" class="required">Name:</label>
365 <input type="text" id="name" name="name" size="60" value="[% letter_name %]" required="required" />
366 <span class="required">Required</span>
370 <div id="transport-types" style="clear:both">
371 [% FOREACH letter IN letters %]
373 [% SWITCH letter.message_transport_type %]
385 [% letter.message_transport_type %]
388 [% IF letter.message_transport_type == "sms" and not Koha.Preference("SMSSendDriver") %]
389 <fieldset class="rows mtt" id="[% letter.message_transport_type %]" disabled="disabled">
390 <div class="dialog message">You should enable the SMSSendDriver preference to use the SMS templates.</div>
391 [% ELSIF letter.message_transport_type == "phone" and not Koha.Preference("TalkingTechItivaPhoneNotification") %]
392 <fieldset class="rows mtt" id="[% letter.message_transport_type %]" disabled="disabled">
393 <div class="dialog message">You should enable the TalkingTechItivaPhoneNotification preference to use the phone templates.</div>
395 <fieldset class="rows mtt" id="[% letter.message_transport_type %]">
399 <input type="hidden" name="message_transport_type" value="[% letter.message_transport_type %]" />
400 <label for="is_html_[% letter.message_transport_type %]">HTML message:</label>
401 [% IF letter.is_html %]
402 <input type="checkbox" name="is_html_[% letter.message_transport_type %]" id="is_html_[% letter.message_transport_type %]" value="1" checked="checked" />
404 <input type="checkbox" name="is_html_[% letter.message_transport_type %]" id="is_html_[% letter.message_transport_type %]" value="1" />
408 <label for="title_[% letter.message_transport_type %]">Message subject:</label><input type="text" id="title_[% letter.message_transport_type %]" name="title" size="60" value="[% letter.title %]" />
411 <label for="SQLfieldname_[% letter.message_transport_type %]">Message body:</label>
412 [% IF letter.message_transport_type == 'sms' %]
413 <span id="sms_counter">[% IF letter.content && letter.content.length > 0 %][% letter.content.length %][% ELSE %]0[% END %]/160 characters</span>
418 <select name="SQLfieldname" id="SQLfieldname_[% letter.message_transport_type %]" multiple="multiple" size="9">
419 [% FOREACH SQLfieldname IN SQLfieldnames %]
420 <option value="[% SQLfieldname.value %]">[% SQLfieldname.text %]</option>
425 <button type="button" data-containerid="[% letter.message_transport_type %]" class="btn btn-small insert">Insert <i class="fa fa-long-arrow-right"></i></button>
427 <td><textarea name="content" id="content_[% letter.message_transport_type %]" cols="80" rows="15">[% letter.content %]</textarea></td>
434 </div> <!-- / #transport-types -->
436 [% IF code.search('DGST') %] <span class="overdue">Warning, this is a template for a Digest, as such, any references to branch data ( e.g. branches.branchname ) will refer to the borrower's home branch.</span> [% END %]
437 <fieldset class="action"><input type="submit" id="submit_form" value="Submit" class="button" /> <a class="cancel" href="/cgi-bin/koha/tools/letter.pl">Cancel</a></fieldset>
438 <input type="hidden" name="searchfield" value="[% searchfield %]" />
442 [% IF ( add_validate or copy_validate) %]
444 <form action="[% action %]" method="post">
445 <input type="submit" value="OK" />
449 [% IF ( delete_confirm ) %]
450 <div class="dialog alert">
451 <h3>Delete notice?</h3>
462 <td>[% IF letter.branchcode %][% Branches.GetName( letter.branchcode ) %][% ELSE %](All libraries)[% END %]</td>
463 <td>[% letter.module %]</td>
464 <td>[% letter.code %]</td>
465 <td>[% letter.name %]</td>
468 <form action="[% action %]" method="post">
469 <input type="hidden" name="op" value="delete_confirmed">
470 <input type="hidden" name="branchcode" value="[% letter.branchcode %]" />
471 <input type="hidden" name="code" value="[% letter.code %]" />
472 <input type="hidden" name="module" value="[% letter.module %]" />
473 <input type="submit" value="Yes, delete" class="approve" />
476 <form action="[% action %]" method="get">
477 <input type="submit" value="No, do not delete" class="deny" />
482 [% IF ( delete_confirmed ) %]
484 <form action="[% action %]" method="post">
485 <input type="submit" value="OK" />
491 [% UNLESS add_form or copy_form %]
492 <div class="yui-b noprint">
493 [% INCLUDE 'tools-menu.inc' %]
497 [% INCLUDE 'intranet-bottom.inc' %]