LP1907979: Fix Search by Instructor setting lookup in OPAC
authorJane Sandberg <sandbej@linnbenton.edu>
Fri, 18 Dec 2020 16:57:04 +0000 (08:57 -0800)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 12 Mar 2021 21:58:15 +0000 (16:58 -0500)
Previously, the Search Courses screen in the OPAC relied on a locg
param in the URL to determine whether or not to display the "Search
by Instructor option", defaulting to location id 1 if no such param
exists.  However, we can also consult physical_loc and other settings
to get a more accurate idea of which library's setting we need here.

To test:
1) In the Library settings editor, set Course Materials Module Opt In
to true for BR1.
2) In the Library settings editor, set Search by Instructor to true
for BR1.
3) In eg.conf, add the line:
    SetEnv physical_loc 4
4) Restart httpd
5) Go to your OPAC.  Note that the OPAC is at the BR1 level, and that
course search and browse options are available.
6) Click Search courses.
7) Note that only two values are available in the qtype dropdown: Course
Name and Course Number.
8) Apply this patch.
9) Repeat steps 5-6.
10) Note that the screen now appropriately consults the value for the
"Search by Instructor" setting at the BR1 level, with an "Instructor"
value now available in the qtype dropdown.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/templates/opac/parts/course_search/qtype_selector.tt2

index ab0c121..003218b 100644 (file)
@@ -3,11 +3,7 @@
     {value => "course_number", label => l("Course Number"), plural_label => l('Course Numbers'), browse => 1}
 ];
 
-IF CGI.param('locg');
-    locg = CGI.param('locg');
-ELSE;
-    locg = 1;
-END;
+locg = CGI.param('locg') || ctx.physical_loc || ctx.aou_tree.id || 1;
 
 IF ctx.get_org_setting(locg, 'circ.course_materials_browse_by_instructor');
 query_types.push({