From cf9fb86a015d361e4cb3aefc22832e563382692b Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 24 May 2023 15:19:43 +0200 Subject: [PATCH] Bug 33568: Restore analytics MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit FIXME We cannot have the usual _count/+count pattern for the REST API, I think it's acceptable FIXME We lost the sort on this column, not a big deal IMO Signed-off-by: Owen Leonard Signed-off-by: Laurence Rault Signed-off-by: Emily Lamancusa Signed-off-by: Tomás Cohen Arazi Signed-off-by: Katrin Fischer --- Koha/Item.pm | 5 ++++ api/v1/swagger/definitions/item.yaml | 4 ++++ api/v1/swagger/paths/biblios.yaml | 1 + .../prog/en/modules/catalogue/detail.tt | 23 +++++++++++++++---- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Koha/Item.pm b/Koha/Item.pm index ea99889e69..17f4ebfe59 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -2366,6 +2366,11 @@ sub is_denied_renewal { return 0; } +sub analytics_count { + my ($self) = @_; + return C4::Items::GetAnalyticsCount($self->itemnumber); +} + =head3 strings_map Returns a map of column name to string representations including the string, diff --git a/api/v1/swagger/definitions/item.yaml b/api/v1/swagger/definitions/item.yaml index a5d6066fd6..5dbde98c70 100644 --- a/api/v1/swagger/definitions/item.yaml +++ b/api/v1/swagger/definitions/item.yaml @@ -288,6 +288,10 @@ properties: type: - object - "null" + analytics_count: + type: + - integer + - "null" _strings: type: - object diff --git a/api/v1/swagger/paths/biblios.yaml b/api/v1/swagger/paths/biblios.yaml index 65dbcd6f88..4e94d04128 100644 --- a/api/v1/swagger/paths/biblios.yaml +++ b/api/v1/swagger/paths/biblios.yaml @@ -441,6 +441,7 @@ - bundle_items_lost+count - bundle_items_not_lost+count - course_item.course_reserves.course + - analytics_count - cover_image_ids - item_group_item.item_group.description - serialitem.serial 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 c845bf4876..be047cec1b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt @@ -2197,6 +2197,10 @@ // For host records embed.push('biblio.title'); + [% IF analyze %] + embed.push('analytics_count'); + [% END %] + let items_table_settings = { holdings: [% TablesSettings.GetTableSettings('catalogue', 'detail','holdings_table','json') | $raw %], otherholdings: [% TablesSettings.GetTableSettings('catalogue', 'detail','otherholdings_table','json') | $raw %], @@ -2601,13 +2605,22 @@ return '%s'.format(row.biblio_id, row.biblio.title); } }, - [% IF ( analyze ) %] + [% IF analyze %] { - data: "", - searchable: false, // FIXME - orderable: true, + data: "analytics_count", + searchable: false, + orderable: false, + render: function (data, type, row, meta) { + if (row.analytics_count == 0) return "" + return '%s analytics'.format(row.item_id, row.analytics_count); + } + }, + { + data: "analytics_count", // create analytics link + searchable: false, + orderable: false, render: function (data, type, row, meta) { - return ""; // FIXME Display analytic count + link + return 'Create analytics'.format(row.biblio_id, row.item_id); } }, [% END %] -- 2.39.5