Koha/koha-tmpl/intranet-tmpl/prog/en/modules/serials/checkexpiration.tt
Jonathan Druart 48bf9b1d91
Bug 30718: Use flatpickr's altInput
The idea rely on the KohaDates TT plugin for the date formatting. We
should not have any output_pref calls in pl or pm (there are some
exceptions, for ILSDI for instance).

Also flatpickr will deal with the places where dates are inputed. We
will pass the raw SQL value (what we call 'iso' in Koha::DateUtils), and
the controller will receive the same value, no need to additional
conversion.
Note that DBIC has the capability to auto-deflate DateTime objects,
which makes things way easier. We can either pass the value we receive
from the controller, or pass a DT object to our methods.

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-08-19 08:26:31 -03:00

211 lines
8 KiB
Text

[% USE Branches %]
[% USE KohaDates %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Check expiration &rsaquo; Serials &rsaquo; Koha</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="ser_checkexpiration" 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>
<li>
<a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a>
</li>
<li>
<a href="#" aria-current="page">
Check expiration
</a>
</li>
</ol>
</nav>
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
<h1>Check expiration</h1>
<form name="f" action="/cgi-bin/koha/serials/checkexpiration.pl" method="get" class="validated">
<fieldset class="rows">
<legend>Filter results:</legend>
<ol>
<ol>
<li><label for="title">Title:</label>
<input id="title" type="text" name="title" size="15" value="[% title | html %]" /></li>
<li><label for="issn">ISSN:</label>
<input id="issn" type="text" name="issn" size="15" value="[% issn | html %]" /></li>
[% IF can_change_library %]
<li><label for="branch">Library:</label>
<select id="branch" name="branch">
<option value="">All</option>
[% PROCESS options_for_libraries libraries => Branches.all( selected => branch ) %]
</select>
</li>
[% END %]
<li><label for="date" class="required">Expiring before:</label>
<input id="date" type="text" name="date" size="10" value="[% date | html %]" class="required focus flatpickr" required="required" />
<span class="required">Required</span>
<div class="hint">[% INCLUDE 'date-format.inc' %]</div></li>
</ol>
<li>
<label for="showhistoricexpired">Include expirations before today:</label>
[% IF showhistoricexpired %]
<input id="showhistoricexpired" type="checkbox" name="showhistoricexpired" checked="checked" />
[% ELSE %]
<input id="showhistoricexpired" type="checkbox" name="showhistoricexpired" />
[% END %]
</li>
</ol>
</fieldset>
<fieldset class="action"><input type="submit" value="Search" /></fieldset>
</form>
[% IF ( subscriptions_loop ) %]
<p>
<strong>[% numsubscription | html %]</strong> subscription(s)
[% IF ( title ) %]
with title matching <span class="title">[% title | html %]</class>
[% IF ( issn ) %]and [% END %]
[% END %]
[% IF ( issn ) %]
with ISSN matching <strong>[% issn | html %]</strong>
[% END %]
will expire before <strong>[% date | $KohaDates %]</strong>
</p>
<div class="checkexpiration-table_table_controls">
<a href="#" class="SelectAll"><i class="fa fa-check"></i> Select all</a> |
<a href="#" class="ClearAll"><i class="fa fa-remove"></i> Clear all</a>
<span class="itemselection_actions">
| Actions:
<a class="itemselection_action_renew" title="Renew selected subscriptions"><i class="fa fa-refresh"></i> Renew selected subscriptions</a>
</span>
</div>
<table>
<tr>
<th></th>
<th>ISSN</th>
<th>Title</th>
[% IF can_change_library %]<th>Library</th>[% END %]
<th>OPAC note</th>
<th>Nonpublic note</th>
<th>Expiration date</th>
<th class="noExport">Actions</th>
</tr>
[% FOREACH subscriptions_loo IN subscriptions_loop %]
<tr>
<td style="text-align:center;vertical-align:middle">
<input type="checkbox" value="[% subscriptions_loo.subscriptionid | html %]" name="subscriptionid" />
</td>
<td>
[% subscriptions_loo.issn | html %]
</td>
<td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscriptions_loo.subscriptionid |url %]">[% IF ( subscriptions_loo.title ) %]
[% subscriptions_loo.title | html %]
[% ELSE %]
|
[% END %]
</a>
</td>
[% IF can_change_library %]<td>
[% Branches.GetName( subscriptions_loo.branchcode ) | html %]
</td>[% END %]
<td>
[% subscriptions_loo.notes | html %]
</td>
<td>
[% subscriptions_loo.internalnotes | html %]
</td>
<td>
[% subscriptions_loo.expirationdate | $KohaDates %]
</td>
<td class="actions">
<a href="/cgi-bin/koha/serials/subscription-add.pl?op=modify&amp;subscriptionid=[% subscriptions_loo.subscriptionid | uri %]" class="btn btn-default btn-xs"><i class="fa fa-pencil"></i> Edit</a>
<a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscriptions_loo.subscriptionid | uri %]" data-subscriptionid="[% subscriptions_loo.subscriptionid | html %]" class="btn btn-default btn-xs renew_subscription"><i class="fa fa-refresh"></i> Renew</a>
</td>
</tr>
[% END %]
</table>
[% ELSIF searched %]
<p>No results for your query</p>
[% END %]
</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 %]
[% INCLUDE 'calendar.inc' %]
<script>
$(document).ready(function(){
$(".renew_subscription").on("click",function(e){
e.preventDefault();
var subscriptionid = $(this).data("subscriptionid");
newin=window.open("/cgi-bin/koha/serials/subscription-renew.pl?mode=popup&subscriptionid="+subscriptionid,'popup','width=590,height=440,toolbar=false,scrollbars=yes,resize=yes');
});
$('a.itemselection_action_renew').on("click", function(e){
e.preventDefault();
newin=window.open($(this).attr('href'),'popup','width=590,height=440,toolbar=false,scrollbars=yes,resize=yes');
});
function itemSelectionBuildRenewLink() {
var subscription_ids= new Array();
$("input[name='subscriptionid'][type='checkbox']:checked").each(function() {
subscription_ids.push($(this).val());
});
if (subscription_ids.length > 0) {
var url = '/cgi-bin/koha/serials/subscription-renew.pl?op=multi_renew';
url += '&subscriptionid=' + subscription_ids.join('&subscriptionid=');
$('a.itemselection_action_renew').attr('href', url);
} else {
return false;
}
return true;
}
function itemSelectionBuildActionLinks() {
var export_link_ok = itemSelectionBuildRenewLink();
if (export_link_ok) {
$('.itemselection_actions').show();
} else {
$('.itemselection_actions').hide();
}
}
itemSelectionBuildActionLinks();
$("input[name='subscriptionid'][type='checkbox']").change(function() {
itemSelectionBuildActionLinks();
});
$(".SelectAll, .ClearAll").on("click",function(e){
e.preventDefault();
var checkboxes = $(this).parent().siblings('table').first().find('input[type="checkbox"]');
checkboxes.prop('checked', $(this).hasClass('SelectAll'));
itemSelectionBuildActionLinks();
});
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]