Koha/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt
Victor Grousset/tuxayo 7758a0248e
Bug 30733: Simplify translatable strings
And a few minor fixes when they where causing issues for
translatability.
And rephrased a string about password reset to have it identical to
other strings with the same meaning.

Simplified via wrapping strings with <span> to split to huge
concatenated strings with a lot of %s everywhere.

== Test plan ==
This patch needs mainly proof reading. Still it's possible to do some
basic testing to demonstrate that adding a <span> in an IF doesn't
break anything.
Pick in one of the 110 modified templates a string that you know how to
display. Otherwise:
1. acquisitions => vendor => basket => add to basket =>
   search "from existing record" => add order
2. Cancel the order
3. You see without issue "Bibliographic record will not be deleted"
4. administration => Patron categories
5. Try to delete a used and unused category
6. You see as expected
   Category XXXX is in use. Deletion not possible!
   and
   Confirm deletion of category XXXX

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-06-17 10:16:34 -03:00

591 lines
36 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE Koha %]
[% USE KohaDates %]
[% USE Branches %]
[% USE AuthorisedValues %]
[% USE Price %]
[% USE TablesSettings %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Details for subscription #[% subscriptionid | html %] &rsaquo; Serials &rsaquo; Koha</title>
[% INCLUDE 'doc-head-close.inc' %]
[% Asset.css("lib/jquery/plugins/treetable/stylesheets/jquery.treetable.css") | $raw %]
</head>
<body id="ser_subscription-detail" class="ser">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'serials-search.inc' %]
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
<ol>
<li>
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
</li>
[% IF blocking_error %]
<li>
<a href="#" aria-current="page">
Serials
</a>
</li>
[% ELSE %]
<li>
<a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a>
</li>
<li>
<a href="#" aria-current="page">
Details for subscription #[% subscriptionid | html %]
</a>
</li>
[% END %]
</ol>
</nav>
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% INCLUDE 'serials-toolbar.inc' %]
[% INCLUDE 'mana/mana-comment-status.inc' %]
<h1>Subscription for [% bibliotitle | html %] [% bibliosubtitle | html %] [% IF closed %](closed)[% END %]</h1>
[% IF ( abouttoexpire ) %]
[% UNLESS closed %]
<div class="dialog message">Subscription will expire [% enddate | html %]. <a href="#" id="renewsub">Renew this subscription</a>.</div>
[% END %]
[% END %]
[% IF ( NEEDSCONFIRMATION ) %]
<div id="circ_needsconfirmation" class="dialog alert">
<h3>Please confirm subscription deletion</h3>
<ul>
[% IF ( NOTEXPIRED ) %] <li>The subscription has not expired yet</li> [% END %]
[% IF ( LINKEDISSUES ) %] <li>The subscription has linked issues</li> [% END %]
[% IF ( LINKEDITEMS ) %] <li>The subscription has linked items<br /> Those items won't be deleted</li> [% END %]
</ul>
<form method="post" action="/cgi-bin/koha/serials/subscription-detail.pl">
<input type="hidden" name="subscriptionid" value="[% subscriptionid | html %]" />
<input type="hidden" name="issueconfirmed" value="1" />
<input type="hidden" name="op" value="del" />
<button type="submit" class="approve" accesskey="y"><i class="fa fa-fw fa-check"></i> Yes, delete (Y)</button>
</form>
<form method="get" action="/cgi-bin/koha/serials/subscription-detail.pl">
<input type="hidden" name="subscriptionid" value="[% subscriptionid | html %]" />
<button type="submit" class="deny" accesskey="n"><i class="fa fa-fw fa-remove"></i> No, don't delete (N)</button>
</form>
</div>
[% END # /IF NEEDSCONFIRMATION %]
[% IF mana_code.defined %]
<div id="alert-community" class="dialog message">
<p>
[% mana_code | html %]
</p>
</div>
[% END %]
<div id="subscription_description" class="toptabs">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active">
<a href="#subscription_info" aria-controls="subscription_info" role="tab" data-toggle="tab">Information</a>
</li>
<li role="presentation">
<a href="#subscription_planning" aria-controls="subscription_planning" role="tab" data-toggle="tab">Planning</a>
</li>
<li role="presentation">
<a href="#subscription_issues" aria-controls="subscription_issues" role="tab" data-toggle="tab">Issues</a>
</li>
<li role="presentation">
<a href="#subscription_summary" aria-controls="subscription_summary" role="tab" data-toggle="tab">Summary</a>
</li>
[% IF orders_grouped.size %]
<li role="presentation">
<a href="#acquisition_details" aria-controls=" aria-controls="profile" role="tab" data-toggle="tab"" role="tab" data-toggle="tab">Acquisition details</a>
</li>
[% END %]
</ul>
<div class="tab-content">
<div id="subscription_info" role="tabpanel" class="tab-pane active">
<div class="row">
<div class="col-sm-6">
<div class="rows">
<ol>
<li><span class="label">Subscription ID: </span>[% subscriptionid | html %]</li>
<li><span class="label">Librarian identity:</span> [% librarian | html %]</li>
<li><span class="label">Vendor:</span> <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% aqbooksellerid | uri %]">[% aqbooksellername | html %]</a></li>
<li><span class="label">Biblio:</span> <a href="[% PROCESS biblio_a_href biblionumber => bibnum %]">[% bibliotitle | html %] [% bibliosubtitle | html %]</a> <em>([% bibnum | html %])</em></li>
[% IF ( OPACBaseURL ) %]
<li>
<span class="label">OPAC view:</span>
<a id="view-subscription-in-opac" target="_blank" href="[% Koha.Preference('OPACBaseURL') | url %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblionumber | uri %]">Open in new window.</a>
</li>
[% END %]
[% IF ( branchcode ) %]
<li><span class="label">Library:</span> [% Branches.GetName( branchcode ) | html %]</li>
[% END %]
[% IF ( serialsadditems ) %]
<li><span class="label">Items:</span> Serial receipt creates an item record.</li>
[% ELSE %]
<li><span class="label">Items:</span> Serial receipt does not create an item record.</li>
[% END %]
<li>
<span class="label">Serial number:</span>
[% IF skip_serialseq %]
Serial number is skipped when an irregularity is found.
[% ELSE %]
Serial number is kept when an irregularity is found.
[% END %]
</li>
<li><span class="label">Grace period:</span> [% graceperiod | html %]</li>
</ol>
</div> <!-- /.rows -->
</div> <!-- /.col-sm-6 -->
<div class="col-sm-6">
<div class="rows">
<ol>
[% IF ( location ) %]<li><span class="label">Location:</span> [% location | html %]</li>[% END %]
[% IF ( callnumber ) %]<li><span class="label">Call number:</span> [% callnumber | html %]</li>[% END %]
[% IF ( ccode ) %]<li><span class="label">Collection:</span> [% ccode | html %]</li>[% END %]
[% IF ( staffdisplaycount ) %]<li><span class="label">Number of issues to display to staff:</span>[% staffdisplaycount | html %]</li>[% END %]
[% IF ( opacdisplaycount ) %]<li><span class="label">Number of issues to display in OPAC:</span>[% opacdisplaycount | html %]</li>[% END %]
[% IF ( letter ) %]
<li>
<span class="label">Patron notification:</span> [% letter | html %]
(<a href="/cgi-bin/koha/serials/viewalerts.pl?subscriptionid=[% subscriptionid | uri %]">subscribers</a>)
</li>
[% END %]
[% IF ( hasRouting ) %]<li><span class="label">Routing:</span> yes</li>[% END %]
</ol>
</div> <!-- /.rows -->
</div> <!-- /.col-sm-6 -->
</div> <!-- /.row -->
[% IF available_additional_fields.count %]
<hr>
<div class="row">
<div class="col-sm-6">
<h3>Additional fields:</h3>
<div class="rows">
<ol>
[% INCLUDE 'additional-fields-display.inc' available=available_additional_fields values=additional_field_values %]
</ol>
</div> <!-- /.rows -->
</div> <!-- /.col-sm-6 -->
</div> <!-- /.row -->
[% END %]
</div> <!-- /#subscription_info -->
<div id="subscription_planning" role="tabpanel" class="tab-pane">
<div class="row">
<div class="col-sm-12">
<div class="rows">
<ol>
<li>
<span class="label">Beginning date:</span>
[% startdate | html %]
</li>
<li>
<span class="label">Frequency:</span>
[% frequency.description | html %]
</li>
<li>
<span class="label">Manual history: </span>
[% IF ( manualhistory ) %]
Enabled <a href="/cgi-bin/koha/serials/subscription-history.pl?subscriptionid=[% subscriptionid | uri %]">Edit history</a>
[% ELSE %]
Disabled
[% END %]
</li>
<li>
<span class="label">Number pattern:</span>
[% numberpattern.label | html %]
</li>
<li>
<table>
<tr>
<td>Starting with:</td>
[% IF (has_X) %]
<td>[% lastvalue1 | html %]</td>
[% END %]
[% IF (has_Y) %]
<td>[% lastvalue2 | html %]</td>
[% END %]
[% IF (has_Z) %]
<td>[% lastvalue3 | html %]</td>
[% END %]
</tr>
<tr>
<td>Rollover:</td>
[% IF (has_X) %]
<td>[% numberpattern.whenmorethan1 | html %]</td>
[% END %]
[% IF (has_Y) %]
<td>[% numberpattern.whenmorethan2 | html %]</td>
[% END %]
[% IF (has_Z) %]
<td>[% numberpattern.whenmorethan3 | html %]</td>
[% END %]
</tr>
</table>
</li>
[% IF ( irregular_issues ) %]
<li>
<span class="label">Irregularity:</span>
[% irregular_issues | html %] issues
</li>
[% END %]
<li>
<span class="label">First arrival:</span>
[% firstacquidate | html %]
</li>
[% IF ( numberlength ) %]<li>
<span class="label">Number of issues:</span>
[% numberlength | html %]</li>
[% END %]
[% IF ( weeklength ) %]<li>
<span class="label">Number of weeks:</span>
[% weeklength | html %]</li>
[% END %]
[% IF ( monthlength ) %]<li>
<span class="label">Number of months:</span>
[% monthlength | html %]</li>
[% END %]
</ol>
</div> <!-- /.rows -->
</div> <!-- /.col-sd-12 -->
</div> <!-- /.row -->
</div> <!-- /#subscription_planning -->
<div id="subscription_numbering" role="tabpanel" class="tab-pane" style="display:none">
<h3>Numbering calculation</h3>
<p><label>Numbering formula:</label> [% numberingmethod | html %]</p>
<table>
<tr>
<th>&nbsp;</th>
<th>X</th>
<th>Y</th>
<th>Z</th>
</tr>
<tr>
<td>Add</td>
<td>
[% add1 | html %]
</td>
<td>
[% add2 | html %]
</td>
<td>
[% add3 | html %]
</td>
</tr>
<tr>
<td>once every</td>
<td>[% every1 | html %]</td>
<td>[% every2 | html %]</td>
<td>[% every3 | html %]</td>
</tr>
<tr>
<td>When more than</td>
<td>[% whenmorethan1 | html %] [% IF ( innerloop1 ) %]<br />
<em>(is [% innerloop1 | html %])</em>[% END %]</td>
<td>[% whenmorethan2 | html %] [% IF ( innerloop2 ) %]<br />
<em>(is [% innerloop2 | html %])</em>[% END %]</td>
<td>[% whenmorethan3 | html %] [% IF ( innerloop3 ) %]<br />
<em>(is [% innerloop3 | html %])</em>[% END %]</td>
</tr>
<tr>
<td>Set back to</td>
<td>[% setto1 | html %]</td>
<td>[% setto2 | html %]</td>
<td>[% setto3 | html %]</td>
</tr>
<tr>
<td>
Inner counter
</td>
<td>[% innerloop1 | html %]</td>
<td>[% innerloop2 | html %]</td>
<td>[% innerloop3 | html %]</td>
</tr>
<tr>
<td>
Last value
</td>
<td>[% lastvalue1 | html %]</td>
<td>[% lastvalue2 | html %]</td>
<td>[% lastvalue3 | html %]</td>
</tr>
</table>
</div> <!-- /#subscription_numbering -->
<div id="subscription_issues" role="tabpanel" class="tab-pane">
<table>
<tr>
<th>Issue number</th>
<th>Planned date</th>
<th>Published date</th>
<th>Published date (text)</th>
<th>Status</th>
</tr>
[% FOREACH serialslis IN serialslist %]
<tr>
<td>
[% serialslis.serialseq | html %]
</td>
<td>
[% IF serialslis.planneddate %]
[% serialslis.planneddate | html %]
[% ELSE %]
<span>Unknown</span>
[% END %]
</td>
<td>
[% IF serialslis.publisheddate %]
[% serialslis.publisheddate | html %]
[% ELSE %]
<span>Unknown</span>
[% END %]
</td>
<td>
[% serialslis.publisheddatetext | html %]
</td>
<td>
[% IF ( serialslis.status1 ) %]<span>Expected</span>[% END %]
[% IF ( serialslis.status2 ) %]<span>Arrived</span>[% END %]
[% IF ( serialslis.status3 ) %]<span>Late</span>[% END %]
[% IF ( serialslis.status4 ) %]<span>Missing</span>[% END %]
[% IF ( serialslis.status41 ) %]<span>Missing (never received)</span>[% END %]
[% IF ( serialslis.status42 ) %]<span>Missing (sold out)</span>[% END %]
[% IF ( serialslis.status43 ) %]<span>Missing (damaged)</span>[% END %]
[% IF ( serialslis.status44 ) %]<span>Missing (lost)</span>[% END %]
[% IF ( serialslis.status5 ) %]<span>Not issued</span>[% END %]
[% IF ( serialslis.status6 ) %]<span>Delete</span>[% END %]
[% IF ( serialslis.status7 ) %]
<span>Claimed</span>
[% IF ( serialslis.claimdate ) %]
[% serialslis.claimdate | html %]
[% END %]
[% END %]
[% IF ( serialslis.status8 ) %]<span>Stopped</span>[% END %]
</td>
</tr>
[% END # /FOREACH serialslist %]
</table>
</div> <!-- /#subscription_issues -->
<div id="subscription_summary" role="tabpanel" class="tab-pane">
<div class="row">
<div class="col-sm-12">
<div class="rows">
<ol>
<li><span class="label">Start date:</span> [% startdate | html %] </li>
<li><span class="label">End date:</span> [% enddate | html %]</li>
<li><span class="label">History start date:</span> [% histstartdate | html %] </li>
<li><span class="label">History end date:</span> [% histenddate | html %]</li>
<li><span class="label">Received issues:</span>[% recievedlist | html | html_line_break %]</li>
<li><span class="label">Missing issues:</span>[% missinglist | html | html_line_break %]</li>
<li><span class="label">Nonpublic note:</span>[% internalnotes | html | html_line_break %]</li>
<li><span class="label">Public note:</span>[% notes | html | html_line_break %]</li>
<li><span class="label">History staff note:</span>[% librariannote | html | html_line_break %]</li>
<li><span class="label">History OPAC note:</span>[% opacnote | html | html_line_break %]</li>
</ol>
</div> <!-- /.rows -->
</div> <!-- /.col-sm-12 -->
</div> <!-- /.row -->
</div> <!-- /#subscription_summary -->
[% IF orders_grouped.size %]
<div id="acquisition_details" role="tabpanel" class="tab-pane">
<h2>Acquisition details</h2>
<table id="orders">
<caption>
<span class="actions">
<a href="#" id="hide_received_orders">Hide already received orders</a>
| <a href="#" id="show_all_orders">Show all orders</a>
| <a href="#" id="expand_all">Expand all</a>
| <a href="#" id="collapse_all">Collapse all</a>
</span>
</caption>
<thead>
<tr>
<th>Invoice</th>
<th>Basket</th>
<th>Order number</th>
<th>Creation date</th>
<th>Receive date</th>
<th>Status</th>
<th>Internal note</th>
<th>Vendor note</th>
<th>Fund</th>
<th>Quantity</th>
<th title="ecost tax exc. / ecost tax inc.">Ordered</th>
<th title="Actual cost tax exc. / Actual cost tax inc.">Spent</th>
</tr>
</thead>
<tbody>
[% FOR ordernumber IN orders_grouped.keys %]
[% SET parent_tree_id = loop.count %]
[% SET parent_order = orders_grouped.$ordernumber %]
<tr data-tt-id="[% parent_tree_id | html %]" class="highlighted-row">
<td></td> [%# invoice %]
<td>
[% IF CAN_user_acquisition_order_manage %]
<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% parent_order.basket.basketno | uri %]">[% parent_order.basket.basketname | html %] ([% parent_order.basket.basketno | html %])</a>
[% ELSE %]
[% parent_order.basket.basketname | html %] ([% parent_order.basket.basketno | html %])
[% END %]
</td>
<td></td> [%# ordernumber %]
<td>[% parent_order.basket.creationdate | $KohaDates %]</td>
<td>[% parent_order.datereceived | $KohaDates %]</td>
<td>
[% SWITCH parent_order.orderstatus %]
[% CASE 'new' %]<span title="status_1">New</span>
[% CASE 'ordered' %]<span title="status_2">Ordered</span>
[% CASE 'partial' %]<span title="status_3">Partial</span>
[% CASE 'complete' %]<span title="status_4">Complete</span>
[% CASE 'cancelled' %]<span title="status_5">Cancelled</span>
[% END %]
</td>
<td></td> [%# internalnote %]
<td></td> [%# vendornote %]
<td></td> [%# fund %]
<td>[% parent_order.quantity | html %]</td>
<td>[% parent_order.ecost_tax_excluded | $Price %] / [% parent_order.ecost_tax_included | $Price %]</td>
<td>[% parent_order.unitprice_tax_excluded | $Price %] / [% parent_order.unitprice_tax_included | $Price %]</td>
</tr>
[% FOR order IN parent_order.orders %]
<tr data-tt-id="0" data-tt-parent-id="[% parent_tree_id | html %]">
<td>
[% IF order.invoice %]
[% IF CAN_user_acquisition %]
<a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% order.invoiceid | uri %]" title="Invoice detail page">
[% order.invoice.invoicenumber | html %]</a>
[% ELSE %]
[% order.invoice.invoicenumber | html %]
[% END %]
[% END %]
</td>
<td></td> [%# basket %]
<td>[% order.ordernumber | html %]</td>
<td data-order="[% order.basket.creationdate | uri %]">[% order.basket.creationdate | $KohaDates%]</td>
<td data-order="[% order.datereceived | uri %]">[% order.datereceived | $KohaDates %]</td>
[% SWITCH order.orderstatus %]
[% CASE 'new' %]<td data-order="status_1"><span>New</span>
[% CASE 'ordered' %]<td data-order="status_2"><span>Ordered</span>
[% CASE 'partial' %]<td data-order="status_3"><span>Partial</span>
[% CASE 'complete' %]<td data-order="status_4"><span>Complete</span>
[% CASE 'cancelled' %]<td data-order="status_5"><span>Cancelled</span>
[% END %]
</td>
<td>[% order.order_internalnote | html %]</td>
<td>[% order.order_vendornote | html %]</td>
<td>[% order.fund.budget_name | html %]</td>
<td>[% order.quantity | html %]</td>
<td>
[% UNLESS order.datereceived %]
[% order.ecost_tax_excluded * order.quantity | $Price %] / [% order.ecost_tax_included * order.quantity | $Price %]
[% END %]
</td>
<td>
[% IF order.datereceived %]
[%# FIXME What if unitprice has not been filled? %]
[% order.unitprice_tax_excluded * order.quantity | $Price %] / [% order.unitprice_tax_included * order.quantity | $Price %]
[% END %]
</td>
</tr>
[% END # /FOR order %]
[% END # /FOR ordernumber %]
</tbody>
</table> <!-- /#orders -->
</div> <!-- /#acquisition_details -->
[% END # IF orders_grouped.size %]
</div> <!-- /.tab-content -->
</div> <!-- /#subscription_description -->
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'serials-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
[% MACRO jsinclude BLOCK %]
<script>
var subscriptionid = "[% subscriptionid | html %]";
</script>
[% Asset.js("js/serials-toolbar.js") | $raw %]
[% Asset.js("js/mana.js") | $raw %]
[% INCLUDE 'datatables.inc' %]
[% Asset.js("lib/jquery/plugins/treetable/jquery.treetable.js") | $raw %]
[% INCLUDE 'columns_settings.inc' %]
<script>
// the english words used in display purposes
var text = new Array(_("Number"),_("Volume"),_("Issue"),_("Month"),_("Week"),_("Starting with:"),_("Rollover at:"),_("Choose hemisphere:"),_("Northern"),_("Southern",
"Autumn"),_("Winter"),_("Spring"),_("Summer"),_("Fall"),_("Season"),_("Year"));
$(document).ready(function() {
$("#renewsub").click(function(){
popup([% subscriptionid | html %]);
return false;
})
var table_settings = [% TablesSettings.GetTableSettings( 'serials', 'subscription-detail', 'orders', 'json' ) | $raw %];
var table = KohaTable("orders", {
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [ 'NoVisible' ] },
{ "bSortable": false, "aTargets": ["_all"] },
],
'bPaginate': false,
'bAutoWidth': false,
'bSort': false,
}, table_settings);
[% IF orders_grouped.size %]
$(table).treetable({
expandable: true,
initialState: 'expanded',
});
$(table).treetable('expandAll');
$("#expand_all").click(function(e){
e.preventDefault();
$(table).treetable('expandAll');
});
$("#collapse_all").click(function(e){
e.preventDefault();
$(table).treetable('collapseAll');
});
[% END %]
$("#hide_received_orders").click(function(e){
e.preventDefault();
table.fnFilter( '^$', 4, true ); // Not empty "Receive date" columns
});
$("#show_all_orders").click(function(e){
e.preventDefault();
table.fnFilter( '', 4 ); // Not filter, display all columns
});
$("#show_all_orders").click();
});
function mana_comment_close(){
$("#selected_id").val("");
$("#mana-resource-id").val("");
$("#mana-comment").val("");
$("#mana-comment-box").modal("hide");
}
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]