Bugzilla – Attachment 45632 Details for
Bug 15354
item types aren't showing in default hold policies
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15354: Fix translted itemtype description
Bug-15354-Fix-translted-itemtype-description.patch (text/plain), 5.21 KB, created by
Jonathan Druart
on 2015-12-14 10:19:13 UTC
(
hide
)
Description:
Bug 15354: Fix translted itemtype description
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2015-12-14 10:19:13 UTC
Size:
5.21 KB
patch
obsolete
>From 16f5b7e6998d3f1576c9b5bb50d7a5b6ee1b6ac7 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Mon, 14 Dec 2015 10:14:16 +0000 >Subject: [PATCH] Bug 15354: Fix translted itemtype description > >In bug 14100, the admin/smart-rules.pl needed much more love. >Indeed, the translated_description string should be used everywhere and >replaced the previous 'humanitemtype'. > >Test plan: >1/ Translate some item types. >2/ Define some holds policy using these item types. >3/ Update the template strings >4/ Confirm that the "holds policy by item type" are displayed (for the >default and specific library) and sorted by translated item type descriptions. >--- > admin/smart-rules.pl | 30 ++++++++++++++-------- > .../prog/en/modules/admin/smart-rules.tt | 4 +-- > 2 files changed, 21 insertions(+), 13 deletions(-) > >diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl >index 253b08a..083e422 100755 >--- a/admin/smart-rules.pl >+++ b/admin/smart-rules.pl >@@ -442,8 +442,8 @@ $sth2->execute($language, $branch); > > while (my $row = $sth2->fetchrow_hashref) { > $row->{'current_branch'} ||= $row->{'branchcode'}; >- $row->{'humanitemtype'} ||= $row->{'itemtype'}; >- $row->{'default_humanitemtype'} = 1 if $row->{'humanitemtype'} eq '*'; >+ $row->{translated_description} ||= $row->{translated_description}; >+ $row->{default_translated_description} = 1 if $row->{humanitemtype} eq '*'; > $row->{'humancategorycode'} ||= $row->{'categorycode'}; > $row->{'default_humancategorycode'} = 1 if $row->{'humancategorycode'} eq '*'; > $row->{'fine'} = sprintf('%.2f', $row->{'fine'}); >@@ -498,26 +498,34 @@ foreach my $entry (@sorted_branch_cat_rules, @sorted_row_loop) { > my $sth_branch_item; > if ($branch eq "*") { > $sth_branch_item = $dbh->prepare(" >- SELECT default_branch_item_rules.*, itemtypes.description AS humanitemtype >+ SELECT default_branch_item_rules.*, >+ COALESCE( localization.translation, itemtypes.description ) AS translated_description > FROM default_branch_item_rules > JOIN itemtypes USING (itemtype) >+ LEFT JOIN localization ON itemtypes.itemtype = localization.code >+ AND localization.entity = 'itemtypes' >+ AND localization.lang = ? > "); >- $sth_branch_item->execute(); >+ $sth_branch_item->execute($language); > } else { > $sth_branch_item = $dbh->prepare(" >- SELECT branch_item_rules.*, itemtypes.description AS humanitemtype >+ SELECT branch_item_rules.*, >+ COALESCE( localization.translation, itemtypes.description ) AS translated_description > FROM branch_item_rules > JOIN itemtypes USING (itemtype) >+ LEFT JOIN localization ON itemtypes.itemtype = localization.code >+ AND localization.entity = 'itemtypes' >+ AND localization.lang = ? > WHERE branch_item_rules.branchcode = ? > "); >- $sth_branch_item->execute($branch); >+ $sth_branch_item->execute($language, $branch); > } > > my @branch_item_rules = (); > while (my $row = $sth_branch_item->fetchrow_hashref) { > push @branch_item_rules, $row; > } >-my @sorted_branch_item_rules = sort { $a->{'humanitemtype'} cmp $b->{'humanitemtype'} } @branch_item_rules; >+my @sorted_branch_item_rules = sort { $a->{translated_description} cmp $b->{translated_description} } @branch_item_rules; > > # note undef holdallowed so that template can deal with them > foreach my $entry (@sorted_branch_item_rules) { >@@ -591,11 +599,11 @@ sub by_category { > > sub by_itemtype { > my ($a, $b) = @_; >- if ($a->{'default_humanitemtype'}) { >- return ($b->{'default_humanitemtype'} ? 0 : 1); >- } elsif ($b->{'default_humanitemtype'}) { >+ if ($a->{default_translated_description}) { >+ return ($b->{'default_translated_description'} ? 0 : 1); >+ } elsif ($b->{'default_translated_description'}) { > return -1; > } else { >- return $a->{'humanitemtype'} cmp $b->{'humanitemtype'}; >+ return $a->{'translated_description'} cmp $b->{'translated_description'}; > } > } >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt >index b871463..198973d 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt >@@ -173,7 +173,7 @@ for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde > [% rule.humancategorycode %] > [% END %] > </td> >- <td>[% IF ( rule.default_humanitemtype ) %] >+ <td>[% IF rule.default_translated_description %] > <em>All</em> > [% ELSE %] > [% rule.translated_description %] >@@ -527,7 +527,7 @@ for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde > [% ELSE %] > <tr> > [% END %] >- <td>[% IF ( branch_item_rule_loo.default_humanitemtype ) %] >+ <td>[% IF ( branch_item_rule_loo.default_translated_description ) %] > <em>Default</em> > [% ELSE %] > [% branch_item_rule_loo.translated_description %] >-- >2.1.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 15354
:
45609
|
45632
|
45633
|
45716
|
46222
|
46281
|
46282
|
46283
|
46949
|
46950
|
46951