Bug 22515: Improve logic determining how to show OPAC suggestions

This patch makes changes to the OPAC suggestions view so that the logic
around logged in users and the OPACViewOthersSuggestions preference is
more specific.

To reproduce the bug you should have pending purchase susggestions in
your system from more than one patron.

1. Set the OPACViewOthersSuggestions preference to "Show."
2. Log in to the OPAC as a user who has not submitted any suggestions.
3. Follow the link to the purchase suggestions page from the menu under
   the search bar.
4. The page will say that there are no  purchase suggestions.
5. Add "?suggested_by_anyone=1" to the end of the page URL.
6. You should see suggestions from other users.

To test, apply the patch and repeat steps 2-3 above. The suggestions
page should show other patrons' suggestions.

Test with different combinations of factors:

 - Logged in user, OPACViewOthersSuggestions off
 - No logged in user, OPACViewOthersSuggestions on
 - No logged in user, OPACViewOthersSuggestions off

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Owen Leonard 2020-04-27 13:20:23 +00:00 committed by Martin Renvoize
parent 263a889be4
commit ebded0c332
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
2 changed files with 17 additions and 7 deletions

View File

@ -309,10 +309,8 @@
[% IF Koha.Preference( 'OpacTopissue' ) == 1 %]<li><a href="/cgi-bin/koha/opac-topissues.pl">Most popular</a></li>[% END %]
[% IF Koha.Preference('SearchEngine') == 'Elasticsearch' && Koha.Preference( 'OpacBrowseSearch' ) == 1 %]<li><a href="/cgi-bin/koha/opac-browse.pl">Browse search</a></li>[% END %]
[% IF Koha.Preference( 'suggestion' ) == 1 %]
[% IF Koha.Preference( 'AnonSuggestions' ) == 1 %]
<li><a href="/cgi-bin/koha/opac-suggestions.pl">Purchase suggestions</a></li>
[% ELSIF ( ( Koha.Preference( 'OPACViewOthersSuggestions' ) == 1 ) ) %]
<li><a href="/cgi-bin/koha/opac-suggestions.pl">Purchase suggestions</a></li>
[% IF Koha.Preference( 'AnonSuggestions' ) == 1 || Koha.Preference( 'OPACViewOthersSuggestions' ) == 1 %]
<li><a href="/cgi-bin/koha/opac-suggestions.pl?suggested_by_anyone=1">Purchase suggestions</a></li>
[% END %]
[% END %]
[% Koha.Preference('OpacMoreSearches') | $raw %]

View File

@ -395,10 +395,22 @@
[% END %]
</form>
[% ELSE %]
[% UNLESS Koha.Preference( 'OPACViewOthersSuggestions' ) or loggedinusername %]
<p>You are not authorized to see pending purchase suggestions.</p>
[% IF Koha.Preference( 'OPACViewOthersSuggestions' ) %]
[% IF ( loggedinusername ) %]
[% IF ( suggested_by_anyone ) %]
<p>There are no pending purchase suggestions.</p>
[% ELSE %]
<p>You have no pending purchase suggestions. <a href="/cgi-bin/koha/opac-suggestions.pl?suggested_by_anyone=1">View all suggestions</a></p>
[% END %]
[% ELSE %]
<p>There are no pending purchase suggestions.</p>
[% END %]
[% ELSE %]
<p>There are no pending purchase suggestions.</p>
[% IF ( loggedinusername ) %]
<p>You have no pending purchase suggestions.</p>
[% ELSE %]
<p>You are not authorized to see pending purchase suggestions.</p>
[% END %]
[% END %]
[% IF ( loggedinusername || ( Koha.Preference( 'AnonSuggestions' ) == 1 ) ) %]
[% IF ( Koha.Preference('MaxTotalSuggestions') != '' && patrons_total_suggestions_count >= Koha.Preference('MaxTotalSuggestions') ) %]