New column has now been changed to an enum in line with comments and the strings have been amended to be picked up for translation. The file koha-tmpl/intranet-tmpl/prog/en/includes/str/checkout_renewals.inc has been removed as the variables can be included within the javascript file.
Test plan:
1) In the database shell run "show columns from checkout_renewals;" and observe that there is currently no column for recording the type of renewal
2) Apply patch
3) In the shell run "dbic" and "perl installer/data/mysql/updatedatabase.pl" to update the database schema with the new column.
4) Create some checkouts
5) Renew some checkouts manually and observe in the database that there is now a column called "renewal_type" that will have recorded these as "Manual"
6) Create some checkouts that can be automatically renewed
7) Run the cron script in automatic_renewals.pl and observe that there are now also entries with a renewal_type of "Automatic"
8) Send a GET request to http://localhost:8081/api/v1/checkouts/1/renewals and observe that the renewal_type is now returned in the response
9) In the Item Details tab for a record, there is the "Current renewals" option which has a button to view renewals. Click on this and observe that the modal now displays the new information.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
=head2 renewal_type
- data_type: 'varchar'
+ data_type: 'enum'
+ default_value: 'Manual'
+ extra: {list => ["Automatic","Manual"]}
is_nullable: 0
- size: 9
whether the renewal was an automatic or manual renewal
is_nullable => 0,
},
"renewal_type",
- { data_type => "varchar", is_nullable => 0, size => 9 },
+ {
+ data_type => "enum",
+ default_value => "Manual",
+ extra => { list => ["Automatic", "Manual"] },
+ is_nullable => 0,
+ },
);
=head1 PRIMARY KEY
);
-# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-12-06 16:44:53
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:BcbN0Iceh09H2DWEA6CDwA
+# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-12-08 10:49:16
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Si1gkXWqpvt98YN0dO7vgw
=head2 checkout
use Modern::Perl;
return {
- bug_number => "BUG_30642",
+ bug_number => "30642",
description => "Record whether a renewal has been done manually or automatically.",
up => sub {
my ($args) = @_;
if( !column_exists( 'checkout_renewals', 'renewal_type' ) ) {
$dbh->do(q{
- ALTER TABLE checkout_renewals ADD COLUMN `renewal_type` varchar(9) NOT NULL AFTER `timestamp`
+ ALTER TABLE checkout_renewals ADD COLUMN `renewal_type` enum('Automatic', 'Manual') NOT NULL DEFAULT 'Manual' AFTER `timestamp`
});
say $out "Added column 'checkout_renewals.column_name'";
`seen` tinyint(1) DEFAULT 0 COMMENT 'boolean denoting whether the item was present or not',
`interface` varchar(16) NOT NULL COMMENT 'the interface this renewal took place on',
`timestamp` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'the date and time the renewal took place',
- `renewal_type` varchar(9) NOT NULL COMMENT 'whether the renewal was an automatic or manual renewal',
+ `renewal_type` enum('Automatic', 'Manual') NOT NULL DEFAULT 'Manual' COMMENT 'whether the renewal was an automatic or manual renewal',
PRIMARY KEY (`renewal_id`),
KEY `renewer_id` (`renewer_id`),
CONSTRAINT `renewals_renewer_id` FOREIGN KEY (`renewer_id`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE
+++ /dev/null
-<!-- str/checkout_renewals.inc -->
-<script>
- var renewed_prop = _("Note: %s out of %s renewals have been logged");
- var renewed = _("Renewed by");
- var renewed_type = _(" Renewal type:");
-</script>
[% MACRO jsinclude BLOCK %]
[% INCLUDE 'catalog-strings.inc' %]
[% INCLUDE 'modals/checkout_renewals.inc' %]
- [% INCLUDE 'str/checkout_renewals.inc' %]
[% INCLUDE 'js-date-format.inc' %]
[% INCLUDE 'js-patron-format.inc' %]
[% Asset.js("js/catalog.js") | $raw %]
$('#checkoutRenewals #retrieving').show();
$.get({ 'url': '/api/v1/checkouts/'+checkoutID+'/renewals', 'headers': { 'x-koha-embed': 'renewer' } }, function(data) {
if (data.length < renewals) {
- $('#checkoutRenewals #incomplete').append(renewed_prop.format(data.length, renewals)).show();
+ $('#checkoutRenewals #incomplete').append(__("Note: %s out of %s renewals have been logged").format(data.length, renewals)).show();
}
var items = data.map(function(item) {
return createLi(item);
});
});
function createLi(renewal) {
- return '<li><span style="font-weight:bold">' + $datetime(renewal.timestamp) + '</span> ' + renewed + ' <span style="font-weight:bold">' + $patron_to_html(renewal.renewer) + '</span>' + renewed_type + ' <span style="font-weight:bold">' + renewal.renewal_type + '</span></li>';
+ if(renewal.renewal_type === "Manual"){
+ return '<li><span style="font-weight:bold">' + $datetime(renewal.timestamp) + '</span> ' + __("Renewed by") + ' <span style="font-weight:bold">' + $patron_to_html(renewal.renewer) + " " + __("manually") + '</span></li>';
+ } else {
+ return '<li><span style="font-weight:bold">' + $datetime(renewal.timestamp) + '</span> ' + __("Renewal type:") + ' <span style="font-weight:bold">' + __("Automatic") + '</span></li>';
+ }
}
});