app/controllers/manifestations_controller.rb in enju_biblio-0.3.11 vs app/controllers/manifestations_controller.rb in enju_biblio-0.3.12
- old
+ new
@@ -31,29 +31,18 @@
if params[:format] == 'txt'
per_page = 65534
end
- if params[:format] == 'sru'
- if params[:operation] == 'searchRetrieve'
- sru = Sru.new(params)
- query = sru.cql.to_sunspot
- sort = sru.sort_by
- else
- render template: 'manifestations/explain', layout: false
- return
- end
+ if params[:api] == 'openurl'
+ openurl = Openurl.new(params)
+ @manifestations = openurl.search
+ query = openurl.query_text
+ sort = set_search_result_order(params[:sort_by], params[:order])
else
- if params[:api] == 'openurl'
- openurl = Openurl.new(params)
- @manifestations = openurl.search
- query = openurl.query_text
- sort = set_search_result_order(params[:sort_by], params[:order])
- else
- query = make_query(params[:query], params)
- sort = set_search_result_order(params[:sort_by], params[:order])
- end
+ query = make_query(params[:query], params)
+ sort = set_search_result_order(params[:sort_by], params[:order])
end
# 絞り込みを行わない状態のクエリ
@query = query.dup
query = query.gsub(' ', ' ')
@@ -189,41 +178,41 @@
if params[:per_page].to_i > 0
per_page = params[:per_page].to_i
else
per_page = Manifestation.default_per_page
end
- if params[:format] == 'sru'
- #search.query.start_record(params[:startRecord] || 1, params[:maximumRecords] || 200)
+
+ pub_dates = parse_pub_date(params)
+ pub_date_range = {}
+
+ if pub_dates[:from] == '*'
+ pub_date_range[:from] = 0
else
- pub_dates = parse_pub_date(params)
- pub_date_range = {}
- if pub_dates[:from] == '*'
- pub_date_range[:from] = 0
- else
- pub_date_range[:from] = Time.zone.parse(pub_dates[:from]).year
- end
- if pub_dates[:until] == '*'
- pub_date_range[:until] = 10000
- else
- pub_date_range[:until] = Time.zone.parse(pub_dates[:until]).year
- end
- if params[:pub_year_range_interval]
- pub_year_range_interval = params[:pub_year_range_interval].to_i
- else
- pub_year_range_interval = @library_group.pub_year_facet_range_interval || 10
- end
+ pub_date_range[:from] = Time.zone.parse(pub_dates[:from]).year
+ end
+ if pub_dates[:until] == '*'
+ pub_date_range[:until] = 10000
+ else
+ pub_date_range[:until] = Time.zone.parse(pub_dates[:until]).year
+ end
- search.build do
- facet :reservable if defined?(EnjuCirculation)
- facet :carrier_type
- facet :library
- facet :language
- facet :pub_year, range: pub_date_range[:from]..pub_date_range[:until], range_interval: pub_year_range_interval
- facet :subject_ids if defined?(EnjuSubject)
- paginate page: page.to_i, per_page: per_page
- end
+ if params[:pub_year_range_interval]
+ pub_year_range_interval = params[:pub_year_range_interval].to_i
+ else
+ pub_year_range_interval = @library_group.pub_year_facet_range_interval || 10
end
+
+ search.build do
+ facet :reservable if defined?(EnjuCirculation)
+ facet :carrier_type
+ facet :library
+ facet :language
+ facet :pub_year, range: pub_date_range[:from]..pub_date_range[:until], range_interval: pub_year_range_interval
+ facet :subject_ids if defined?(EnjuSubject)
+ paginate page: page.to_i, per_page: per_page
+ end
+
search_result = search.execute
if @count[:query_result] > @max_number_of_results
max_count = @max_number_of_results
else
max_count = @count[:query_result]
@@ -259,10 +248,9 @@
respond_to do |format|
format.html
format.html.phone
format.xml { render xml: @manifestations }
- format.sru { render layout: false }
format.rss { render layout: false }
format.txt { render layout: false }
format.rdf { render layout: false }
format.atom
format.mods