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

(-)a/Koha/AdditionalContents.pm (-10 / +23 lines)
Lines 38-43 Koha::AdditionalContents - Koha Additional content object set class Link Here
38
38
39
=cut
39
=cut
40
40
41
=head3 get_public_query_search_params
42
43
    my $public_query_search_params = $self->get_public_query_search_params($params);
44
45
=cut
46
47
sub get_public_query_search_params {
48
    my ($params) = @_;
49
50
    my $search_params;
51
    $search_params->{'additional_content.id'} = $params->{id} if $params->{id};
52
    $search_params->{location}                = $params->{location};
53
    $search_params->{branchcode}              = $params->{library_id} ? [ $params->{library_id}, undef ] : undef;
54
    $search_params->{published_on}   = { '<=' => \'CAST(NOW() AS DATE)' }                   unless $params->{id};
55
    $search_params->{expirationdate} = [ '-or', { '>=' => \'CAST(NOW() AS DATE)' }, undef ] unless $params->{id};
56
    $search_params->{category}       = $params->{category} if $params->{category};
57
58
    return $search_params;
59
}
60
41
=head3 search_for_display
61
=head3 search_for_display
42
62
43
my $contents = Koha::AdditionalContents->search_for_display({
63
my $contents = Koha::AdditionalContents->search_for_display({
Lines 80-94 sub search_for_display { Link Here
80
    my $subquery =
100
    my $subquery =
81
        qq|(SELECT COUNT(*) FROM additional_contents_localizations WHERE lang='$lang' AND additional_content_id=me.additional_content_id)=0|;
101
        qq|(SELECT COUNT(*) FROM additional_contents_localizations WHERE lang='$lang' AND additional_content_id=me.additional_content_id)=0|;
82
102
83
    my $search_params;
103
    my $search_params = get_public_query_search_params($params);
84
    $search_params->{'additional_content.id'} = $params->{id} if $params->{id};
104
    $search_params->{lang} = 'default' if !$lang || $lang eq 'default';
85
    $search_params->{location}                = $params->{location};
105
    $search_params->{-or} = [ { 'lang' => $lang }, '-and' => [ 'lang', 'default', \$subquery ] ]
86
    $search_params->{branchcode}              = $params->{library_id} ? [ $params->{library_id}, undef ] : undef;
87
    $search_params->{published_on}   = { '<=' => \'CAST(NOW() AS DATE)' }                   unless $params->{id};
88
    $search_params->{expirationdate} = [ '-or', { '>=' => \'CAST(NOW() AS DATE)' }, undef ] unless $params->{id};
89
    $search_params->{category}       = $params->{category} if $params->{category};
90
    $search_params->{lang}           = 'default'           if !$lang || $lang eq 'default';
91
    $search_params->{-or}            = [ { 'lang' => $lang }, '-and' => [ 'lang', 'default', \$subquery ] ]
92
        if !$search_params->{lang};
106
        if !$search_params->{lang};
93
107
94
    my $attribs = { prefetch => 'additional_content', order_by => 'additional_content.number' };
108
    my $attribs = { prefetch => 'additional_content', order_by => 'additional_content.number' };
95
- 

Return to bug 39900