View | Details | Raw Unified | Return to bug 17246
Collapse All | Expand All

(-)a/C4/Letters.pm (-4 / +1 lines)
Lines 1505-1514 sub _get_tt_params { Link Here
1505
                    $object = $module->search( { $pk => $tables->{$table} } )->next();
1505
                    $object = $module->search( { $pk => $tables->{$table} } )->next();
1506
                }
1506
                }
1507
                else {                                  # Params are mutliple foreign keys
1507
                else {                                  # Params are mutliple foreign keys
1508
                    my @values = @{ $tables->{$table} };
1508
                    croak "Multiple foreign keys (table $table) should be passed using an hashref";
1509
                    my @keys   = @{ $config->{$table}->{fk} };
1510
                    my %params = map { $_ => shift(@values) } @keys;
1511
                    $object = $module->search( \%params )->next();
1512
                }
1509
                }
1513
                $params->{ $config->{$table}->{singular} } = $object;
1510
                $params->{ $config->{$table}->{singular} } = $object;
1514
            }
1511
            }
(-)a/t/db_dependent/Letters/TemplateToolkit.t (-3 / +17 lines)
Lines 18-24 Link Here
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
use Test::More tests => 14;
21
use Test::More tests => 15;
22
use Test::Warn;
22
23
23
use MARC::Record;
24
use MARC::Record;
24
25
Lines 182-193 $prepared_letter = GetPreparedLetter( Link Here
182
        module      => 'test',
183
        module      => 'test',
183
        letter_code => 'TEST_HOLD',
184
        letter_code => 'TEST_HOLD',
184
        tables      => {
185
        tables      => {
185
            reserves => [ $patron->{borrowernumber}, $biblio->id() ]
186
            reserves => { borrowernumber => $patron->{borrowernumber}, biblionumber => $biblio->id() },
186
        },
187
        },
187
    )
188
    )
188
);
189
);
189
is( $prepared_letter->{content}, $hold->id(), 'Hold object used correctly' );
190
is( $prepared_letter->{content}, $hold->id(), 'Hold object used correctly' );
190
191
192
eval {
193
    $prepared_letter = GetPreparedLetter(
194
        (
195
            module      => 'test',
196
            letter_code => 'TEST_HOLD',
197
            tables      => {
198
                reserves => [ $patron->{borrowernumber}, $biblio->id() ],
199
            },
200
        )
201
    )
202
};
203
my $croak = $@;
204
like( $croak, qr{^Multiple foreign keys \(table reserves\) should be passed using an hashref.*}, "GetPreparedLetter should not be called with arrayref for multiple FK" );
205
191
# Bug 16942
206
# Bug 16942
192
$prepared_letter = GetPreparedLetter(
207
$prepared_letter = GetPreparedLetter(
193
    (
208
    (
194
- 

Return to bug 17246