Koha/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt
Owen Leonard edf173e6ef Bug 14358: Changing the module refreshes the page and resets library choice
This patch makes an incremental change towards fixing Bug 14358: The
"New notice" button is converted to a dropdown button which asks the
user to select a module to start with.

To test, apply the patch and go to Tools -> Notices. Test the "New
notice" button and confirm that module selections are reflected in the
notice add form you are shown.

Signed-off-by: Mikaël Olangcay Brisebois <mikael.olangcay-brisebois@inLibro.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-11 13:34:09 +00:00

504 lines
26 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[% USE raw %]
[% USE Asset %]
[% USE Koha %]
[% USE Branches %]
[% USE ColumnsSettings %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<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>
[% INCLUDE 'doc-head-close.inc' %]
<style>#preview_template .modal-dialog { width : 80%; } .spinner { display: none; } @media (max-width: 767px) { #preview_template { margin: 0; width : auto; } }</style>
</head>
<body id="tools_letter" class="tools">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'letters-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo; [% IF ( add_form or copy_form) %][% IF ( modify ) %]<a href="/cgi-bin/koha/tools/letter.pl">Notices &amp; slips</a> &rsaquo; Modify notice[% ELSE %] <a href="/cgi-bin/koha/tools/letter.pl">Notices &amp; slips</a> &rsaquo; Add notice[% END %][% ELSE %][% IF ( add_validate or copy_validate) %] <a href="/cgi-bin/koha/tools/letter.pl">Notices &amp; slips</a> &rsaquo; Notice added[% ELSE %][% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/tools/letter.pl">Notices &amp; slips</a> &rsaquo; Confirm deletion[% ELSE %]Notices &amp; slips[% END %][% END %][% END %]</div>
<div id="preview_template" class="modal in" tabindex="-1" role="dialog" aria-labelledby="preview_template_label" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="preview_template_label">Preview notice template</h3>
</div>
<div class="modal-body">
<div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div>
</div>
<div class="modal-footer">
<!-- TODO <a href="#" class="btn btn-default" id="preview_template_button" role="button" data-toggle="modal">Convert using the Template Toolkit syntax</a>-->
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
</div>
</div>
[% IF add_form or copy_form %]
<div class="main container-fluid">
<div class="row">
<div class="col-md-8 col-md-offset-2">
[% ELSE %]
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% END %]
[% IF ( no_op_set ) %]
<h1>Notices &amp; slips</h1>
<form method="get" action="/cgi-bin/koha/tools/letter.pl" id="selectlibrary">
<input type="hidden" name="searchfield" value="[% searchfield | html %]" />
[% UNLESS independant_branch %]
<p>
Select a library :
<select name="branchcode" id="branch" style="width:20em;">
<option value="*">All libraries</option>
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode ) %]
</select>
</p>
[% END %]
</form>
<div id="toolbar" class="btn-toolbar">
<div class="btn-group">
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa fa-plus"></i> New notice <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=acquisition">Acquisition</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=catalogue">Catalog</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=circulation">Circulation</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=claimacquisition">Claim acquisition</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=claimissues">Claim serial issue</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=reserves">Holds</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=orderacquisition">Order acquisition</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=members">Patrons</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=serial">Serials (new issue)</a></li>
<li><a href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;module=suggestions">Suggestions</a></li>
</ul>
</div>
</div>
[% IF ( search ) %]
<p>You searched for <b>[% searchfield | html %]</b></p>
[% END %]
[% IF ( letter && !independant_branch) %]
[% select_for_copy = BLOCK %]
<select name="branchcode">
[% FOREACH l IN Branches.all() %]
<option value="[% l.branchcode | html %]">Copy to [% l.branchname | html %]</option>
[% END %]
</select>
[% END %]
[% END %]
[% IF letter %]
<table id="lettert">
<thead>
<tr>
<th>Library</th>
<th>Module</th>
<th>Code</th>
<th>Name</th>
<th class="nosort">Copy notice</th>
<th class="nosort">Actions</th>
</tr>
</thead>
<tbody>
[% FOREACH lette IN letter %]
[% can_edit = lette.branchcode || !independant_branch %]
<tr>
<td>[% IF lette.branchname %][% lette.branchname | html %][% ELSE %](All libraries)[% END %]</td>
<td>
[% SWITCH lette.module %]
[% CASE 'acquisition' %]<span>Acquisition</span>
[% CASE 'catalogue' %]<span>Catalog</span>
[% CASE 'circulation' %]<span>Circulation</span>
[% CASE 'orderacquisition' %]<span>Order acquisition</span>
[% CASE 'claimacquisition' %]<span>Claim acquisition</span>
[% CASE 'claimissues' %]<span>Claim serial issue</span>
[% CASE 'reserves' %]<span>Holds</span>
[% CASE 'members' %]<span>Patrons</span>
[% CASE 'serial' %]<span>Serials (new issue)</span>
[% CASE 'suggestions' %]<span>Suggestions</span>
[% CASE %]<span>[% lette.module | html %]</span>
[% END %]
</td>
<td>[% lette.code | html %]</td>
<td>[% lette.name | html %]</td>
<td class="actions">
[% IF !independant_branch || !lette.branchcode %]
<form method="post" action="/cgi-bin/koha/tools/letter.pl">
<input type="hidden" name="op" value="copy_form" />
<input type="hidden" name="oldbranchcode" value="[% lette.branchcode | html %]" />
<input type="hidden" name="module" value="[% lette.module | html %]" />
<input type="hidden" name="code" value="[% lette.code | html %]" />
[% IF independant_branch %]
<input type="hidden" name="branchcode" value="[% independant_branch | html %]" />
[% ELSE %]
[% select_for_copy | $raw %]
[% END %]
<button class="btn btn-default btn-xs"><i class="fa fa-clone"></i> Copy</button>
</form>
[% END %]
</td>
<td class="actions">
[% IF can_edit %]
<a class="btn btn-default btn-xs" href="/cgi-bin/koha/tools/letter.pl?op=add_form&amp;branchcode=[% lette.branchcode | html %]&amp;module=[% lette.module | html %]&amp;code=[% lette.code | html %]"><i class="fa fa-pencil"></i> Edit</a>
[% END %]
[% IF !lette.protected && can_edit %]
<a class="btn btn-default btn-xs" href="/cgi-bin/koha/tools/letter.pl?op=delete_confirm&amp;branchcode=[% lette.branchcode | html %]&amp;module=[% lette.module | html %]&amp;code=[% lette.code | html %]"><i class="fa fa-trash"></i> Delete</a>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]
<div class="dialog message">
[% IF ( branchcode ) %]
<p>There are no notices for this library.</p>
[% ELSE %]
<p>There are no notices.</p>
[% END %]
</div>
[% END %]
[% END %]
[% IF add_form or copy_form %]
<h1>[% IF ( modify ) %]Modify notice[% ELSE %]Add notice[% END %]</h1>
<div id="toolbar" class="btn-toolbar">
<div class="btn-group">
<button class="btn btn-default" id="submit_form"><i class="fa fa-save"></i> Save</button>
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a id="saveandcontinue" href="#">Save and continue editing</a></li>
</ul>
</div>
<a class="btn btn-default cancel" href="/cgi-bin/koha/tools/letter.pl"><i class="fa fa-remove"></i> Cancel</a>
</div>
<form id="add_notice" name="Aform" method="post" enctype="multipart/form-data" class="validate">
[% IF add_form %]
<input type="hidden" name="op" id="op" value="add_validate" />
[% ELSE %]
<input type="hidden" name="op" id="op" value="copy_validate" />
[% END %]
<input type="hidden" name="checked" value="0" />
[% IF ( modify ) %]
<input type="hidden" name="add" value="0" />
[% ELSE %]
<input type="hidden" name="add" value="1" />
[% END %]
<fieldset class="rows">
<input type="hidden" name="oldbranchcode" value="[% oldbranchcode | html %]" />
<ol>
[% IF independant_branch %]
<input type="hidden" name="branchcode" value="[% independant_branch | html %]" />
[% ELSE %]
<li>
[% IF adding %]
<label for="branch">Library:</label>
<select name="branchcode" id="branch" style="width:20em;">
<option value="">All libraries</option>
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode ) %]
</select>
[% ELSE %]
<span class="label">Library:</span>
<input type="hidden" id="branch" name="branchcode" value="[% branchcode | html %]" />
[% IF ( branchcode ) %]
[% Branches.GetName( branchcode ) | html %]
[% ELSE %]
All libraries
[% END %]
[% END %]
</li>
[% END %]
<li>
<label for="module">Koha module:</label>
<input type="hidden" name="oldmodule" value="[% module | html %]" />
[% IF adding %]
<select name="module" id="newmodule">
[% ELSE %]
<select name="module" id="module">
[% END %]
[% IF ( module == "acquisition" ) %]
<option value="acquisition" selected="selected">Acquisition</option>
[% ELSE %]
<option value="acquisition" >Acquisition</option>
[% END %]
[% IF ( module == "catalogue" ) %]
<option value="catalogue" selected="selected">Catalog</option>
[% ELSE %]
<option value="catalogue" >Catalog</option>
[% END %]
[% IF ( module == "circulation" ) %]
<option value="circulation" selected="selected">Circulation</option>
[% ELSE %]
<option value="circulation">Circulation</option>
[% END %]
[% IF ( module == "orderacquisition" ) %]
<option value="orderacquisition" selected="selected">Order acquisition</option>
[% ELSE %]
<option value="orderacquisition">Order acquisition</option>
[% END %]
[% IF ( module == "claimacquisition" ) %]
<option value="claimacquisition" selected="selected">Claim acquisition</option>
[% ELSE %]
<option value="claimacquisition">Claim acquisition</option>
[% END %]
[% IF ( module == "claimissues" ) %]
<option value="claimissues" selected="selected">Claim serial issue</option>
[% ELSE %]
<option value="claimissues">Claim serial issue</option>
[% END %]
[% IF ( module == "reserves" ) %]
<option value="reserves" selected="selected">Holds</option>
[% ELSE %]
<option value="reserves">Holds</option>
[% END %]
[% IF ( module == "members" ) %]
<option value="members" selected="selected">Patrons</option>
[% ELSE %]
<option value="members">Patrons</option>
[% END %]
[% IF ( module == "serial" ) %]
<option value="serial" selected="selected">Serials (new issue)</option>
[% ELSE %]
<option value="serial">Serials (new issue)</option>
[% END %]
[% IF ( module == "suggestions" ) %]
<option value="suggestions" selected="selected">Suggestions</option>
[% ELSE %]
<option value="suggestions">Suggestions</option>
[% END %]
</select>
</li>
<li>
[% IF adding %]
<label for="code" class="required">Code:</label>
<input type="text" id="code" name="code" size="20" maxlength="20" value="" required="required"/>
<span class="required">Required</span>
[% ELSE %]
<span class="label">Code:</span>
<input type="hidden" id="code" name="code" value="[% code | html %]" />
[% code | html %]
[% END %]
</li>
<li>
<label for="name" class="required">Name:</label>
<input type="text" id="name" name="name" size="60" value="[% letter_name | html %]" required="required" />
<span class="required">Required</span>
</li>
[% IF code and preview_is_available%]
<li>
<label for="name">Data for preview:</label>
[% SWITCH code %]
[% CASE 'CHECKIN' %]
<input type="text" id="data_preview" name="data_preview" value="" placeholder="barcode" />
[% CASE 'CHECKOUT' %]
<input type="text" id="data_preview" name="data_preview" value="" placeholder="barcode|borrowernumber" />
[% CASE 'HOLD_SLIP' %]
<input type="text" id="data_preview" name="data_preview" value="" placeholder="biblionumber|borrowernumber" />
[% CASE %]
Not supported yet.
[% END %]
</li>
[% END %]
</ol>
</fieldset>
[% IF Koha.Preference('TranslateNotices') %]
<div style="clear:both"></div>
<div id="tabs">
<ul>
<li><a href="#lang_default">Default</a></li>
[% FOR language IN languages %]
[% FOR sublanguage IN language.sublanguages_loop %]
[% IF language.plural %]
<li><a href="#lang_[% sublanguage.rfc4646_subtag | uri %]">[% sublanguage.native_description | html %] [% sublanguage.region_description | html %] ([% sublanguage.rfc4646_subtag | html %])</a></li>
[% ELSE %]
<li><a href="#lang_[% sublanguage.rfc4646_subtag | uri %]">[% sublanguage.native_description | html %] ([% sublanguage.rfc4646_subtag | html %])</a></li>
[% END %]
[% END %]
[% END %]
</ul>
[% END %]
[% FOREACH lang IN letters.keys %]
<div id="lang_[% lang | html %]">
<div class="transport-types" style="clear:both">
[% FOR mtt IN letters.$lang.templates.keys.sort %]
[% SET letter = letters.$lang.templates.$mtt %]
<h3>
[% SWITCH letter.message_transport_type %]
[% CASE 'email' %]
Email
[% CASE 'print' %]
Print
[% CASE 'sms' %]
SMS
[% CASE 'feed' %]
Feed
[% CASE 'phone' %]
Phone
[% CASE %]
[% letter.message_transport_type | html %]
[% END %]
</h3>
[% IF letter.message_transport_type == "sms" and not Koha.Preference("SMSSendDriver") %]
<fieldset class="rows mtt" id="[% letter.message_transport_type | html %]_[% lang | html %]" disabled="disabled">
<div class="dialog message">You should enable the SMSSendDriver preference to use the SMS templates.</div>
[% ELSIF letter.message_transport_type == "phone" and not Koha.Preference("TalkingTechItivaPhoneNotification") %]
<fieldset class="rows mtt" id="[% letter.message_transport_type | html %]_[% lang | html %]" disabled="disabled">
<div class="dialog message">You should enable the TalkingTechItivaPhoneNotification preference to use the phone templates.</div>
[% ELSE %]
<fieldset class="rows mtt" id="[% letter.message_transport_type | html %]_[% lang | html %]">
[% END %]
<ol>
<li>
<input type="hidden" name="message_transport_type" value="[% letter.message_transport_type | html %]" />
<input type="hidden" name="lang" value="[% lang | html %]" />
<label for="is_html_[% letter.message_transport_type | html %]_[% lang | html %]">HTML message:</label>
[% IF letter.is_html %]
<input type="checkbox" name="is_html_[% letter.message_transport_type | html %]" id="is_html_[% letter.message_transport_type | html %]_[% lang | html %]" value="1" checked="checked" />
[% ELSE %]
<input type="checkbox" name="is_html_[% letter.message_transport_type | html %]" id="is_html_[% letter.message_transport_type | html %]_[% lang | html %]" value="1" />
[% END %]
</li>
<li>
<label for="title_[% letter.message_transport_type | html %]_[% lang | html %]">Message subject:</label><input type="text" id="title_[% letter.message_transport_type | html %]_[% lang | html %]" name="title" size="60" value="[% letter.title | html %]" />
</li>
<li>
<label for="SQLfieldname_[% letter.message_transport_type | html %]_[% lang | html %]">Message body:</label>
[% IF letter.message_transport_type == 'sms' %]
<span class="sms_counter" id="sms_counter_[% lang | html %]">[% IF letter.content && letter.content.length > 0 %][% letter.content.length | html %][% ELSE %]0[% END %]/160 characters</span>
[% END %]
<table>
<tr>
<td>
<select name="SQLfieldname" id="SQLfieldname_[% letter.message_transport_type | html %]_[% lang | html %]" multiple="multiple" size="9">
[% FOREACH SQLfieldname IN SQLfieldnames %]
<option value="[% SQLfieldname.value | html %]">[% SQLfieldname.text | html %]</option>
[% END %]
</select>
</td>
<td class="actions">
<button type="button" data-containerid="[% letter.message_transport_type | html %]_[% lang | html %]" class="btn btn-default btn-sm insert">Insert <i class="fa fa-long-arrow-right"></i></button>
</td>
<td><textarea name="content" data-lang="[% lang | html %]" class="content_[% letter.message_transport_type | html %]" id="content_[% letter.message_transport_type | html %]_[% lang | html %]" cols="80" rows="15">[% letter.content | html %]</textarea></td>
</tr>
</table>
</li>
[% IF preview_is_available %]
<li>
<a href="/cgi-bin/koha/svc/letters/preview" class="preview_template btn btn-default btn-xs" title="Preview this notice template" data-mtt="[% letter.message_transport_type | html %]" data-lang="[% lang | html %]"><i class="fa fa-eye"></i> Preview</a>
</li>
[% END %]
</ol>
</fieldset>
[% END %]
</div>
</div> <!-- / #transport-types -->
[% END %]
[% IF Koha.Preference('TranslateNotices') %]
</div>
[% END %]
<input type="hidden" id="redirect" name="redirect" value="" />
<input type="hidden" name="searchfield" value="[% searchfield | html %]" />
</form>
[% END %]
[% IF ( add_validate or copy_validate) %]
Data recorded
<form action="[% action | html %]" method="post">
<input type="submit" value="OK" />
</form>
[% END %]
[% IF ( delete_confirm ) %]
<div class="dialog alert">
<h3>Delete notice?</h3>
<table>
<thead>
<tr>
<th>Library</th>
<th>Module</th>
<th>Code</th>
<th>Name</th>
</tr>
</thead>
<tr>
<td>[% IF letter.branchcode %][% Branches.GetName( letter.branchcode ) | html %][% ELSE %](All libraries)[% END %]</td>
<td>[% letter.module | html %]</td>
<td>[% letter.code | html %]</td>
<td>[% letter.name | html %]</td>
</tr>
</table>
<form action="[% action | html %]" method="post">
<input type="hidden" name="op" value="delete_confirmed">
<input type="hidden" name="branchcode" value="[% letter.branchcode | html %]" />
<input type="hidden" name="code" value="[% letter.code | html %]" />
<input type="hidden" name="module" value="[% letter.module | html %]" />
<button type="submit" class="approve"><i class="fa fa-check"></i> Yes, delete</button>
</form>
<form action="[% action | html %]" method="get">
<button type="submit" class="deny"><i class="fa fa-times"></i> No, do not delete</button>
</form>
</div>
[% END %]
[% IF ( delete_confirmed ) %]
Data deleted
<form action="[% action | html %]" method="post">
<input type="submit" value="OK" />
</form>
[% END %]
[% IF add_form or copy_form %]
</div> <!-- /.col-md-8 -->
</div> <!-- /.row -->
[% ELSE %]
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'tools-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
[% END %]
[% MACRO jsinclude BLOCK %]
[% Asset.js("js/tools-menu.js") | $raw %]
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'columns_settings.inc' %]
[% Asset.js("lib/hc-sticky.js") | $raw %]
[% Asset.js("lib/jquery/plugins/jquery.insertatcaret.js") | $raw %]
<script>
var no_op_set = '[% no_op_set | html %]';
var interface = '[% interface | html %]';
var theme = '[% theme | html %]';
var add_form = '[% add_form | html %]';
var copy_form = '[% copy_form | html %]';
var code = '[% code | html %]';
var new_lettercode = '[% new_lettercode | html %]';
var new_branchcode = '[% new_branchcode | html %]';
var MSG_CODE_EXISTS = _("A default letter with the code '%s' already exists.");
var MSG_CODE_EXISTS_FOR_LIBRARY = _("A letter with the code '%s' already exists for '%s'.");
var MSG_EMPTY_TITLE_AND_CONTENT = _("Please specify title and content for %s");
var MSG_EMPTY_TEMPLATES = _("Please fill at least one template.");
var MSG_LOADING = _("Loading");
var MSG_NO_NOTICE_FOUND = _("No matching notices found");
var columns_settings = [% ColumnsSettings.GetColumns( 'tools', 'notices', 'lettert', 'json' ) | $raw %];
</script>
[% Asset.js("js/letter.js") | $raw %]
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]