Browse Source

Bug 5087: Ability to define whether CSV profile shows in OPAC

To test:
1) Update database
2) Update schema
3) In staff side, go to Tools -> CSV profiles
4) Make a CSV profile with profile type = MARC and usage = Export
records
5) Leave 'Show option in OPAC' unchecked and save
6) Go to OPAC and add an item to your cart
7) Click Cart, click Download, confirm that your newly created CSV
profile does not show as an option
8) Go back and edit CSV profile on staff side
9) Check the 'Show option in OPAC' checkbox and save
10) Go back to download cart in OPAC
11) Confirm the CSV profile now shows in the dropdown

Sponsored-by: Catalyst IT
Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
20.11.x
Aleisha Amohia 5 years ago
committed by Jonathan Druart
parent
commit
ae3644a594
  1. 16
      Koha/Schema/Result/ExportFormat.pm
  2. 8
      installer/data/mysql/atomicupdate/bug_5087_-_add_opac_option_field_to_export_formats.perl
  3. 3
      installer/data/mysql/kohastructure.sql
  4. 9
      koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tt
  5. 2
      opac/opac-downloadcart.pl
  6. 3
      tools/csv-profiles.pl

16
Koha/Schema/Result/ExportFormat.pm

@ -85,6 +85,12 @@ __PACKAGE__->table("export_format");
is_nullable: 1
size: 255
=head2 opac_option
data_type: 'tinyint'
default_value: 0
is_nullable: 0
=cut
__PACKAGE__->add_columns(
@ -123,6 +129,8 @@ __PACKAGE__->add_columns(
is_nullable => 1,
size => 255,
},
"opac_option",
{ data_type => "tinyint", default_value => 0, is_nullable => 0 },
);
=head1 PRIMARY KEY
@ -138,8 +146,8 @@ __PACKAGE__->add_columns(
__PACKAGE__->set_primary_key("export_format_id");
# Created by DBIx::Class::Schema::Loader v0.07042 @ 2018-02-16 17:54:53
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:YSQshI3mJfO0LsOlwvdIdg
# Created by DBIx::Class::Schema::Loader v0.07046 @ 2020-04-20 20:08:25
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:J2VDj9yI8uanFR9EGv2sXw
sub koha_object_class {
'Koha::CsvProfile';
@ -148,4 +156,8 @@ sub koha_objects_class {
'Koha::CsvProfiles';
}
__PACKAGE__->add_columns(
'+opac_option' => { is_boolean => 1 },
);
1;

8
installer/data/mysql/atomicupdate/bug_5087_-_add_opac_option_field_to_export_formats.perl

@ -0,0 +1,8 @@
$DBversion = 'XXX';
if( CheckVersion( $DBversion ) ) {
unless( column_exists( 'export_format', 'opac_option' ) ) {
$dbh->do(q|ALTER TABLE export_format ADD opac_option TINYINT(1) NOT NULL DEFAULT 0 AFTER used_for|);
}
NewVersion( $DBversion, 5087, "Add export_format.opac_option" );
}

3
installer/data/mysql/kohastructure.sql

@ -691,7 +691,8 @@ CREATE TABLE `export_format` (
`encoding` varchar(255) NOT NULL DEFAULT 'utf8',
`type` varchar(255) DEFAULT 'marc',
`used_for` varchar(255) DEFAULT 'export_records',
PRIMARY KEY (`export_format_id`)
`opac_option` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`export_format_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Used for CSV export';
--

9
koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tt

@ -192,6 +192,15 @@
</select>
</li>
<li class="marc_specific">
<label for="opac_option">Show option in OPAC: </label>
[% IF csv_profile.opac_option %]
<input type="checkbox" name="opac_option" id="opac_option" value="1" checked="checked">
[% ELSE %]
<input type="checkbox" name="opac_option" id="opac_option" value="1">
[% END %]
</li>
<li class="marc_specific">
<label for="marc_content" class="required">Profile MARC fields: </label>
<textarea cols="50" rows="2" name="marc_content" id="marc_content">[% csv_profile.content | html %]</textarea>

2
opac/opac-downloadcart.pl

@ -124,7 +124,7 @@ if ($bib_list && $format) {
print $output;
} else {
$template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]);
$template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records', opac_option => 1 }) ]);
$template->param(bib_list => $bib_list);
output_html_with_http_headers $query, $cookie, $template->output;
}

3
tools/csv-profiles.pl

@ -84,6 +84,7 @@ if ( $op eq 'add_form' ) {
my $field_separator = $input->param("field_separator");
my $subfield_separator = $input->param("subfield_separator");
my $encoding = $input->param("encoding");
my $opac_option = $input->param("opac_option");
if ($export_format_id) {
my $csv_profile = Koha::CsvProfiles->find($export_format_id)
@ -97,6 +98,7 @@ if ( $op eq 'add_form' ) {
$csv_profile->encoding($encoding);
$csv_profile->type($type);
$csv_profile->used_for($used_for);
$csv_profile->opac_option($opac_option);
eval { $csv_profile->store; };
if ($@) {
@ -115,6 +117,7 @@ if ( $op eq 'add_form' ) {
encoding => $encoding,
type => $type,
used_for => $used_for,
opac_option => $opac_option
}
);
eval { $csv_profile->store; };

Loading…
Cancel
Save