Browse Source

Bug 8612: [Follow-up] Make usage and type different columns in table

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
17.11.x
Josef Moravec 7 years ago
committed by Jonathan Druart
parent
commit
7457f278af
  1. 2
      acqui/basket.pl
  2. 2
      basket/basket.pl
  3. 2
      basket/downloadcart.pl
  4. 5
      installer/data/mysql/atomicupdate/bug_8612.sql
  5. 1
      installer/data/mysql/kohastructure.sql
  6. 45
      koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tt
  7. 2
      opac/opac-downloadcart.pl
  8. 2
      opac/opac-downloadshelf.pl
  9. 2
      serials/claims.pl
  10. 5
      t/db_dependent/Koha/CsvProfiles.t
  11. 6
      tools/csv-profiles.pl
  12. 2
      tools/export.pl
  13. 2
      virtualshelves/downloadshelf.pl
  14. 2
      virtualshelves/shelves.pl

2
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' }) ],
);
}

2
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,
);

2
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;
}

5
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';

1
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';

45
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) {
<li>
<label for="type" class="required">Profile type: </label>
<select id="type" name="type">
[% FOREACH type IN [ 'marc' 'late_issues' 'export_basket'] %]
[% FOREACH type IN [ 'marc' 'sql'] %]
[% IF csv_profile.type == type %]
<option value="[% type %]" selected="selected">[% PROCESS type_description type_code = type %]</option>
[% ELSE %]
@ -142,6 +149,30 @@ function reloadPage(p) {
</select>
<span class="required">Required</span>
</li>
<li class="sql_specific">
<label for="used_for_sql">Usage: </label>
<select id="used_for_sql" name="used_for_sql">
[% FOREACH used_for IN [ 'late_issues' 'export_basket' ] %]
[% IF csv_profile.used_for == used_for %]
<option value="[% used_for %]" selected="selected">[% PROCESS used_for_description used_for_code = used_for %]</option>
[% ELSE %]
<option value="[% used_for %]">[% PROCESS used_for_description used_for_code = used_for %]</option>
[% END %]
[% END %]
</select>
</li>
<li class="marc_specific">
<label for="used_for_marc">Usage: </label>
<select id="used_for_marc" name="used_for_marc">
[% FOREACH used_for IN [ 'export_records' ] %]
[% IF csv_profile.used_for == used_for %]
<option value="[% used_for %]" selected="selected">[% PROCESS used_for_description used_for_code = used_for %]</option>
[% ELSE %]
<option value="[% used_for %]">[% PROCESS used_for_description used_for_code = used_for %]</option>
[% END %]
[% END %]
</select>
</li>
<li>
<label for="description">Profile description: </label>
<textarea cols="50" rows="2" name="description" id="description">[% csv_profile.description %]</textarea>
@ -233,7 +264,7 @@ function reloadPage(p) {
<h2>CSV profiles</h2>
[% IF csv_profiles%]
[% IF csv_profiles %]
<table id="table_csv_profiles">
<thead>
<th>CSV profile ID</th>
@ -242,6 +273,7 @@ function reloadPage(p) {
<th>Content</th>
<th>CSV separator</th>
<th>CSV type</th>
<th>Usage</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</thead>
@ -254,6 +286,7 @@ function reloadPage(p) {
<td>[% csv_profile.content %]</td>
<td>[% csv_profile.csv_separator %]</td>
<td>[% PROCESS type_description type_code = csv_profile.type %]</td>
<td>[% PROCESS used_for_description used_for_code = csv_profile.used_for %]</td>
<td><a href="/cgi-bin/koha/tools/csv-profiles.pl?op=add_form&amp;export_format_id=[% csv_profile.export_format_id %]">Edit</a></td>
<td><a href="/cgi-bin/koha/tools/csv-profiles.pl?op=delete_confirm&amp;export_format_id=[% csv_profile.export_format_id %]">Delete</a></td>
</tr>

2
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;
}

2
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;
}

2
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
);

5
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');

6
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; };

2
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,
);

2
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 );

2
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;

Loading…
Cancel
Save