diff --git a/Koha/Exporter/Record.pm b/Koha/Exporter/Record.pm index aa805e2825..193f87e988 100644 --- a/Koha/Exporter/Record.pm +++ b/Koha/Exporter/Record.pm @@ -143,12 +143,8 @@ sub export { print MARC::File::XML::footer(); print "\n"; } elsif ( $format eq 'csv' ) { - unless ( $csv_profile_id ) { - # FIXME export_format.profile should be a unique key - my $csv_profiles = Koha::CsvProfiles->search({ profile => C4::Context->preference('ExportWithCsvProfile') }); - die "The ExportWithCsvProfile system preference is not defined or does not match a valid csv profile" unless $csv_profiles->count; - $csv_profile_id = $csv_profiles->next->export_format_id; - } + die 'There is no valid csv profile defined for this export' + unless Koha::CsvProfiles->find( $csv_profile_id ); print marc2csv( $record_ids, $csv_profile_id, $itemnumbers ); } @@ -208,7 +204,7 @@ It will displays on STDOUT the generated file. =item csv_profile_id - If the format is csv, a csv_profile_id can be provide to overwrite the default value (syspref ExportWithCsvProfile). + If the format is csv, you have to define a csv_profile_id. =cut diff --git a/circ/circulation.pl b/circ/circulation.pl index 5db1001c2a..75580f63d2 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -43,6 +43,7 @@ use C4::Context; use CGI::Session; use C4::Members::Attributes qw(GetBorrowerAttributes); use Koha::AuthorisedValues; +use Koha::CsvProfiles; use Koha::Patron; use Koha::Patron::Debarments qw(GetDebarments); use Koha::DateUtils; @@ -646,6 +647,10 @@ $template->param( my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber}); $template->param( picture => 1 ) if $patron_image; +if ( C4::Context->preference("ExportCircHistory") ) { + $template->param(csv_profiles => [ Koha::CsvProfiles->search ]); +} + my $has_modifications = Koha::Patron::Modifications->search( { borrowernumber => $borrowernumber } )->count; $template->param( debt_confirmed => $debt_confirmed, diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc index 1d103a04be..b34089d3c7 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc @@ -49,17 +49,24 @@ [% END %] - [% IF ( exports_enabled ) %] + [% IF Koha.Preference('ExportCircHistory') %]
+ [% IF csv_profiles.size %] + + [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt index 114f2e796c..4e09863179 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt @@ -5,9 +5,6 @@ [% USE ColumnsSettings %] [% USE ItemTypes %] [% USE Price %] -[% IF Koha.Preference('ExportRemoveFields') OR Koha.Preference('ExportWithCsvProfile') %] - [% SET exports_enabled = 1 %] -[% END %] [% USE AuthorisedValues %] [% INCLUDE 'doc-head-open.inc' %] [% SET destination = "circ" %] @@ -38,7 +35,7 @@ var interface = "[% interface %]"; var theme = "[% theme %]"; var borrowernumber = "[% borrowernumber %]"; var branchcode = "[% branch %]"; -var exports_enabled = "[% exports_enabled %]"; +var exports_enabled = "[% Koha.Preference('ExportCircHistory') %]"; var AllowRenewalLimitOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalLimitOverride') )? 1: 0 %]; var AllowCirculate = [% (CAN_user_circulate_circulate_remaining_permissions)? 1 : 0 %]; var script = "circulation"; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/help/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/help/circ/circulation.tt index ec54f40d33..643d3cfbae 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/help/circ/circulation.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/help/circ/circulation.tt @@ -32,7 +32,7 @@

If you checked out an item for on site use you will see that highlighted in red in the checkout summary.

-

If you have set your ExportWithCsvProfile preference, you will also see the option to export the patron's current checkout information using a CSV Profile or ISO2709 (MARC21) format.

+

If you have set your ExportCircHistory preference, you will also see the option to export the patron's current checkout information using a CSV Profile or ISO2709 (MARC21) format.

Also at the bottom of the page is the list of items the patron has on hold

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt index 271b30bc03..d5f61d763b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt @@ -3,9 +3,6 @@ [% USE KohaDates %] [% USE AuthorisedValues %] [% USE ColumnsSettings %] -[% IF Koha.Preference('ExportRemoveFields') OR Koha.Preference('ExportWithCsvProfile') %] - [% SET exports_enabled = 1 %] -[% END %] [% INCLUDE 'doc-head-open.inc' %] Koha › Patrons › [% IF ( unknowuser ) %] @@ -34,7 +31,7 @@ var interface = "[% interface %]"; var theme = "[% theme %]"; var borrowernumber = "[% borrowernumber %]"; var branchcode = "[% Branches.GetLoggedInBranchcode() %]"; -var exports_enabled = "[% exports_enabled %]"; +var exports_enabled = "[% Koha.Preference('ExportCircHistory') %]"; var AllowCirculate = [% (CAN_user_circulate_circulate_remaining_permissions)? 1 : 0 %] var AllowRenewalLimitOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalLimitOverride') )? 1: 0 %]; var script = "moremember"; diff --git a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js b/koha-tmpl/intranet-tmpl/prog/js/checkouts.js index 1ef23754f0..97812c2f7e 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js +++ b/koha-tmpl/intranet-tmpl/prog/js/checkouts.js @@ -36,6 +36,16 @@ $(document).ready(function() { } }); + $("#output_format > option:first-child").attr("selected", "selected"); + $("select[name='csv_profile']").hide(); + $(document).on("change", '#output_format', function(){ + if ( $(this).val() == 'csv' ) { + $("select[name='csv_profile']").show(); + } else { + $("select[name='csv_profile']").hide(); + } + }); + // Clicking the table cell checks the checkbox inside it $(document).on("click", 'td', function(e){ if(e.target.tagName.toLowerCase() == 'td'){ diff --git a/members/moremember.pl b/members/moremember.pl index 3e87a2de20..3399b42854 100755 --- a/members/moremember.pl +++ b/members/moremember.pl @@ -51,6 +51,7 @@ use C4::Form::MessagingPreferences; use List::MoreUtils qw/uniq/; use C4::Members::Attributes qw(GetBorrowerAttributes); use Koha::AuthorisedValues; +use Koha::CsvProfiles; use Koha::Patron::Debarments qw(GetDebarments); use Koha::Patron::Images; use Module::Load; @@ -323,6 +324,10 @@ if (C4::Context->preference('EnhancedMessagingPreferences')) { $template->param(TalkingTechItivaPhone => C4::Context->preference("TalkingTechItivaPhoneNotification")); } +if ( C4::Context->preference("ExportCircHistory") ) { + $template->param(csv_profiles => [ Koha::CsvProfiles->search ]); +} + # in template <TMPL_IF name="I"> => instutitional (A for Adult, C for children) $template->param( $data->{'categorycode'} => 1 ); $template->param( diff --git a/misc/export_records.pl b/misc/export_records.pl index 2bb553d03e..23cc9f1109 100755 --- a/misc/export_records.pl +++ b/misc/export_records.pl @@ -71,6 +71,9 @@ if ( $output_format eq 'csv' and $record_type eq 'auths' ) { pod2usage(q|CSV output is only available for biblio records|); } +if ( $output_format eq 'csv' and not $csv_profile_id ) { + pod2usage(q|Define a csv profile to export in CSV|); +} if ( $timestamp and $record_type ne 'bibs' ) { pod2usage(q|--timestamp can only be used with biblios|); @@ -193,11 +196,6 @@ if ($deleted_barcodes) { } } else { - unless ( $csv_profile_id ) { - # FIXME export_format.profile should be a unique key - my $default_csv_profiles = Koha::CsvProfiles->search({ profile => C4::Context->preference('ExportWithCsvProfile') }); - $csv_profile_id = $default_csv_profiles->count ? $default_csv_profiles->next->export_format_id : undef; - } Koha::Exporter::Record::export( { record_type => $record_type, record_ids => \@record_ids, @@ -249,7 +247,6 @@ Print a brief help message. =item B<--csv_profile_id> --csv_profile_id=ID Generate a CSV file with the given CSV profile id (see tools/csv-profiles.pl) - Unless provided, the one defined in the system preference 'ExportWithCsvProfile' will be used. This can only be used to export biblio records. =item B<--deleted_barcodes> diff --git a/tools/export.pl b/tools/export.pl index 1f1eebeb1f..1ed7b1af4e 100755 --- a/tools/export.pl +++ b/tools/export.pl @@ -200,12 +200,6 @@ if ( $op eq "export" ) { ); my $csv_profile_id = $query->param('csv_profile_id'); - unless ( $csv_profile_id ) { - # FIXME export_format.profile should be a unique key - my $default_csv_profiles = Koha::CsvProfiles->search({ profile => C4::Context->preference('ExportWithCsvProfile') }); - $csv_profile_id = $default_csv_profiles->count ? $default_csv_profiles->next->export_format_id : undef; - } - Koha::Exporter::Record::export( { record_type => $record_type, record_ids => \@record_ids,