Bug 37628: (follow-up) Remove get_opac_news_by_id
Keep the same behaviour, but wondering why we don't return 'content'
when there is no match.
ie.
+ is( $additional_contents, undef );
should certainly be
+ is( $additional_contents->{content}->count, 0 );
WNC amended patch - tidied
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8830cd7eff)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
7776ebc178
commit
935ae536c8
|
|
@ -81,13 +81,14 @@ sub search_for_display {
|
|||
qq|(SELECT COUNT(*) FROM additional_contents_localizations WHERE lang='$lang' AND additional_content_id=me.additional_content_id)=0|;
|
||||
|
||||
my $search_params;
|
||||
$search_params->{location} = $params->{location};
|
||||
$search_params->{branchcode} = $params->{library_id} ? [ $params->{library_id}, undef ] : undef;
|
||||
$search_params->{published_on} = { '<=' => \'CAST(NOW() AS DATE)' };
|
||||
$search_params->{expirationdate} = [ '-or', { '>=' => \'CAST(NOW() AS DATE)' }, undef ];
|
||||
$search_params->{category} = $params->{category} if $params->{category};
|
||||
$search_params->{lang} = 'default' if !$lang || $lang eq 'default';
|
||||
$search_params->{-or} = [ { 'lang' => $lang }, '-and' => [ 'lang', 'default', \$subquery ] ]
|
||||
$search_params->{'additional_content.id'} = $params->{id} if $params->{id};
|
||||
$search_params->{location} = $params->{location};
|
||||
$search_params->{branchcode} = $params->{library_id} ? [ $params->{library_id}, undef ] : undef;
|
||||
$search_params->{published_on} = { '<=' => \'CAST(NOW() AS DATE)' };
|
||||
$search_params->{expirationdate} = [ '-or', { '>=' => \'CAST(NOW() AS DATE)' }, undef ];
|
||||
$search_params->{category} = $params->{category} if $params->{category};
|
||||
$search_params->{lang} = 'default' if !$lang || $lang eq 'default';
|
||||
$search_params->{-or} = [ { 'lang' => $lang }, '-and' => [ 'lang', 'default', \$subquery ] ]
|
||||
if !$search_params->{lang};
|
||||
|
||||
my $attribs = { prefetch => 'additional_content', order_by => 'additional_content.number' };
|
||||
|
|
|
|||
|
|
@ -40,10 +40,11 @@ sub get {
|
|||
|
||||
my $content = Koha::AdditionalContents->search_for_display(
|
||||
{
|
||||
category => $category,
|
||||
location => $location,
|
||||
lang => $lang,
|
||||
category => $category,
|
||||
location => $location,
|
||||
lang => $lang,
|
||||
( $library ? ( library_id => $library ) : () ),
|
||||
( $id ? ( id => $id ) : () ),
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
[% END %]
|
||||
|
||||
[% IF news_id %]
|
||||
[% SET koha_news = AdditionalContents.get( category => 'news', location => ['opac_only', 'staff_and_opac'], lang => lang, news_id => news_id ) %]
|
||||
[% SET koha_news = AdditionalContents.get( category => 'news', location => ['opac_only', 'staff_and_opac'], lang => lang, id => news_id ) %]
|
||||
[% ELSE %]
|
||||
[% SET koha_news = AdditionalContents.get( category => 'news', location => ['opac_only', 'staff_and_opac'], lang => lang, library => branchcode ) %]
|
||||
[% END %]
|
||||
|
|
|
|||
|
|
@ -33,18 +33,21 @@ my $builder = t::lib::TestBuilder->new;
|
|||
$schema->storage->txn_begin;
|
||||
|
||||
subtest 'get' => sub {
|
||||
plan tests => 2;
|
||||
plan tests => 4;
|
||||
|
||||
my $additional_contents = Koha::Template::Plugin::AdditionalContents->get({ category => 'news', location => ['opac_only', 'staff_and_opac'], lang => 'default', library => '%' });
|
||||
my $before_count = $additional_contents ? $additional_contents->{content}->count() : 0;
|
||||
my $additional_content = $builder->build_object({
|
||||
class => 'Koha::AdditionalContents',
|
||||
value => {
|
||||
category => 'news',
|
||||
location => 'opac_only',
|
||||
branchcode => undef
|
||||
my $additional_contents = Koha::Template::Plugin::AdditionalContents->get(
|
||||
{ category => 'news', location => [ 'opac_only', 'staff_and_opac' ], lang => 'default', library => '%' } );
|
||||
my $before_count = $additional_contents ? $additional_contents->{content}->count() : 0;
|
||||
my $additional_content = $builder->build_object(
|
||||
{
|
||||
class => 'Koha::AdditionalContents',
|
||||
value => {
|
||||
category => 'news',
|
||||
location => 'opac_only',
|
||||
branchcode => undef
|
||||
}
|
||||
}
|
||||
});
|
||||
);
|
||||
$builder->build_object(
|
||||
{
|
||||
class => 'Koha::AdditionalContentsLocalizations',
|
||||
|
|
@ -54,13 +57,34 @@ subtest 'get' => sub {
|
|||
}
|
||||
}
|
||||
);
|
||||
$additional_contents = Koha::Template::Plugin::AdditionalContents->get({ category => 'news', location => ['opac_only', 'staff_and_opac'], lang => 'default' });
|
||||
is( $additional_contents->{content}->count, $before_count + 1, "We get the additional one we added");
|
||||
$additional_contents = Koha::Template::Plugin::AdditionalContents->get(
|
||||
{ category => 'news', location => [ 'opac_only', 'staff_and_opac' ], lang => 'default' } );
|
||||
is( $additional_contents->{content}->count, $before_count + 1, "We get the additional one we added" );
|
||||
|
||||
$additional_contents = Koha::Template::Plugin::AdditionalContents->get({ category => 'news', location => ['opac_only', 'staff_and_opac'], lang => 'default', blocktitle => 'blockhead' });
|
||||
$additional_contents = Koha::Template::Plugin::AdditionalContents->get(
|
||||
{
|
||||
category => 'news', location => [ 'opac_only', 'staff_and_opac' ], lang => 'default',
|
||||
blocktitle => 'blockhead'
|
||||
}
|
||||
);
|
||||
|
||||
is( $additional_contents->{blocktitle}, 'blockhead', "Block title is passed through");
|
||||
is( $additional_contents->{blocktitle}, 'blockhead', "Block title is passed through" );
|
||||
|
||||
$additional_contents = Koha::Template::Plugin::AdditionalContents->get(
|
||||
{
|
||||
id => $additional_content->id, category => 'news', location => [ 'opac_only', 'staff_and_opac' ],
|
||||
lang => 'default'
|
||||
}
|
||||
);
|
||||
is( $additional_contents->{content}->count, 1 );
|
||||
|
||||
$additional_contents = Koha::Template::Plugin::AdditionalContents->get(
|
||||
{
|
||||
id => $additional_content->id, category => 'html_customizations',
|
||||
location => [ 'opac_only', 'staff_and_opac' ], lang => 'default'
|
||||
}
|
||||
);
|
||||
is( $additional_contents, undef );
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue