Bug 15354: Fix translated itemtype descriptions in circ rules
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. Signed-off-by: Frédéric Demians <f.demians@tamil.fr> Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com> Passes QA tools. Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
This commit is contained in:
parent
c5aa676294
commit
f1b7e8b4d8
2 changed files with 21 additions and 13 deletions
|
@ -460,8 +460,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'});
|
||||
|
@ -516,26 +516,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) {
|
||||
|
@ -609,11 +617,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'};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -185,7 +185,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 %]
|
||||
|
@ -545,7 +545,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 %]
|
||||
|
|
Loading…
Reference in a new issue