@@ -, +, @@ upgrade table $ koha-mysql kohadev > SELECT * FROM columns_settings WHERE tablename='checkoutshistory-table'; $ updatedatabase $ koha-mysql kohadev > SELECT * FROM columns_settings WHERE tablename LIKE '%_checkouts-table'; --- admin/columns_settings.yml | 23 ++++++++++++++- .../data/mysql/atomicupdate/bug_29275.pl | 28 +++++++++++++++++++ .../prog/en/modules/catalogue/issuehistory.tt | 11 +++++--- 3 files changed, 57 insertions(+), 5 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug_29275.pl --- a/admin/columns_settings.yml +++ a/admin/columns_settings.yml @@ -441,7 +441,28 @@ modules: - columnname: subscription_callnumber - checkoutshistory-table: + current_checkouts-table: + columns: + - + columnname: patron + cannot_be_toggled: 1 + cannot_be_modified: 1 + - + columnname: barcode + cannot_be_toggled: 1 + cannot_be_modified: 1 + - + columnname: checked_out_from + - + columnname: checked_out_by + - + columnname: renewed + - + columnname: checkout_on + - + columnname: due_date + + old_checkouts-table: columns: - columnname: patron --- a/installer/data/mysql/atomicupdate/bug_29275.pl +++ a/installer/data/mysql/atomicupdate/bug_29275.pl @@ -0,0 +1,28 @@ +use Modern::Perl; + +return { + bug_number => "29275", + description => "Use the API to render checkout history for a biblio", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + # Migrate checkoutshistory-table => current_checkouts-table ('checkin_on' excluded) + $dbh->do(q{ + INSERT INTO columns_settings + SELECT 'catalogue', 'detail', 'current_checkouts-table', columnname, cannot_be_toggled, is_hidden + FROM columns_settings WHERE tablename='checkoutshistory-table' AND columnname<>'checkin_on'; + }); + # Migrate checkoutshistory-table => old_checkouts-table ('checkin_on' included) + $dbh->do(q{ + INSERT INTO columns_settings + SELECT 'catalogue', 'detail', 'old_checkouts-table', columnname, cannot_be_toggled, is_hidden + FROM columns_settings WHERE tablename='checkoutshistory-table'; + }); + # Clean the old table settings + $dbh->do(q{ + DELETE FROM columns_settings + WHERE tablename='checkoutshistory-table'; + }); + }, +} --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt @@ -215,17 +215,20 @@ }, columns_settings); } - var columns_settings = [% TablesSettings.GetColumns('catalogue', 'detail', 'checkoutshistory-table', 'json') %]; + var old_checkouts_columns_settings = [% TablesSettings.GetColumns('catalogue', 'detail', 'old_checkouts-table', 'json') %]; + var current_checkouts_columns_settings = [% TablesSettings.GetColumns('catalogue', 'detail', 'current_checkouts-table', 'json') %]; + [% UNLESS show_patron_column %] // Remove the patron column definition - columns_settings.splice(0,1); + old_checkouts_columns_settings.splice(0,1); + current_checkouts_columns_settings.splice(0,1); [% END %] var show_patron_column = [% IF show_patron_column %]1[% ELSE %]0[% END %]; var default_sort_column = 3 + show_patron_column; - var old_checkouts = initialize_checkouts_table( '#old_checkouts', default_sort_column, true, columns_settings ); - var current_checkouts = initialize_checkouts_table( '#current_checkouts', default_sort_column, false, columns_settings.slice(0,-1) ); + var old_checkouts = initialize_checkouts_table( '#old_checkouts', default_sort_column, true, old_checkouts_columns_settings ); + var current_checkouts = initialize_checkouts_table( '#current_checkouts', default_sort_column, false, current_checkouts_columns_settings ); }); [% END %] --