Koha/koha-tmpl/intranet-tmpl/prog/en/modules/tools/overduerules.tt
Caroline Cyr La Rose 920529df42
Bug 31068: Context for translation: Print (verb) vs. Print (noun)
This patch adds context to the term Print in the context of message transport types (as opposed to printing something/print button), for translation purposes.

To test:
0- Apply patch

Check the terms to be changed
1- Go to Tools > Notifications & slips
2- Edit a notification
** 3- In the tabs for different transport types, check the 'Print' term (letter.tt)
4- Go to Tools > Overdue notice/status triggers
** 5- In the transport types, check the 'Print' column heading (overduerules.tt)

Add a new language (fr-CA in the example, change for whatever language code you want)
6- In a terminal, run
gulp po:create --lang fr-CA
7- Then, run
gulp po:update --lang fr-CA
8- In system preferences, enable the new language in language and OpacLanguages
9- Switch the language in staff interface and OPAC

Change the translations
10- In your favourite text editor, open fr-CA-messages.po
11- Find the string msgctxt "Message transport type"
12- Enter a word in msgstr
13- Save the file
14- In a terminal, go to misc/translator
15- Run
./translate install fr-CA

Check the translations
16- Redo the steps to check the terms (steps 1-5) and make sure the terms in steps 3 and 5 are changed for the word you put in step 12.

17- Optionally, check the other pages where the term is supposed to be unchanged and make sure it is unchanged

Check the terms to leave unchanged (optional)
18- Enable the HoldsAutoFill and UseCashRegisters system preferences
19- Go to Administration > Cash registers and create a cash register
20- Go to a patron's account
** 21- Check the 'Print' button in the menu bar or the patron's account (members-toolbar.inc)
22- Go to the 'Accounting' tab
23- Create a manual invoice
** 24- In the 'Transactions' tab, check the 'Print' button in the fee line (boraccount.tt)
25- Pay the fee (make sure to use the cash register)
** 26- In the 'Transactions' tab, check the 'Print' button in the payment line (boraccount.tt)
27- At the top of the transactions table, click the 'Export' option
** 28- Check the 'Print' option (columns_settings.inc)
29- Go to the 'Check out' tab and check out an item
30- Go to the item's bibliographic record
** 31- Check the 'Print' button in the menu bar of the detailed record (cat-toolbar.inc)
32- Add the record to the cart and open the cart
** 33- Check the 'Print' button in the cart (basket.tt)
34- Place a hold on the item
35- In the search bar at the top, click the 'Check in' tab and check in the item
** 36- Check the 'Print' button in the 'Hold filled for' message (returns.tt)
37- Go to Tools > Cash summary for Branch
38- Click 'record cashup' and confirm
39- Click the 'Summary' link in the 'Last cashup' column
** 40- Check the 'Print' button in the cashup summary modal (cashup_summary.inc)
41- Go to Serials
42- Create a subscription (if there aren't any)
43- Receive an issue
44- From the subscription detail page, go to Create routing list
45- Add a recipient to the list
46- Save the routing list
47- Click 'Save and preview routing slip'
** 48- Check the 'Print' button in the routing list preview (routing_preview_slip.tt)

Note: I can't find where the 'Print' from tinymce_i18n.inc is displayed in the staff interface

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-07-18 14:46:37 -03:00

197 lines
12 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE Koha %]
[% USE Branches %]
[% PROCESS 'i18n.inc' %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Overdue notice/status triggers &rsaquo; Tools &rsaquo; Koha</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="tools_overduerules" class="tools">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
<ol>
<li>
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
</li>
<li>
<a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
</li>
<li>
<a href="#" aria-current="page">
Overdue notice/status triggers
</a>
</li>
</ol>
</nav>
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
<h1>Defining [% IF ( branch ) %]overdue actions for [% Branches.GetName( branch ) | html %][% ELSE %]default overdue actions[% END %]</h1>
<div class="help">
<p>Delay is the number of days after a checkout is due before an action is triggered. </p>
<p>If you want Koha to trigger an action (send a letter or restrict a member), a delay value is required.</p>
<p>Columns must be filled left to right: if the first column is blank, other columns will be ignored. </p>
</div>
<form method="post" action="/cgi-bin/koha/tools/overduerules.pl" id="selectlibrary">
<label for="branch">Select a library:</label>
<select id="branch" name="branch">
<option value="">Default</option>
[% PROCESS options_for_libraries libraries => Branches.all( selected => branch ) %]
</select>
<input type="submit" value="Select" />
</form>
[% IF ( ERROR ) %]
<div class="dialog alert">
<h3>Data error</h3>
<p>The following errors were found. Please correct them and submit again:</p>
<ul>
[% IF ( ERRORDELAY ) %]
<li>Delay [% ERRORDELAY | html %] for [% BORERR | html %] patron category has some unexpected characters. There should be only numerical characters. </li>
[% END %]
[% IF ( ERRORUSELESSDELAY ) %]
<li>No letter or restriction action specified for delay [% ERRORUSELESSDELAY | html %] for [% BORERR | html %] patron category. If a delay is supplied, either a letter, restrict action, or both should be specified.</li>
[% END %]
[% IF ( ERRORORDER ) %]
<li>The first notice's delay should be less than the second, which should be less than the third for the <strong>[% BORERR | html %]</strong> patron category </li>
[% END %]
</ul>
</div>
[% END %]
[% IF ( table ) %]
<form method="post" action="/cgi-bin/koha/tools/overduerules.pl">
<input type="hidden" name="op" value="save" />
<input type="hidden" name="branch" value="[% branch | html %]" />
<h3>Rules for overdue actions: [% IF ( branch ) %][% Branches.GetName( branch ) | html %][% ELSE %] default library [% END %]</h3>
[% IF ( datasaved ) %]<div class="dialog message">Changes saved.</div> [% END %]
<div id="rulestabs" class="toptabs">
<ul class="nav nav-tabs" role="tablist">
[% FOR tab IN tabs %]
<li role="presentation">
<a href="#[% tab.id | uri %]" class="tab [% tab.id | html %]" data-number="[% tab.number | html %]" aria-controls="[% tab.id | uri %]" role="tab" data-toggle="tab"></a>
</li>
[% END %]
</ul>
<div class="tab-content">
[% FOR tab IN tabs %]
<div id="[% tab.id | html %]" role="tabpanel" class="tab-pane">
<table>
<thead>
<tr>
<th>&nbsp;</th>
<th scope="col">Delay</th>
<th scope="col">Letter</th>
<th scope="col">Restrict</th>
[% FOREACH mtt IN message_transport_types %]
[% NEXT IF mtt == 'itiva' AND !Koha.Preference('TalkingTechItivaPhoneNotification') %]
[% NEXT IF mtt == 'phone' AND !Koha.Preference('PhoneNotification') %]
<th scope="col">
[% SWITCH mtt %]
[% CASE 'email' %]<span>Email</span>
[% CASE 'print' %]<span>[% tp('Message transport type', 'Print') | html %]</span>
[% CASE 'sms' %]<span>SMS</span>
[% CASE 'feed' %]<span>Feed</span>
[% CASE 'itiva' %]<span>Phone (i-tiva)</span>
[% CASE 'phone' %]<span>Phone</span>
[% CASE %]<span>[% mtt | html %]</span>
[% END %]
</th>
[% END %]
</tr>
</thead>
<tbody>
[% FOREACH value IN tab.values %]
<tr>
<th scope="row">[% value.line | html %]</th>
<td>
<input type="text" inputmode="numeric" pattern="[0-9]*" name="delay[% tab.number | html %]-[% value.overduename | html %]" value="[% value.delay | html %]" />
</td>
<td>
<select name="letter[% tab.number | html %]-[% value.overduename | html %]">
<option value="">No notice</option>
[% FOREACH letter IN letters %]
[% IF letter.code == value.selected_lettercode %]
<option value="[% letter.code | html %]" selected="selected">[% letter.name | html %]</option>
[% ELSE %]
<option value="[% letter.code | html %]">[% letter.name | html %]</option>
[% END %]
[% END %]
</select>
</td>
<td>
[% IF ( value.debarred ) %]
<input type="checkbox" name="debarred[% tab.number | html %]-[% value.overduename | html %]" checked="checked" value="1" />
[% ELSE %]
<input type="checkbox" name="debarred[% tab.number | html %]-[% value.overduename | html %]" value="1" />
[% END %]
</td>
[% FOREACH mtt IN value.message_transport_types %]
[% NEXT IF mtt.value == 'itiva' AND !Koha.Preference('TalkingTechItivaPhoneNotification') %]
[% NEXT IF mtt.value == 'phone' AND !Koha.Preference('PhoneNotification') %]
<td>
[% IF mtt.selected %]
<input type="checkbox" name="mtt[% tab.number | html %]-[% value.overduename | html %]" value="[% mtt.value | html %]" checked="checked" />
[% ELSE %]
[% IF mtt.value == "sms" and not Koha.Preference("SMSSendDriver") %]
<input type="checkbox" name="mtt[% tab.number | html %]-[% value.overduename | html %]" value="[% mtt.value | html %]" disabled="disabled" />
[% ELSE %]
<input type="checkbox" name="mtt[% tab.number | html %]-[% value.overduename | html %]" value="[% mtt.value | html %]" />
[% END %]
[% END %]
</td>
[% END # /FOREACH mtt %]
</tr>
[% END # /FOREACH value %]
</tbody>
</table>
</div> <!-- /.tab-pane -->
[% END # /FOR tabs %]
</div> <!-- /.tab-content -->
</div>
<fieldset class="action"><input type="submit" value="Save changes" /></fieldset>
</form>
[% ELSE %]
<div class="warning">You don't have patron categories defined, or the patron categories are not set to receive overdue notices.</div>
<div class="warning">If this is not what you were expecting, go to <a href="../admin/categories.pl">patron categories</p></div>
[% END %]
</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 -->
[% MACRO jsinclude BLOCK %]
[% Asset.js("js/tools-menu.js") | $raw %]
<script>
var tab_map = { "1" : _("First"), "2" : _("Second"), "3" : _("Third")};
$(document).ready(function() {
$('#selectlibrary').find("input:submit").hide();
$('#branch').change(function() {
$('#selectlibrary').submit();
});
$("li>a.tab").each( function(){
var id = $(this).attr("data-number");
$(this).html(tab_map[id]);
});
if( $("#rulestabs .tab-pane.active").length < 1 ){
$("#rulestabs a:first").tab("show");
}
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]