@@ -, +, @@ in table --- acqui/basket.pl | 2 +- basket/basket.pl | 2 +- basket/downloadcart.pl | 2 +- installer/data/mysql/atomicupdate/bug_8612.sql | 5 ++- installer/data/mysql/kohastructure.sql | 1 + .../prog/en/modules/tools/csv-profiles.tt | 45 +++++++++++++++++++--- opac/opac-downloadcart.pl | 2 +- opac/opac-downloadshelf.pl | 2 +- serials/claims.pl | 2 +- t/db_dependent/Koha/CsvProfiles.t | 5 ++- tools/csv-profiles.pl | 6 +++ tools/export.pl | 2 +- virtualshelves/downloadshelf.pl | 2 +- virtualshelves/shelves.pl | 2 +- 14 files changed, 62 insertions(+), 18 deletions(-) --- a/acqui/basket.pl +++ a/acqui/basket.pl @@ -431,7 +431,7 @@ if ( $op eq 'list' ) { unclosable => @orders ? $basket->{is_standing} : 1, has_budgets => $has_budgets, duplinbatch => $duplinbatch, - csv_profiles => [ Koha::CsvProfiles->search({ type => 'export_basket' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'sql', used_for => 'export_basket' }) ], ); } --- a/basket/basket.pl +++ a/basket/basket.pl @@ -122,7 +122,7 @@ my $resultsarray = \@results; $template->param( BIBLIO_RESULTS => $resultsarray, - csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ], bib_list => $bib_list, ); --- a/basket/downloadcart.pl +++ a/basket/downloadcart.pl @@ -90,7 +90,7 @@ if ($bib_list && $format) { print $output; } else { - $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ]); + $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]); $template->param(bib_list => $bib_list); output_html_with_http_headers $query, $cookie, $template->output; } --- a/installer/data/mysql/atomicupdate/bug_8612.sql +++ a/installer/data/mysql/atomicupdate/bug_8612.sql @@ -1, +1,4 @@ -UPDATE export_format SET type = 'late_issues' WHERE type ='sql'; +ALTER TABLE export_format ADD used_for varchar(255) DEFAULT 'export_records' AFTER type; + +UPDATE export_format SET used_for = 'late_issues' WHERE type = 'sql'; +UPDATE export_format SET used_for = 'export_records' WHERE type = 'marc'; --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -718,6 +718,7 @@ CREATE TABLE `export_format` ( `subfield_separator` varchar(2) NOT NULL, `encoding` varchar(255) NOT NULL, `type` varchar(255) DEFAULT 'marc', + `used_for` varchar(255) DEFAULT 'export_records', PRIMARY KEY (`export_format_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Used for CSV export'; --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tt @@ -102,10 +102,17 @@ function reloadPage(p) { [% END %] [% BLOCK type_description %] - [% IF type_code == 'marc' %] MARC for export records - [% ELSIF type_code == 'late_issues' %] SQL for late serial issues claims - [% ELSIF type_code == 'export_basket' %] SQL for basket export in acquisition - [% ELSE %] Uknown type + [% IF type_code == 'marc' %] MARC + [% ELSIF type_code == 'sql' %] SQL + [% ELSE %] Unknown type + [% END %] +[% END %] + +[% BLOCK used_for_description %] + [% IF used_for_code == 'export_records' %] Export records + [% ELSIF used_for_code == 'late_issues' %] Late serial issues claims + [% ELSIF used_for_code == 'export_basket' %] Basket export in acquisition + [% ELSE %] Unknown usage [% END %] [% END %] @@ -132,7 +139,7 @@ function reloadPage(p) {
  • Required
  • +
  • + + +
  • +
  • + + +
  • @@ -233,7 +264,7 @@ function reloadPage(p) {

    CSV profiles

    - [% IF csv_profiles%] + [% IF csv_profiles %] @@ -242,6 +273,7 @@ function reloadPage(p) { + @@ -254,6 +286,7 @@ function reloadPage(p) { + --- a/opac/opac-downloadcart.pl +++ a/opac/opac-downloadcart.pl @@ -111,7 +111,7 @@ if ($bib_list && $format) { print $output; } else { - $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ]); + $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]); $template->param(bib_list => $bib_list); output_html_with_http_headers $query, $cookie, $template->output; } --- a/opac/opac-downloadshelf.pl +++ a/opac/opac-downloadshelf.pl @@ -129,7 +129,7 @@ if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) { } else { $template->param(fullpage => 1); } - $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ]); + $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]); $template->param( shelf => $shelf ); output_html_with_http_headers $query, $cookie, $template->output; } --- a/serials/claims.pl +++ a/serials/claims.pl @@ -104,7 +104,7 @@ $template->param( supplierid => $supplierid, claimletter => $claimletter, additional_fields_for_subscription => $additional_fields, - csv_profiles => [ Koha::CsvProfiles->search({ type => 'late_issues' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'sql', used_for => 'late_issues' }) ], letters => $letters, (uc(C4::Context->preference("marcflavour"))) => 1 ); --- a/t/db_dependent/Koha/CsvProfiles.t +++ a/t/db_dependent/Koha/CsvProfiles.t @@ -35,12 +35,13 @@ my $nb_of_csv_profiles = Koha::CsvProfiles->search->count; my $new_csv_profile_1 = Koha::CsvProfile->new({ profile => 'my_csv_profile_name_for_test_1', description => 'my_csv_profile_description_for_test_1', - type => 'late_issues' + type => 'sql', + used_for => 'late_issues' })->store; my $new_csv_profile_2 = Koha::CsvProfile->new({ profile => 'my_csv_profile_name_for_test_2', description => 'my_csv_profile_description_for_test_2', - type => 'marc', + type => 'marc' })->store; like( $new_csv_profile_1->export_format_id, qr|^\d+$|, 'Adding a new csv_profile should have set the export_format_id'); --- a/tools/csv-profiles.pl +++ a/tools/csv-profiles.pl @@ -72,6 +72,10 @@ if ( $op eq 'add_form' ) { my $profile = $input->param("profile"); my $description = $input->param("description"); my $type = $input->param("type"); + my $used_for = + $type eq "marc" + ? $input->param("used_for_marc") + : $input->param("used_for_sql"); my $content = $type eq "marc" ? $input->param("marc_content") @@ -92,6 +96,7 @@ if ( $op eq 'add_form' ) { $csv_profile->subfield_separator($subfield_separator); $csv_profile->encoding($encoding); $csv_profile->type($type); + $csv_profile->used_for($used_for); eval { $csv_profile->store; }; if ($@) { @@ -109,6 +114,7 @@ if ( $op eq 'add_form' ) { subfield_separator => $subfield_separator, encoding => $encoding, type => $type, + used_for => $used_for, } ); eval { $csv_profile->store; }; --- a/tools/export.pl +++ a/tools/export.pl @@ -300,7 +300,7 @@ else { itemtypes => $itemtypes, authority_types => $authority_types, export_remove_fields => C4::Context->preference("ExportRemoveFields"), - csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ], messages => \@messages, ); --- a/virtualshelves/downloadshelf.pl +++ a/virtualshelves/downloadshelf.pl @@ -101,7 +101,7 @@ if ($shelfid && $format) { } } else { - $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ]); + $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]); $template->param(shelfid => $shelfid); } $template->param( messages => \@messages ); --- a/virtualshelves/shelves.pl +++ a/virtualshelves/shelves.pl @@ -324,7 +324,7 @@ $template->param( messages => \@messages, category => $category, print => scalar $query->param('print') || 0, - csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ], + csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ], ); output_html_with_http_headers $query, $cookie, $template->output; --
    CSV profile IDContent CSV separator CSV typeUsage    
    [% csv_profile.content %] [% csv_profile.csv_separator %] [% PROCESS type_description type_code = csv_profile.type %][% PROCESS used_for_description used_for_code = csv_profile.used_for %] Edit Delete