Koha/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt
Owen Leonard 5fe1ad8ac6
Bug 35402: Update the OPAC and staff interface to Bootstrap 5
This patch updates the OPAC and staff interface to use Bootstrap 5.
Bootstrap CSS assets are now pulled from node_modules and compiled into
staff-global.css and opac.css at build time. This update lays the
foundations of some other chnages, especially the addition of a dark
mode in the future.

Hundreds of templates have been updated, mostly with updates to the grid
markup. Most of the responsive behavior is still the same with the
exception of improved flexibility of headers and footers in both the
OPAC and staff interface.

The other most common change is to add a new "namespace" to data
attributes used by Bootstrap, e.g. "data-bs-target" or "data-bs-toggle".
Modal markup has also been updated everywhere. Other common changes:
dropdown button markup, alert markup (we now use Bootstrap's "alert
alert-warning" and "alert alert-info" instead of our old "dialog alert"
and "dialog info").

Bootstrap 5 now uses CSS variables which we can override in our own
'_variables.scss' (in both the OPAC and staff) to accomplish a lot of
the style overrides which we previously put in staff-global.scss.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-08-23 15:58:41 +02:00

273 lines
16 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE Koha %]
[% USE KohaDates %]
[% PROCESS 'i18n.inc' %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% FILTER collapse %]
[% tx("Renew {title}", { title = title }) | html %] &rsaquo;
[% t("Circulation") | html %] &rsaquo;
[% t("Koha") | html %]
[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="circ_renew" class="circ">
[% WRAPPER 'header.inc' %]
[% INCLUDE 'circ-search.inc' %]
[% END %]
[% WRAPPER 'sub-header.inc' %]
[% WRAPPER breadcrumbs %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a>
[% END %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
<span>Renew</span>
[% END %]
[% END #/ WRAPPER breadcrumbs %]
[% END #/ WRAPPER sub-header.inc %]
<div class="main container-fluid">
<div class="row">
<div class="col-sm-12">
<main>
<div class="row">
[% IF Koha.Preference('CircSidebar') %]
<div class="col-md-10 order-md-2 order-sm-1">
[% ELSE %]
<div class="col-md-10 offset-md-1 col-lg-8 offset-lg-2">
[% END %]
[% INCLUDE 'messages.inc' %]
[% IF error %]
<div class="alert alert-warning">
<h1>Cannot renew:</h1>
[% IF error == "no_item" %]
<p>No item matches this barcode</p>
[% ELSIF error == "no_checkout" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% item.itemnumber | uri %]&amp;biblionumber=[% item.biblio.biblionumber | uri %]&amp;bi=[% item.biblioitemnumber.biblioitemnumber | uri %]#item[% item.itemnumber | uri %]">[% item.barcode | html %]</a> ) is not checked out to a patron.</p>
[% ELSIF error == "too_many" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( [% item.barcode | html %] ) has been renewed the maximum number of times by [% borrower.firstname | html %] [% borrower.surname | html %] ( <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrower.borrowernumber | uri %]"> [% borrower.cardnumber | html %] </a> )</p>
[% IF Koha.Preference('AllowRenewalLimitOverride') %]
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
[% INCLUDE 'csrf-token.inc' %]
<input type="hidden" name="barcode" value="[% item.barcode | html %]"/>
<input type="hidden" name="override_limit" value="1" />
<input type="hidden" name="op" value="cud-renew" />
<input type="hidden" name="hard_due_date" value="[% hard_due_date | html %]" />
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override limit and renew</button>
</form>
[% END %]
[% ELSIF error == "too_unseen" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio %] ( [% item.barcode | html %] ) has been renewed the maximum number of consecutive times without being seen by the library )</p>
[% IF Koha.Preference('AllowRenewalLimitOverride') %]
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
[% INCLUDE 'csrf-token.inc' %]
<input type="hidden" name="barcode" value="[% item.barcode | html %]"/>
<input type="hidden" name="override_limit" value="1" />
<input type="hidden" name="op" value="cud-renew" />
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override limit and renew</button>
</form>
[% END %]
[% ELSIF error == "too_soon" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( [% item.barcode | html %] ) cannot be renewed before [% soonestrenewdate | $KohaDates %]. </p>
[% IF Koha.Preference('AllowRenewalLimitOverride') %]
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
[% INCLUDE 'csrf-token.inc' %]
<input type="hidden" name="barcode" value="[% item.barcode | html %]"/>
<input type="hidden" name="override_limit" value="1" />
<input type="hidden" name="op" value="cud-renew" />
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override and renew</button>
</form>
[% END %]
[% ELSIF error == "auto_too_soon" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( [% item.barcode | html %] ) has been scheduled for automatic renewal and cannot be renewed before [% soonestrenewdate | $KohaDates %]. </p>
[% IF Koha.Preference('AllowRenewalLimitOverride') %]
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
[% INCLUDE 'csrf-token.inc' %]
<input type="hidden" name="barcode" value="[% item.barcode | html %]"/>
<input type="hidden" name="override_limit" value="1" />
<input type="hidden" name="op" value="cud-renew" />
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override and renew</button>
</form>
[% END %]
[% ELSIF error == "auto_too_late" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( [% item.barcode | html %] ) has been scheduled for automatic renewal and cannot be renewed anymore since [% latestautorenewdate | $KohaDates %]. </p>
[% IF Koha.Preference('AllowRenewalLimitOverride') %]
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
[% INCLUDE 'csrf-token.inc' %]
<input type="hidden" name="barcode" value="[% item.barcode | html %]"/>
<input type="hidden" name="override_limit" value="1" />
<input type="hidden" name="op" value="cud-renew" />
<input type="submit" class="btn btn-default approve" value="Override and renew" />
</form>
[% END %]
[% ELSIF error == "auto_account_expired" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( [% item.barcode | html %] ) has been scheduled for automatic renewal and cannot be renewed because the patron's account is expired</p>
[% IF Koha.Preference('AllowRenewalLimitOverride') %]
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
[% INCLUDE 'csrf-token.inc' %]
<input type="hidden" name="barcode" value="[% item.barcode | html %]"/>
<input type="hidden" name="override_limit" value="1" />
<input type="hidden" name="op" value="cud-renew" />
<input type="submit" class="btn btn-default approve" value="Override and renew" />
</form>
[% END %]
[% ELSIF error == "auto_renew" or error == "auto_too_much_oweing" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( [% item.barcode | html %] ) has been scheduled for automatic renewal. </p>
[% IF Koha.Preference('AllowRenewalLimitOverride') %]
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
[% INCLUDE 'csrf-token.inc' %]
<input type="hidden" name="barcode" value="[% item.barcode | html %]"/>
<input type="hidden" name="override_limit" value="1" />
<input type="hidden" name="op" value="cud-renew" />
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override limit and renew</button>
</form>
[% END %]
[% ELSIF error == "on_reserve" %]
<p>[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %] ( [% item.barcode | html %] ): This item is on hold for another patron.</p>
<form method="post" action="/cgi-bin/koha/circ/renew.pl">
[% INCLUDE 'csrf-token.inc' %]
<input type="hidden" name="barcode" value="[% item.barcode | html %]"/>
<input type="hidden" name="override_limit" value="1" />
<input type="hidden" name="override_holds" value="1" />
<div>
<label for="renewonholdduedate">Renewal due date:</label>
<input type="text" size="20" id="renewonholdduedate" name="renewonholdduedate" value="" class="flatpickr" data-flatpickr-enable-time="true" />
</div>
<input type="hidden" name="op" value="cud-renew" />
<button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> Override and renew</button>
</form>
[% ELSIF error == "patron_restricted" %]
<p>[% borrower.firstname | html %] [% borrower.surname | html %] ( <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrower.borrowernumber | uri %]"> [% borrower.cardnumber | html %] </a> ) is currently restricted.</p>
[% ELSIF error == "item_denied_renewal" %]
<p>Item is not allowed renewal.</p>
[% ELSIF error == "onsite_checkout" %]
<p>Item cannot be renewed because it's an onsite checkout</p>
[% ELSIF error == 'recalled' %]
<p>This item has been recalled.</p>
[% ELSE %]
[% error | html %]
[% END %]
<form method="get" action="/cgi-bin/koha/circ/renew.pl">
<input type="hidden" name="hard_due_date" value="[% hard_due_date | html %]" />
<button type="submit" class="btn btn-default deny"><i class="fa fa-times"></i> Continue without renewing</button>
</form>
</div>
[% END %]
[% IF date_due %]
<div class="alert alert-info">
<h1>Item renewed:</h1>
<p>
[% INCLUDE 'biblio-title.inc' biblio=item.biblio link = 1 %]
( <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% item.itemnumber | uri %]&amp;biblionumber=[% item.biblio.biblionumber | uri %]&amp;bi=[% item.biblioitemnumber.biblioitemnumber | uri %]#item[% item.itemnumber | uri %]">[% item.barcode | html %]</a> )
renewed for
[% borrower.firstname | html %] [% borrower.surname | html %] ( <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrower.borrowernumber | uri %]"> [% borrower.cardnumber | html %] </a> )
now due on [% date_due | $KohaDates as_due_date => 1 %]
</p>
</div>
[% END %]
[% UNLESS error %]
<form method="post" action="/cgi-bin/koha/circ/renew.pl" autocomplete="off" >
[% INCLUDE 'csrf-token.inc' %]
<fieldset>
<h1>Renew</h1>
[% IF Koha.Preference('UnseenRenewals') %]
<div class="renew_formfield">
<input name="barcode" id="barcode" size="14" class="barcode focus" type="text" placeholder="Enter item barcode" />
</div>
<div class="renew_formfield">
<label for="unseen" class="hint">Record renewal as unseen if appropriate: </label>
<input value="1" name="unseen" id="unseen" type="checkbox" />
</div>
[% ELSE %]
<input name="barcode" size="14" class="barcode focus" type="text" placeholder="Enter item barcode" />
[% END %]
<input type="hidden" name="op" value="cud-renew" />
<button type="submit" class="btn btn-primary">Submit</button>
<div class="circ-settings show">
<div class="date-select" id="renew_date_override_fields">
<input type="text" size="20" id="hard_due_date" name="hard_due_date" value="[% hard_due_date | html %]" class="flatpickr" data-flatpickr-futuredate="true" data-flatpickr-enable-time="true" placeholder="Renewal due date [% INCLUDE 'date-format.inc' %]" />
</div> <!-- /.date-select -->
</div>
</fieldset>
</form>
[% END %]
[% IF Koha.Preference('CircSidebar') %]
</div> <!-- /.col-md-10.order-md-2 -->
<div class="col-md-2 order-sm-2 order-md-1">
<aside>
[% INCLUDE 'circ-nav.inc' %]
</aside>
</div> <!-- /.col-md-2.order-md-1 -->
</div> <!-- /.row -->
[% END %]
</main>
</div> <!-- /.col-sm-12 -->
</div> <!-- /.row -->
[% MACRO jsinclude BLOCK %]
[% INCLUDE 'calendar.inc' %]
[% IF error %]
<script>
$( document ).ready(function() {
removeFocus();
});
</script>
[% END %]
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]