blacklight 4.3.0 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +0 -6
  4. data/Gemfile +5 -0
  5. data/README.md +1 -1
  6. data/Rakefile +0 -1
  7. data/VERSION +1 -1
  8. data/app/assets/javascripts/blacklight/autofocus.js +16 -0
  9. data/app/assets/javascripts/blacklight/blacklight.js +1 -0
  10. data/app/assets/javascripts/blacklight/bookmark_toggle.js +2 -5
  11. data/app/assets/javascripts/blacklight/checkbox_submit.js +3 -6
  12. data/app/assets/javascripts/blacklight/core.js +24 -1
  13. data/app/assets/javascripts/blacklight/css_dropdowns.js +2 -2
  14. data/app/assets/javascripts/blacklight/facet_expand_contract.js +4 -3
  15. data/app/assets/javascripts/blacklight/lightbox_dialog.js +7 -1
  16. data/app/assets/javascripts/blacklight/search_context.js +1 -1
  17. data/app/assets/javascripts/blacklight/select_submit.js +1 -1
  18. data/app/assets/javascripts/blacklight/zebra_stripe.js +1 -1
  19. data/app/assets/stylesheets/blacklight/_blacklight_base.css.scss +1 -0
  20. data/app/assets/stylesheets/blacklight/_catalog.css.scss +5 -0
  21. data/app/assets/stylesheets/blacklight/_facets.css.scss +6 -0
  22. data/app/assets/stylesheets/blacklight/_group.css.scss +14 -0
  23. data/app/assets/stylesheets/blacklight/blacklight_defaults.css.scss +1 -0
  24. data/app/controllers/bookmarks_controller.rb +2 -2
  25. data/app/helpers/blacklight/blacklight_helper_behavior.rb +41 -24
  26. data/app/helpers/blacklight/catalog_helper_behavior.rb +48 -28
  27. data/app/helpers/blacklight/facets_helper_behavior.rb +9 -75
  28. data/app/models/record_mailer.rb +1 -16
  29. data/app/views/bookmarks/index.html.erb +2 -0
  30. data/app/views/catalog/_bookmark_control.html.erb +3 -4
  31. data/app/views/catalog/_document.html.erb +2 -1
  32. data/app/views/catalog/_document_header.html.erb +6 -3
  33. data/app/views/catalog/_email_form.html.erb +0 -7
  34. data/app/views/catalog/_facet_layout.html.erb +1 -1
  35. data/app/views/catalog/_group_default.html.erb +12 -0
  36. data/app/views/catalog/_index_default.html.erb +1 -1
  37. data/app/views/catalog/_opensearch_response_metadata.html.erb +2 -3
  38. data/app/views/catalog/_paginate_compact.html.erb +2 -2
  39. data/app/views/catalog/_results_pagination.html.erb +2 -2
  40. data/app/views/catalog/_search_form.html.erb +1 -1
  41. data/app/views/catalog/_sms_form.html.erb +1 -21
  42. data/app/views/catalog/_thumbnail_default.html.erb +5 -0
  43. data/app/views/catalog/email_sent.html.erb +9 -0
  44. data/app/views/catalog/index.atom.builder +7 -8
  45. data/app/views/catalog/index.html.erb +6 -3
  46. data/app/views/catalog/librarian_view.html.erb +1 -1
  47. data/app/views/catalog/sms_sent.html.erb +9 -0
  48. data/app/views/feedback/complete.html.erb +2 -0
  49. data/app/views/feedback/show.html.erb +7 -5
  50. data/app/views/kaminari/blacklight_compact/_paginator.html.erb +1 -1
  51. data/app/views/layouts/blacklight.html.erb +1 -2
  52. data/app/views/saved_searches/index.html.erb +2 -0
  53. data/app/views/search_history/index.html.erb +1 -1
  54. data/blacklight.gemspec +1 -1
  55. data/config/locales/blacklight.en.yml +11 -0
  56. data/config/locales/blacklight.fr.yml +15 -1
  57. data/gemfiles/rails3.gemfile +7 -0
  58. data/gemfiles/rails4.gemfile +7 -0
  59. data/lib/blacklight.rb +1 -0
  60. data/lib/blacklight/catalog.rb +101 -56
  61. data/lib/blacklight/configuration.rb +1 -1
  62. data/lib/blacklight/controller.rb +7 -4
  63. data/lib/blacklight/facet.rb +79 -0
  64. data/lib/blacklight/routes.rb +0 -1
  65. data/lib/blacklight/solr/document.rb +4 -0
  66. data/lib/blacklight/solr/document/marc_export.rb +1 -1
  67. data/lib/blacklight/solr_helper.rb +39 -8
  68. data/lib/blacklight/solr_response.rb +35 -3
  69. data/lib/blacklight/solr_response/facets.rb +4 -0
  70. data/lib/blacklight/solr_response/group.rb +33 -0
  71. data/lib/blacklight/solr_response/group_response.rb +49 -0
  72. data/lib/blacklight/solr_response/pagination_methods.rb +27 -0
  73. data/lib/blacklight/user.rb +30 -32
  74. data/lib/generators/blacklight/assets_generator.rb +3 -1
  75. data/lib/generators/blacklight/blacklight_generator.rb +28 -125
  76. data/lib/generators/blacklight/marc_generator.rb +66 -0
  77. data/lib/generators/blacklight/models_generator.rb +113 -0
  78. data/lib/generators/blacklight/templates/alternate_controller.rb +9 -0
  79. data/lib/generators/blacklight/templates/config/solr.yml +0 -2
  80. data/lib/generators/blacklight/templates/solr_document.rb +1 -13
  81. data/lib/railties/all_tests.rake +5 -8
  82. data/spec/controllers/catalog_controller_spec.rb +185 -113
  83. data/spec/features/alternate_controller_spec.rb +34 -0
  84. data/spec/features/bookmarks_spec.rb +58 -0
  85. data/spec/features/did_you_mean_spec.rb +135 -0
  86. data/spec/features/librarian_view_spec.rb +13 -0
  87. data/spec/features/record_view_spec.rb +37 -0
  88. data/spec/features/saved_searches_spec.rb +47 -0
  89. data/spec/features/search_filters_spec.rb +137 -0
  90. data/spec/features/search_history_spec.rb +75 -0
  91. data/spec/features/search_pagination_spec.rb +91 -0
  92. data/spec/features/search_results_spec.rb +68 -0
  93. data/spec/features/search_sort_spec.rb +20 -0
  94. data/spec/features/search_spec.rb +108 -0
  95. data/spec/helpers/blacklight_helper_spec.rb +45 -2
  96. data/spec/helpers/catalog_helper_spec.rb +134 -1
  97. data/spec/helpers/facets_helper_spec.rb +8 -0
  98. data/spec/lib/blacklight/solr_response/group_response_spec.rb +78 -0
  99. data/spec/lib/blacklight/solr_response/group_spec.rb +70 -0
  100. data/spec/lib/blacklight_solr_response_spec.rb +11 -5
  101. data/spec/lib/blacklight_user_spec.rb +22 -41
  102. data/spec/lib/solr_helper_spec.rb +73 -1
  103. data/spec/models/record_mailer_spec.rb +3 -3
  104. data/spec/models/{solr_docment_spec.rb → solr_document_spec.rb} +1 -1
  105. data/spec/spec_helper.rb +0 -1
  106. data/spec/support/features.rb +7 -0
  107. data/spec/support/features/session_helpers.rb +22 -0
  108. data/spec/test_app_templates/Gemfile.extra +0 -4
  109. data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -6
  110. data/spec/test_app_templates/lib/tasks/blacklight_test_app.rake +1 -9
  111. data/spec/views/catalog/_facets.html.erb_spec.rb +2 -1
  112. data/tasks/blacklight.rake +0 -10
  113. metadata +49 -58
  114. data/features/bookmarks.feature +0 -68
  115. data/features/did_you_mean.feature +0 -123
  116. data/features/librarian_view.feature +0 -18
  117. data/features/record_view.feature +0 -40
  118. data/features/saved_searches.feature +0 -49
  119. data/features/search.feature +0 -83
  120. data/features/search_filters.feature +0 -119
  121. data/features/search_history.feature +0 -85
  122. data/features/search_pagination.feature +0 -53
  123. data/features/search_results.feature +0 -61
  124. data/features/search_sort.feature +0 -27
  125. data/features/step_definitions/bookmarks_steps.rb +0 -6
  126. data/features/step_definitions/error_steps.rb +0 -5
  127. data/features/step_definitions/general_steps.rb +0 -50
  128. data/features/step_definitions/record_view_steps.rb +0 -12
  129. data/features/step_definitions/saved_searches_steps.rb +0 -19
  130. data/features/step_definitions/search_facets_steps.rb +0 -29
  131. data/features/step_definitions/search_history_steps.rb +0 -9
  132. data/features/step_definitions/search_pagination_steps.rb +0 -29
  133. data/features/step_definitions/search_result_steps.rb +0 -115
  134. data/features/step_definitions/search_steps.rb +0 -118
  135. data/features/step_definitions/user_steps.rb +0 -5
  136. data/features/step_definitions/web_steps.rb +0 -217
  137. data/features/support/env.rb +0 -65
  138. data/features/support/paths.rb +0 -48
  139. data/features/support/selectors.rb +0 -40
  140. data/lib/railties/blacklight_cucumber.rake +0 -126
  141. data/lib/solrmarc.log.1 +0 -854
@@ -1,12 +1,6 @@
1
1
  module Blacklight::FacetsHelperBehavior
2
2
 
3
- #
4
- # blacklight_config based helpers ->
5
- #
6
-
7
- def facet_configuration_for_field(field)
8
- blacklight_config.facet_fields[field] || Blacklight::Configuration::FacetField.new(:field => field).normalize!
9
- end
3
+ include Blacklight::Facet
10
4
 
11
5
  # used in the catalog/_facets partial
12
6
  def facet_field_labels
@@ -14,37 +8,18 @@ module Blacklight::FacetsHelperBehavior
14
8
  Hash[*blacklight_config.facet_fields.map { |key, facet| [key, facet.label] }.flatten]
15
9
  end
16
10
 
17
- # used in the catalog/_facets partial
18
- def facet_field_names
19
- blacklight_config.facet_fields.keys
20
- end
21
11
 
22
12
  def has_facet_values? fields = facet_field_names, options = {}
23
- solr_fields = fields.map { |solr_field| facet_by_field_name(solr_field) }.compact
24
- solr_fields.any? { |display_facet| !display_facet.items.empty? }
13
+ facets_from_request(fields).any? { |display_facet| !display_facet.items.empty? }
25
14
  end
26
15
 
27
16
  # Render a collection of facet fields
28
17
  def render_facet_partials fields = facet_field_names, options = {}
29
- solr_fields = fields.map { |solr_field| facet_by_field_name(solr_field) }.compact
30
-
31
- solr_fields.map do |display_facet|
18
+ facets_from_request(fields).map do |display_facet|
32
19
  render_facet_limit(display_facet, options)
33
20
  end.compact.join("\n").html_safe
34
21
  end
35
22
 
36
- # Get a FacetField object from the @response
37
- def facet_by_field_name solr_field
38
- case solr_field
39
- when String, Symbol
40
- extract_solr_facet_by_field_name(solr_field)
41
- when Blacklight::Configuration::FacetField
42
- extract_solr_facet_by_field_name(solr_field.field)
43
- else
44
- solr_field
45
- end
46
- end
47
-
48
23
 
49
24
  # used in the catalog/_facets partial and elsewhere
50
25
  # Renders a single section for facet limit with a specified
@@ -202,6 +177,10 @@ module Blacklight::FacetsHelperBehavior
202
177
  p[:f].delete(field) if p[:f][field].size == 0
203
178
  p
204
179
  end
180
+
181
+ def facet_field_in_params? field
182
+ params[:f] and params[:f][field]
183
+ end
205
184
 
206
185
  # true or false, depending on whether the field and value is in params[:f]
207
186
  def facet_in_params?(field, item)
@@ -211,7 +190,7 @@ module Blacklight::FacetsHelperBehavior
211
190
 
212
191
  value = facet_value_for_facet_item(item)
213
192
 
214
- params[:f] and params[:f][field] and params[:f][field].include?(value)
193
+ facet_field_in_params?(field) and params[:f][field].include?(value)
215
194
  end
216
195
 
217
196
  def facet_display_value field, item
@@ -237,6 +216,7 @@ module Blacklight::FacetsHelperBehavior
237
216
  end
238
217
  end
239
218
 
219
+
240
220
  private
241
221
 
242
222
  def facet_value_for_facet_item item
@@ -247,50 +227,4 @@ module Blacklight::FacetsHelperBehavior
247
227
  end
248
228
  end
249
229
 
250
- # Get the solr response for the solr field :field
251
- def extract_solr_facet_by_field_name facet_name
252
- facet_field = facet_configuration_for_field(facet_name)
253
- case
254
- when (facet_field.respond_to?(:query) and facet_field.query)
255
- create_rsolr_facet_field_response_for_query_facet_field facet_name, facet_field
256
- when (facet_field.respond_to?(:pivot) and facet_field.pivot)
257
- create_rsolr_facet_field_response_for_pivot_facet_field facet_name, facet_field
258
- else
259
- @response.facet_by_field_name(facet_name)
260
- end
261
- end
262
-
263
- def create_rsolr_facet_field_response_for_query_facet_field facet_name, facet_field
264
- salient_facet_queries = facet_field.query.map { |k, x| x[:fq] }
265
- items = []
266
- @response.facet_queries.select { |k,v| salient_facet_queries.include?(k) }.reject { |value, hits| hits == 0 }.map do |value,hits|
267
- salient_fields = facet_field.query.select { |key, val| val[:fq] == value }
268
- key = ((salient_fields.keys if salient_fields.respond_to? :keys) || salient_fields.first).first
269
- items << Blacklight::SolrResponse::Facets::FacetItem.new(:value => key, :hits => hits, :label => facet_field.query[key][:label])
270
- end
271
-
272
- Blacklight::SolrResponse::Facets::FacetField.new facet_name, items
273
- end
274
-
275
-
276
- def create_rsolr_facet_field_response_for_pivot_facet_field facet_name, facet_field
277
- items = []
278
- (@response.facet_pivot[facet_field.pivot.join(",")] || []).map do |lst|
279
- items << construct_pivot_field(lst)
280
- end
281
-
282
- Blacklight::SolrResponse::Facets::FacetField.new facet_name, items
283
- end
284
-
285
- def construct_pivot_field lst, parent_fq = {}
286
- items = []
287
-
288
- lst[:pivot].each do |i|
289
- items << construct_pivot_field(i, parent_fq.merge({ lst[:field] => lst[:value] }))
290
- end if lst[:pivot]
291
-
292
- Blacklight::SolrResponse::Facets::FacetItem.new(:value => lst[:value], :hits => lst[:count], :field => lst[:field], :items => items, :fq => parent_fq)
293
-
294
- end
295
-
296
230
  end
@@ -14,24 +14,9 @@ class RecordMailer < ActionMailer::Base
14
14
  end
15
15
 
16
16
  def sms_record(documents, details, url_gen_params)
17
- if sms_mapping[details[:carrier]]
18
- to = "#{details[:to]}@#{sms_mapping[details[:carrier]]}"
19
- end
20
17
  @documents = documents
21
18
  @url_gen_params = url_gen_params
22
- mail(:to => to, :subject => "")
19
+ mail(:to => details[:to], :subject => "")
23
20
  end
24
21
 
25
- protected
26
-
27
- def sms_mapping
28
- {'virgin' => 'vmobl.com',
29
- 'att' => 'txt.att.net',
30
- 'verizon' => 'vtext.com',
31
- 'nextel' => 'messaging.nextel.com',
32
- 'sprint' => 'messaging.sprintpcs.com',
33
- 'tmobile' => 'tmomail.net',
34
- 'alltel' => 'message.alltel.com',
35
- 'cricket' => 'mms.mycricket.com'}
36
- end
37
22
  end
@@ -1,3 +1,4 @@
1
+ <div id="content" class="span12">
1
2
  <h1><%= t('blacklight.bookmarks.title') %></h1>
2
3
 
3
4
  <%- if current_or_guest_user.blank? -%>
@@ -14,4 +15,5 @@
14
15
  <%= render_document_index %>
15
16
  <%= render 'results_pagination' %>
16
17
  <% end %>
18
+ </div>
17
19
 
@@ -1,19 +1,18 @@
1
1
  <% if current_or_guest_user %>
2
- <%- existing_bookmark = current_or_guest_user.existing_bookmark_for(document.id) -%>
3
2
  <%-
4
3
  # Note these two forms are pretty similar but for different :methods, classes, and labels.
5
4
  # but it was simpler to leave them seperate instead of DRYing them, got confusing trying that.
6
5
  # the data-doc-id attribute is used by our JS that converts to a checkbox/label.
7
6
  -%>
8
- <% unless existing_bookmark %>
7
+ <% unless current_or_guest_user.document_is_bookmarked? document.id %>
9
8
 
10
- <%= form_tag( bookmark_path( document ), :method => :put, :class => "bookmark_toggle", "data-doc-id" => document.id) do %>
9
+ <%= form_tag( bookmark_path( document ), :method => :put, :class => "bookmark_toggle", "data-doc-id" => document.id, :'data-present' => t('blacklight.search.bookmarks.present'), :'data-absent' => t('blacklight.search.bookmarks.absent'), :'data-inprogress' => t('blacklight.search.bookmarks.inprogress')) do %>
11
10
  <%= submit_tag(t('blacklight.bookmarks.add.button'), :id => "bookmark_toggle_#{document.id.to_s.parameterize}", :class => "bookmark_add") %>
12
11
  <% end %>
13
12
 
14
13
  <% else %>
15
14
 
16
- <%= form_tag( bookmark_path( document ), :method => :delete, :class => "bookmark_toggle", "data-doc-id" => document.id) do %>
15
+ <%= form_tag( bookmark_path( document ), :method => :delete, :class => "bookmark_toggle", "data-doc-id" => document.id, :'data-present' => t('blacklight.search.bookmarks.present'), :'data-absent' => t('blacklight.search.bookmarks.absent'), :'data-inprogress' => t('blacklight.search.bookmarks.inprogress')) do %>
17
16
  <%= submit_tag(t('blacklight.bookmarks.remove.button'), :id => "bookmark_toggle_#{document.id.to_s.parameterize}", :class => "bookmark_remove") %>
18
17
  <% end %>
19
18
 
@@ -1,8 +1,9 @@
1
1
  <% # container for a single doc -%>
2
2
  <div class="document <%= render_document_class document %>">
3
-
4
3
  <%= render :partial => 'document_header', :locals => { :document => document, :document_counter => document_counter } %>
5
4
 
5
+ <%= render_document_partial document, :thumbnail, :document_counter => document_counter %>
6
+
6
7
  <% # main container for doc partial view -%>
7
8
  <%= render_document_partial document, :index %>
8
9
 
@@ -2,10 +2,13 @@
2
2
  <% # header bar for doc items in index view -%>
3
3
  <div class="documentHeader clearfix">
4
4
 
5
- <% # main title container for doc partial view -%>
6
- <h5 class="index_title"><%= t('blacklight.search.documents.counter', :counter => (document_counter + 1 + @response.params[:start].to_i)) %><%= link_to_document document, :label=>document_show_link_field(document), :counter => (document_counter + 1 + @response.params[:start].to_i) %></h5>
5
+ <%- # main title container for doc partial view -%>
6
+ <h5 class="index_title">
7
+ <% counter = document_counter_with_offset(document_counter) %>
8
+ <%= t('blacklight.search.documents.counter', :counter => counter) if counter %>
9
+ <%= link_to_document document, :label=>document_show_link_field(document), :counter => counter %>
10
+ </h5>
7
11
 
8
-
9
12
  <% # bookmark functions for items/docs -%>
10
13
  <%= render_index_doc_actions document, :wrapping_class => "documentFunctions span2" %>
11
14
  </div>
@@ -1,4 +1,3 @@
1
- <%- unless flash[:success] %>
2
1
  <%= form_tag url_for(:controller => "catalog", :action => "email"), :id => 'email_form', :class => "form-horizontal ajax_form", :method => :post do %>
3
2
 
4
3
  <div class="modal-body">
@@ -35,9 +34,3 @@
35
34
  <button type="submit" class="btn btn-primary"> <%= t('blacklight.sms.form.submit') %></button>
36
35
  </div>
37
36
  <% end %>
38
- <%- else %>
39
- <div class="modal-body">
40
- <%= render :partial=>'/flash_msg' %>
41
- <span class="ajax-close-modal"/>
42
- </div>
43
- <%- end %>
@@ -1,4 +1,4 @@
1
1
  <div class="facet_limit blacklight-<%= facet_field.field.parameterize %>">
2
- <h5><%= facet_field.label -%> <i class="icon-chevron"></i></h5>
2
+ <h5><%= link_to facet_field.label, "#", "data-no-turbolink" => true -%> <i class="icon-chevron"></i></h5>
3
3
  <%= yield %>
4
4
  </div>
@@ -0,0 +1,12 @@
1
+ <% # container for all groups in index view -%>
2
+ <div id="groups">
3
+ <%- @response.groups.each do |g| %>
4
+ <h3 class="group-key"><%= g.key %></h3>
5
+ <div class="grouped-documents">
6
+ <%= render_document_index g.docs %>
7
+ </div>
8
+ <%- if g.total > @response.group_limit %>
9
+ <%= link_to t('blacklight.search.group.more'), add_group_facet_params_and_redirect(g), :class => 'more-in-group' %>
10
+ <%- end %>
11
+ <%- end %>
12
+ </div>
@@ -1,5 +1,5 @@
1
1
  <%# default partial to display solr document fields in catalog index view -%>
2
- <dl class="dl-horizontal dl-invert">
2
+ <dl class="document-metadata dl-horizontal dl-invert">
3
3
 
4
4
  <% index_fields(document).each do |solr_fname, field| -%>
5
5
  <% if should_render_index_field? document, field %>
@@ -1,4 +1,3 @@
1
- <% page_info = paginate_params(@response) %>
2
1
  <%= tag :meta, :name => "totalResults", :content => @response.total %>
3
- <%= tag :meta, :name => "startIndex", :content => (page_info.current_page == 1 ? 1 : @response.start ) %>
4
- <%= tag :meta, :name => "itemsPerPage", :content => page_info.limit_value %>
2
+ <%= tag :meta, :name => "startIndex", :content => @response.start %>
3
+ <%= tag :meta, :name => "itemsPerPage", :content => @response.limit_value %>
@@ -1,5 +1,5 @@
1
- <% if paginate_params(@response).num_pages > 1 %>
2
- <%= paginate_rsolr_response @response, :theme => :blacklight_compact %>
1
+ <% if @response.total_pages > 1 %>
2
+ <%= paginate @response, :theme => :blacklight_compact %>
3
3
  <% else %>
4
4
  <%= render_pagination_info(@response) %>
5
5
  <% end %>
@@ -1,8 +1,8 @@
1
- <% if paginate_params(@response).num_pages > 1 %>
1
+ <% if @response.total_pages > 1 %>
2
2
  <div class="row record-padding">
3
3
  <div class="span9">
4
4
  <div class="pagination">
5
- <%= paginate_rsolr_response @response, :outer_window => 2, :theme => 'blacklight' %>
5
+ <%= paginate @response, :outer_window => 2, :theme => 'blacklight' %>
6
6
  </div>
7
7
  </div>
8
8
  </div>
@@ -10,7 +10,7 @@
10
10
  <% end %>
11
11
  <div class="input-append pull-left">
12
12
  <label for="q" class="hide-text"><%= t('blacklight.search.form.q') %></label>
13
- <%= text_field_tag :q, params[:q], :placeholder => t('blacklight.search.form.q'), :class => "search_q q", :id => "q"%>
13
+ <%= text_field_tag :q, params[:q], :placeholder => t('blacklight.search.form.q'), :class => "search_q q", :id => "q", :autofocus => should_autofocus_on_search_box? %>
14
14
  <button type="submit" class="btn btn-primary search-btn" id="search">
15
15
  <span class="submit-search-text"><%=t('blacklight.search.form.submit')%></span>
16
16
  <i class="icon-search icon-white"></i>
@@ -1,17 +1,3 @@
1
- <% carriers =
2
- {
3
- 'AT&T' => 'att',
4
- 'Verizon' => 'verizon',
5
- 'T Mobile' => 'tmobile',
6
- 'Sprint' => 'sprint',
7
- 'Nextel' => 'nextel',
8
- 'Virgin Mobile' => 'virgin',
9
- 'Alltel' => 'alltel',
10
- 'Cricket' => 'cricket'
11
- }
12
- %>
13
- <%- unless flash[:success] %>
14
-
15
1
  <%= form_tag url_for(:controller => "catalog", :action => "sms"), :id => 'sms_form', :class => "form-horizontal ajax_form", :method => :post do %>
16
2
  <div class="modal-body">
17
3
  <%= render :partial=>'/flash_msg' %>
@@ -28,7 +14,7 @@
28
14
  <%= t('blacklight.sms.form.carrier') %>
29
15
  </label>
30
16
  <div class="controls">
31
- <%= select_tag(:carrier, options_for_select(carriers.to_a.sort.unshift([t('blacklight.sms.form.carrier_prompt'),'']), params[:carrier])) %><br/>
17
+ <%= select_tag(:carrier, options_for_select(sms_mappings.to_a.sort.unshift([t('blacklight.sms.form.carrier_prompt'),'']), params[:carrier])) %><br/>
32
18
  </div>
33
19
 
34
20
  </div>
@@ -40,9 +26,3 @@
40
26
  <button type="submit" class="btn btn-primary"> <%= t('blacklight.sms.form.submit') %></button>
41
27
  </div>
42
28
  <% end %>
43
- <%- else %>
44
- <div class="modal-body">
45
- <%= render :partial=>'/flash_msg' %>
46
- <span class="ajax-close-modal"/>
47
- </div>
48
- <%- end %>
@@ -0,0 +1,5 @@
1
+ <%- if has_thumbnail?(document) && tn = render_thumbnail_tag(document, nil, :counter => document_counter + 1 + @response.params[:start].to_i) %>
2
+ <div class="document-thumbnail">
3
+ <%= tn %>
4
+ </div>
5
+ <%- end %>
@@ -0,0 +1,9 @@
1
+ <div class="modal-header">
2
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
3
+ <h1><%= t('blacklight.email.form.title') %></h1>
4
+ </div>
5
+
6
+ <div class="modal-body">
7
+ <%= render :partial=>'/flash_msg' %>
8
+ <span class="ajax-close-modal"></span>
9
+ </div>
@@ -1,5 +1,4 @@
1
1
  require 'base64'
2
- page_info = paginate_params(@response)
3
2
 
4
3
  xml.instruct!(:xml, :encoding => "UTF-8")
5
4
 
@@ -17,18 +16,18 @@ xml.feed("xmlns" => "http://www.w3.org/2005/Atom",
17
16
  # Navigational and context links
18
17
 
19
18
  xml.link( "rel" => "next",
20
- "href" => url_for(params.merge(:only_path => false, :page => (page_info.current_page + 1).to_s))
21
- ) if page_info.num_pages > page_info.current_page
19
+ "href" => url_for(params.merge(:only_path => false, :page => @response.next_page.to_s))
20
+ ) if @response.next_page
22
21
 
23
22
  xml.link( "rel" => "previous",
24
- "href" => url_for(params.merge(:only_path => false, :page => (page_info.current_page - 1).to_s))
25
- ) if page_info.current_page > 1
23
+ "href" => url_for(params.merge(:only_path => false, :page => @response.prev_page.to_s))
24
+ ) if @response.prev_page
26
25
 
27
26
  xml.link( "rel" => "first",
28
27
  "href" => url_for(params.merge(:only_path => false, :page => "1")))
29
28
 
30
29
  xml.link( "rel" => "last",
31
- "href" => url_for(params.merge(:only_path => false, :page => page_info.num_pages.to_s)))
30
+ "href" => url_for(params.merge(:only_path => false, :page => @response.total_pages.to_s)))
32
31
 
33
32
  # "search" doesn't seem to actually be legal, but is very common, and
34
33
  # used as an example in opensearch docs
@@ -39,8 +38,8 @@ xml.feed("xmlns" => "http://www.w3.org/2005/Atom",
39
38
  # opensearch response elements
40
39
  xml.opensearch :totalResults, @response.total.to_s
41
40
  xml.opensearch :startIndex, @response.start.to_s
42
- xml.opensearch :itemsPerPage, page_info.limit_value
43
- xml.opensearch :Query, :role => "request", :searchTerms => params[:q], :startPage => page_info.current_page
41
+ xml.opensearch :itemsPerPage, @response.limit_value
42
+ xml.opensearch :Query, :role => "request", :searchTerms => params[:q], :startPage => @response.current_page
44
43
 
45
44
 
46
45
  # updated is required, for now we'll just set it to now, sorry
@@ -20,11 +20,14 @@
20
20
 
21
21
  <%= render :partial => 'constraints' %>
22
22
 
23
- <%= render 'sort_and_per_page' %>
24
-
23
+ <%= render :partial => 'sort_and_per_page' %>
25
24
  <h2 class="hide-text"><%= t('blacklight.search.search_results') %></h2>
26
- <%= render_document_index %>
27
25
 
26
+ <%- if render_grouped_response? %>
27
+ <%= render_grouped_document_index %>
28
+ <%- else %>
29
+ <%= render_document_index %>
30
+ <%- end %>
28
31
 
29
32
  <%= render 'results_pagination' %>
30
33
 
@@ -6,5 +6,5 @@
6
6
  <%- if @document.respond_to?(:to_marc) -%>
7
7
  <%= render "marc_view" %>
8
8
  <%- else %>
9
- No MARC data found.
9
+ <%= t('blacklight.search.librarian_view.empty') %>
10
10
  <%- end -%>
@@ -0,0 +1,9 @@
1
+ <div class="modal-header">
2
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
3
+ <h1><%= t('blacklight.sms.form.title') %></h1>
4
+ </div>
5
+
6
+ <div class="modal-body">
7
+ <%= render :partial=>'/flash_msg' %>
8
+ <span class="ajax-close-modal"></span>
9
+ </div>
@@ -1,3 +1,5 @@
1
+ <div id="content" class="span9">
1
2
  <h1><%= t('blacklight.feedback.complete.title') %></h1>
2
3
 
3
4
  <%= link_to t('blacklight.back_to_search'), catalog_index_path %>
5
+ </div>