From 82c2e53a855549670544940d3f597240196ec426 Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Wed, 17 Apr 2024 16:23:33 +0000 Subject: [PATCH] Bug 36627: Record who is importing sushi data This patch adds functionality for storing the patron (or cronjob) that triggers a harvest. Currently every counter log is stored as being imported by the cronjob Test plan: 1) In the usage statistics module in ERM, create a data provider (the details in the provider are not important) 2) Click into the provider and click into manual upload 3) Upload the file attached to this bug 4) Once the background job is completed click into the counter logs tab in the provider. The imported by columns should show a user with a clickable link --- Koha/ERM/EUsage/CounterFile.pm | 5 ++++- .../ERM/UsageStatisticsDataProvidersCounterLogs.vue | 9 ++++++--- misc/cronjobs/erm_run_harvester.pl | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Koha/ERM/EUsage/CounterFile.pm b/Koha/ERM/EUsage/CounterFile.pm index 0836455251..2d5d80f15c 100644 --- a/Koha/ERM/EUsage/CounterFile.pm +++ b/Koha/ERM/EUsage/CounterFile.pm @@ -35,6 +35,8 @@ use Koha::ERM::EUsage::UsageDataProvider; use Koha::ERM::EUsage::SushiCounter; use Koha::Exceptions::ERM::EUsage::CounterFile; +use C4::Context; + use base qw(Koha::Object); use Koha::ERM::EUsage::CounterLogs; @@ -558,10 +560,11 @@ Adds a erm_counter_logs database entry sub _add_counter_log_entry { my ($self) = @_; + my $user = C4::Context->userenv()->{'number'}; Koha::ERM::EUsage::CounterLog->new( { #TODO: borrowernumber only required for manual uploads or "harvest now" button clicks - borrowernumber => undef, + borrowernumber => $user, counter_files_id => $self->erm_counter_files_id, importdate => $self->date_uploaded, filename => $self->filename, diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/UsageStatisticsDataProvidersCounterLogs.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/UsageStatisticsDataProvidersCounterLogs.vue index 23535c1f62..360b5550ba 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/UsageStatisticsDataProvidersCounterLogs.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/UsageStatisticsDataProvidersCounterLogs.vue @@ -40,7 +40,9 @@ export default { building_table: false, tableOptions: { columns: this.getTableColumns(), - options: {}, + options: { + embed: "borrowernumber", + }, url: () => this.table_url(), table_settings: this.counter_log_table_settings, add_filters: true, @@ -137,8 +139,9 @@ export default { { title: __("Imported by"), render: function (data, type, row, meta) { - const importer = row.borrowernumber - ? `Borrowernumber ${row.borrowernumber}` + const borrower = row.borrowernumber + const importer = borrower + ? `${borrower.firstname} ${borrower.surname}` : "Cronjob" return importer }, diff --git a/misc/cronjobs/erm_run_harvester.pl b/misc/cronjobs/erm_run_harvester.pl index fa8f0b3828..6a76281cd3 100755 --- a/misc/cronjobs/erm_run_harvester.pl +++ b/misc/cronjobs/erm_run_harvester.pl @@ -22,7 +22,7 @@ use Getopt::Long qw( GetOptions ); use Koha::DateUtils qw( dt_from_string ); use POSIX; -use Koha::Script; +use Koha::Script -cron; use Koha::ERM::EUsage::UsageDataProviders; # Command line option values -- 2.37.1 (Apple Git-137.1)