diff --git a/app/controllers/course_reserves_controller.rb b/app/controllers/course_reserves_controller.rb index ca276e5bd..60b2c7b6e 100644 --- a/app/controllers/course_reserves_controller.rb +++ b/app/controllers/course_reserves_controller.rb @@ -1,19 +1,21 @@ class CourseReservesController < ApplicationController include Blacklight::SearchContext include Blacklight::Configurable - include CourseReserves copy_blacklight_config_from(CatalogController) def index - facet = "crez_course_info" + # facet = "crez_course_info" + facet = "courses_json_struct" + p = {} p[:"facet.field"] = facet p[:"f.#{facet}.facet.limit"] = "-1" # this implies lexical sort p[:rows] = 0 response = blacklight_config.repository.search(p) + debugger course_reserves = [] response.aggregations.values.first.items.each do |item| - course_reserves << CourseInfo.new(item.value) + course_reserves << CourseReserves::CourseInfo.new(item.value) end @course_reserves = course_reserves end diff --git a/app/models/concerns/course_reserves.rb b/app/models/concerns/course_reserves.rb index fd85eb4e6..bc47dfdaf 100644 --- a/app/models/concerns/course_reserves.rb +++ b/app/models/concerns/course_reserves.rb @@ -18,22 +18,4 @@ def present? attr_reader :courses end - - class CourseInfo - def initialize(course) - @course = course.split('-|-').map { |c| c.strip } - end - - def id - @course[0] - end - - def name - @course[1] - end - - def instructor - @course[2] - end - end end diff --git a/app/models/course_reserves/course_info.rb b/app/models/course_reserves/course_info.rb new file mode 100644 index 000000000..7decc9332 --- /dev/null +++ b/app/models/course_reserves/course_info.rb @@ -0,0 +1,19 @@ +module CourseReserves + class CourseInfo + def initialize(course) + @course = course.split('-|-').map { |c| c.strip } + end + + def id + @course[0] + end + + def name + @course[1] + end + + def instructor + @course[2] + end + end +end \ No newline at end of file diff --git a/config/solr_configs/schema.xml b/config/solr_configs/schema.xml index c0c0f11ba..a7df0c3f6 100644 --- a/config/solr_configs/schema.xml +++ b/config/solr_configs/schema.xml @@ -231,6 +231,7 @@ + diff --git a/spec/fixtures/solr_documents/1.yml b/spec/fixtures/solr_documents/1.yml index b4cc68db7..e8853b7bc 100644 --- a/spec/fixtures/solr_documents/1.yml +++ b/spec/fixtures/solr_documents/1.yml @@ -22,6 +22,11 @@ - "ACCT-212-01-02 -|- Managerial Accounting: Base -|- Rajan, Madhav V." - "ACCT-212-01-02 -|- Managerial Accounting: Base -|- Reichelstein, Stefan J" - "ACCT-215-01-02 -|- Managerial Accounting: Accelerated -|- Marinovic Vial, Ivan" +:courses_json_struct: + - '{ "course_name": "Managerial Accounting: Base", "course_id": "ACCT-212-01-02", "instructors": ["Rajan, Madhav V."], "reserve_desk": "LAW-CRES"}' + - '{ "course_name": "Managerial Accounting: Base", "course_id": "ACCT-212-01-02", "instructors": ["Reichelstein, Stefan J"], "reserve_desk": "LAW-CRES"}' + - '{ "course_name": "Managerial Accounting: Accelerated", "course_id": "ACCT-215-01-02", "instructors": ["Marinovic Vial, Ivan"], "reserve_desk": "LAW-CRES"}' + :item_display_struct: - barcode: '36105217238315' library: EARTH-SCI diff --git a/spec/fixtures/solr_documents/2.yml b/spec/fixtures/solr_documents/2.yml index ee498735e..943e6cdb0 100644 --- a/spec/fixtures/solr_documents/2.yml +++ b/spec/fixtures/solr_documents/2.yml @@ -16,3 +16,5 @@ :instructor: "McDonald, Ronald" :crez_course_info: - "CAT-401-01-01 -|- Emergency Kittenz -|- McDonald, Ronald" +:courses_json_struct: + - '{ "course_name": "Emergency Kittenz", "course_id": "CAT-401-01-01", "instructors": ["McDonald, Ronald"], "reserve_desk": "LAW-CRES"}' \ No newline at end of file