From a8887d82b9c1eb9e558f1ff1110c290bc024f0ce Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Tue, 7 Feb 2023 23:14:43 +0000 Subject: [PATCH] Bug 31212: Change datelastseen from date to datetime field Signed-off-by: Andrew Fuerste-Henry --- C4/Items.pm | 2 ++ Koha/Schema/Result/Deleteditem.pm | 4 ++-- Koha/Schema/Result/Item.pm | 4 ++-- installer/data/mysql/kohastructure.sql | 4 ++-- koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt | 2 +- .../intranet-tmpl/prog/en/modules/catalogue/moredetail.tt | 2 +- .../intranet-tmpl/prog/en/modules/cataloguing/additem.tt | 6 +++++- .../intranet-tmpl/prog/en/modules/reports/itemslost.tt | 2 +- koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt | 4 ++-- 9 files changed, 18 insertions(+), 12 deletions(-) diff --git a/C4/Items.pm b/C4/Items.pm index de776d5dfe..b96b7a56bc 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -403,6 +403,7 @@ The last optional parameter allows for passing skip_record_index through to the sub ModDateLastSeen { my ( $itemnumber, $leave_item_lost, $params ) = @_; + my $today = output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 0 }); my $item = Koha::Items->find($itemnumber); $item->datelastseen(dt_from_string->ymd); @@ -587,6 +588,7 @@ sub GetItemsForInventory { } if ($datelastseen) { + $datelastseen = output_pref({ str => $datelastseen, dateformat => 'iso', dateonly => 0 }); push @where_strings, '(datelastseen < ? OR datelastseen IS NULL)'; push @bind_params, $datelastseen; } diff --git a/Koha/Schema/Result/Deleteditem.pm b/Koha/Schema/Result/Deleteditem.pm index 8ccb4d4499..436629af5c 100644 --- a/Koha/Schema/Result/Deleteditem.pm +++ b/Koha/Schema/Result/Deleteditem.pm @@ -112,7 +112,7 @@ the date the item was last checked out =head2 datelastseen - data_type: 'date' + data_type: 'datetime' datetime_undef_if_invalid: 1 is_nullable: 1 @@ -404,7 +404,7 @@ __PACKAGE__->add_columns( "datelastborrowed", { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 }, "datelastseen", - { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 }, + { data_type => "datetime", datetime_undef_if_invalid => 1, is_nullable => 1 }, "stack", { data_type => "tinyint", is_nullable => 1 }, "notforloan", diff --git a/Koha/Schema/Result/Item.pm b/Koha/Schema/Result/Item.pm index 55d33e4a19..6da9361ecd 100644 --- a/Koha/Schema/Result/Item.pm +++ b/Koha/Schema/Result/Item.pm @@ -115,7 +115,7 @@ the date the item was last checked out/issued =head2 datelastseen - data_type: 'date' + data_type: 'datetime' datetime_undef_if_invalid: 1 is_nullable: 1 @@ -418,7 +418,7 @@ __PACKAGE__->add_columns( "datelastborrowed", { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 }, "datelastseen", - { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 }, + { data_type => "datetime", datetime_undef_if_invalid => 1, is_nullable => 1 }, "stack", { data_type => "tinyint", is_nullable => 1 }, "notforloan", diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 03dd4766de..207faa58e5 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -2623,7 +2623,7 @@ CREATE TABLE `deleteditems` ( `replacementprice` decimal(8,2) DEFAULT NULL COMMENT 'cost the library charges to replace the item if it has been marked lost (MARC21 952$v)', `replacementpricedate` date DEFAULT NULL COMMENT 'the date the price is effective from (MARC21 952$w)', `datelastborrowed` date DEFAULT NULL COMMENT 'the date the item was last checked out', - `datelastseen` date DEFAULT NULL COMMENT 'the date the item was last see (usually the last time the barcode was scanned or inventory was done)', + `datelastseen` datetime DEFAULT NULL COMMENT 'the date the item was last see (usually the last time the barcode was scanned or inventory was done)', `stack` tinyint(1) DEFAULT NULL, `notforloan` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining why this item is not for loan (MARC21 952$7)', `damaged` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining this item as damaged (MARC21 952$4)', @@ -3591,7 +3591,7 @@ CREATE TABLE `items` ( `replacementprice` decimal(8,2) DEFAULT NULL COMMENT 'cost the library charges to replace the item if it has been marked lost (MARC21 952$v)', `replacementpricedate` date DEFAULT NULL COMMENT 'the date the price is effective from (MARC21 952$w)', `datelastborrowed` date DEFAULT NULL COMMENT 'the date the item was last checked out/issued', - `datelastseen` date DEFAULT NULL COMMENT 'the date the item was last see (usually the last time the barcode was scanned or inventory was done)', + `datelastseen` datetime DEFAULT NULL COMMENT 'the date the item was last see (usually the last time the barcode was scanned or inventory was done)', `stack` tinyint(1) DEFAULT NULL, `notforloan` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining why this item is not for loan (MARC21 952$7)', `damaged` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'authorized value defining this item as damaged (MARC21 952$4)', diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt index 9ce41038aa..5fe8d466c5 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt @@ -567,7 +567,7 @@ Note that permanent location is a code, and location may be an authval. [% END %] - [% item.datelastseen | $KohaDates %] + [% item.datelastseen | $KohaDates with_hours => 1 %] [% item.issues || 0 | html %] [% item.renewals || 0 | html %] [% item.dateaccessioned | $KohaDates %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt index 945a1b0e20..c1c78ad272 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt @@ -393,7 +393,7 @@
  • Last seen: [% IF ( ITEM_DAT.datelastseen ) %] - [% ITEM_DAT.datelastseen | $KohaDates %] + [% ITEM_DAT.datelastseen | $KohaDates with_hours => 1 %] [%END %]
  • diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt index 38fdd8995a..728373b041 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt @@ -135,7 +135,11 @@ [% SET attribute = header.attribute %] [% SET can_mod = item.nomod ? "nomod" : "canmod" %] [% IF header.attribute AND date_fields.grep('^' _ attribute _ '$').size %] - [% item.$attribute | $KohaDates %] + [% IF header.attribute == 'datelastseen' %] + [% item.$attribute | $KohaDates with_hours => 1 %] + [% ELSE %] + [% item.$attribute | $KohaDates %] + [% END %] [% ELSIF ( item.$attribute && ( attribute == 'price' || attribute == 'replacementprice' ) ) %] [% item.$attribute | $Price %] [% ELSE %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemslost.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemslost.tt index 7251adb397..2d01b8e537 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemslost.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemslost.tt @@ -129,7 +129,7 @@ [% item.barcode | html %] [% item.itemcallnumber | html %] - [% item.datelastseen | $KohaDates %] + [% item.datelastseen | $KohaDates with_hours => 1 %] [% item.price | $Price %] [% item.replacementprice | $Price %] [% Branches.GetName(item.homebranch) | html %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt index 1571f6a3ee..40557b4d95 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt @@ -50,7 +50,7 @@

    Inventory

    - [% IF (moddatecount) %]
    [% moddatecount | html %] items modified : datelastseen set to [% date | $KohaDates %]
    + [% IF (moddatecount) %]
    [% moddatecount | html %] items modified : datelastseen set to [% date | $KohaDates with_hours => 1 %]
    Number of potential barcodes read: [% LinesRead | html %]
    [% END %] [% IF (errorfile) %]
    [% errorfile | html %] can't be opened
    [% END %] [% IF (err_length && err_length==1) %]
    There was 1 barcode that was too long.
    [% END %] @@ -312,7 +312,7 @@ [% result.withdrawn | html %] - [% result.datelastseen | $KohaDates%] + [% result.datelastseen | $KohaDates with_hours => 1 %] [% FOREACH problem IN result.problems %] -- 2.30.2