hyrax 2.0.0.beta1 → 2.0.0.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -2
  3. data/app/actors/hyrax/actors/file_set_actor.rb +12 -15
  4. data/app/assets/javascripts/hyrax.js +6 -5
  5. data/app/assets/javascripts/hyrax/{app.js → app.js.erb} +12 -8
  6. data/app/assets/javascripts/hyrax/channels/notifications.js +0 -0
  7. data/app/assets/javascripts/hyrax/notification.es6 +19 -31
  8. data/app/channels/hyrax/application_cable/channel.rb +6 -0
  9. data/app/channels/hyrax/application_cable/connection.rb +30 -0
  10. data/app/channels/hyrax/notifications_channel.rb +15 -0
  11. data/app/controllers/hyrax/depositors_controller.rb +2 -2
  12. data/app/controllers/hyrax/notifications_controller.rb +2 -0
  13. data/app/controllers/hyrax/users_controller.rb +0 -7
  14. data/app/helpers/hyrax/hyrax_helper_behavior.rb +27 -0
  15. data/app/jobs/import_url_job.rb +3 -1
  16. data/app/jobs/stream_notifications_job.rb +10 -0
  17. data/app/models/proxy_deposit_request.rb +2 -2
  18. data/app/models/user_mailbox.rb +19 -0
  19. data/app/services/hyrax/{message_user_service.rb → abstract_message_service.rb} +7 -4
  20. data/app/services/hyrax/batch_create_failure_service.rb +1 -1
  21. data/app/services/hyrax/batch_create_success_service.rb +1 -1
  22. data/app/services/hyrax/fixity_check_failure_service.rb +1 -1
  23. data/app/services/hyrax/import_url_failure_service.rb +1 -1
  24. data/app/services/hyrax/messenger_service.rb +8 -0
  25. data/app/services/hyrax/workflow/abstract_notification.rb +1 -1
  26. data/app/views/_user_util_links.html.erb +1 -1
  27. data/app/views/hyrax/homepage/index.html.erb +1 -1
  28. data/config/locales/hyrax.de.yml +5 -2
  29. data/config/locales/hyrax.en.yml +4 -1
  30. data/config/locales/hyrax.es.yml +4 -1
  31. data/config/locales/hyrax.fr.yml +5 -2
  32. data/config/locales/hyrax.it.yml +4 -1
  33. data/config/locales/hyrax.pt-BR.yml +5 -2
  34. data/config/locales/hyrax.zh.yml +5 -2
  35. data/config/routes.rb +4 -2
  36. data/db/migrate/20170905135339_add_preferred_locale_to_users.rb +5 -0
  37. data/lib/generators/hyrax/templates/config/authorities/licenses.yml +28 -10
  38. data/lib/generators/hyrax/templates/config/hyrax.rb +0 -3
  39. data/lib/hyrax/configuration.rb +0 -5
  40. data/lib/hyrax/engine.rb +5 -0
  41. data/lib/hyrax/version.rb +1 -1
  42. data/spec/actors/hyrax/actors/file_set_actor_spec.rb +74 -0
  43. data/spec/channels/hyrax/application_cable/channel_spec.rb +14 -0
  44. data/spec/channels/hyrax/application_cable/connection_spec.rb +31 -0
  45. data/spec/channels/hyrax/notifications_channel_spec.rb +45 -0
  46. data/spec/controllers/hyrax/notifications_controller_spec.rb +1 -0
  47. data/spec/helpers/blacklight_helper_spec.rb +4 -2
  48. data/spec/helpers/hyrax_helper_spec.rb +34 -4
  49. data/spec/jobs/import_url_job_spec.rb +1 -1
  50. data/spec/jobs/stream_notifications_job_spec.rb +30 -0
  51. data/spec/models/collection_spec.rb +13 -19
  52. data/spec/models/proxy_deposit_request_spec.rb +2 -1
  53. data/spec/models/user_mailbox_spec.rb +73 -0
  54. data/spec/services/hyrax/abstract_message_service_spec.rb +25 -0
  55. data/spec/services/hyrax/messenger_service_spec.rb +15 -0
  56. data/spec/test_app_templates/lib/generators/test_app_generator.rb +6 -0
  57. data/spec/views/_user_util_links.html.erb_spec.rb +3 -2
  58. data/spec/views/hyrax/homepage/index.html.erb_spec.rb +4 -0
  59. data/template.rb +1 -1
  60. metadata +23 -14
  61. data/app/assets/javascripts/hyrax/notifications.es6 +0 -63
  62. data/app/views/hyrax/users/_notify_number.html.erb +0 -8
  63. data/app/views/hyrax/users/notifications_number.json.jbuilder +0 -1
  64. data/app/views/kaminari/blacklight/_first_page.html.erb +0 -9
  65. data/app/views/kaminari/blacklight/_gap.html.erb +0 -8
  66. data/app/views/kaminari/blacklight/_last_page.html.erb +0 -9
  67. data/app/views/kaminari/blacklight/_next_page.html.erb +0 -9
  68. data/app/views/kaminari/blacklight/_page.html.erb +0 -10
  69. data/app/views/kaminari/blacklight/_paginator.html.erb +0 -19
  70. data/app/views/kaminari/blacklight/_prev_page.html.erb +0 -9
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  RSpec.describe '/_user_util_links.html.erb', type: :view do
2
4
  let(:join_date) { 5.days.ago }
3
5
  let(:can_create_file) { true }
@@ -6,7 +8,6 @@ RSpec.describe '/_user_util_links.html.erb', type: :view do
6
8
  allow(view).to receive(:user_signed_in?).and_return(true)
7
9
  allow(view).to receive(:current_user).and_return(stub_model(User, user_key: 'userX'))
8
10
  allow(view).to receive(:can?).with(:create, GenericWork).and_return(can_create_file)
9
- assign :notify_number, 8
10
11
  end
11
12
 
12
13
  it 'has dropdown list of links' do
@@ -19,7 +20,7 @@ RSpec.describe '/_user_util_links.html.erb', type: :view do
19
20
  it 'shows the number of outstanding messages' do
20
21
  render
21
22
  expect(rendered).to have_selector "a[aria-label='You have no unread notifications'][href='#{hyrax.notifications_path}']"
22
- expect(rendered).to have_selector 'a.notify-number span.label-danger.invisible', text: '0'
23
+ expect(rendered).to have_selector 'a.notify-number span.label-default.invisible', text: '0'
23
24
  end
24
25
 
25
26
  describe 'translations' do
@@ -25,6 +25,10 @@ RSpec.describe "hyrax/homepage/index.html.erb", type: :view do
25
25
  it "displays" do
26
26
  expect(rendered).to have_content t("hyrax.share_button")
27
27
  end
28
+
29
+ it 'links to the my works path' do
30
+ expect(rendered).to have_selector('a[href="/dashboard/my/works"]')
31
+ end
28
32
  end
29
33
  context "when the button displays for users with rights" do
30
34
  let(:display_share_button) { false }
data/template.rb CHANGED
@@ -1,4 +1,4 @@
1
- gem 'hyrax', '2.0.0.beta1'
1
+ gem 'hyrax', '2.0.0.beta2'
2
2
  run 'bundle install'
3
3
  generate 'hyrax:install', '-f'
4
4
  rails_command 'db:migrate'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyrax
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta1
4
+ version: 2.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2017-09-01 00:00:00.000000000 Z
17
+ date: 2017-09-14 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -1000,7 +1000,7 @@ files:
1000
1000
  - app/assets/javascripts/hyrax/admin/admin_set/visibility.es6
1001
1001
  - app/assets/javascripts/hyrax/admin/admin_set_controls.es6
1002
1002
  - app/assets/javascripts/hyrax/admin/graphs.es6
1003
- - app/assets/javascripts/hyrax/app.js
1003
+ - app/assets/javascripts/hyrax/app.js.erb
1004
1004
  - app/assets/javascripts/hyrax/authority_select.es6
1005
1005
  - app/assets/javascripts/hyrax/autocomplete.es6
1006
1006
  - app/assets/javascripts/hyrax/autocomplete/default.es6
@@ -1011,6 +1011,7 @@ files:
1011
1011
  - app/assets/javascripts/hyrax/batch_select.es6
1012
1012
  - app/assets/javascripts/hyrax/batch_select_all.js
1013
1013
  - app/assets/javascripts/hyrax/browse_everything.js
1014
+ - app/assets/javascripts/hyrax/channels/notifications.js
1014
1015
  - app/assets/javascripts/hyrax/collections.js
1015
1016
  - app/assets/javascripts/hyrax/collections/editor.es6
1016
1017
  - app/assets/javascripts/hyrax/config.js.erb
@@ -1031,7 +1032,6 @@ files:
1031
1032
  - app/assets/javascripts/hyrax/initialize.js
1032
1033
  - app/assets/javascripts/hyrax/monkey_patch_turbolinks.js.coffee
1033
1034
  - app/assets/javascripts/hyrax/notification.es6
1034
- - app/assets/javascripts/hyrax/notifications.es6
1035
1035
  - app/assets/javascripts/hyrax/per_page.es6
1036
1036
  - app/assets/javascripts/hyrax/permissions.js
1037
1037
  - app/assets/javascripts/hyrax/permissions/control.es6
@@ -1108,6 +1108,9 @@ files:
1108
1108
  - app/authorities/qa/authorities/find_works.rb
1109
1109
  - app/builders/hyrax/bootstrap_breadcrumbs_builder.rb
1110
1110
  - app/builders/hyrax/form_builder.rb
1111
+ - app/channels/hyrax/application_cable/channel.rb
1112
+ - app/channels/hyrax/application_cable/connection.rb
1113
+ - app/channels/hyrax/notifications_channel.rb
1111
1114
  - app/connections/hyrax/clean_connection.rb
1112
1115
  - app/controlled_vocabularies/hyrax/controlled_vocabularies/location.rb
1113
1116
  - app/controllers/concerns/hyrax/admin/stats_behavior.rb
@@ -1268,6 +1271,7 @@ files:
1268
1271
  - app/jobs/ingest_local_file_job.rb
1269
1272
  - app/jobs/inherit_permissions_job.rb
1270
1273
  - app/jobs/resolrize_job.rb
1274
+ - app/jobs/stream_notifications_job.rb
1271
1275
  - app/jobs/user_edit_profile_event_job.rb
1272
1276
  - app/jobs/visibility_copy_job.rb
1273
1277
  - app/mailers/hyrax/contact_mailer.rb
@@ -1442,6 +1446,7 @@ files:
1442
1446
  - app/search_builders/hyrax/work_relation.rb
1443
1447
  - app/search_builders/hyrax/work_search_builder.rb
1444
1448
  - app/search_builders/hyrax/works_search_builder.rb
1449
+ - app/services/hyrax/abstract_message_service.rb
1445
1450
  - app/services/hyrax/admin_set_create_service.rb
1446
1451
  - app/services/hyrax/admin_set_service.rb
1447
1452
  - app/services/hyrax/analytics.rb
@@ -1474,7 +1479,7 @@ files:
1474
1479
  - app/services/hyrax/local_file_service.rb
1475
1480
  - app/services/hyrax/lock_manager.rb
1476
1481
  - app/services/hyrax/lockable.rb
1477
- - app/services/hyrax/message_user_service.rb
1482
+ - app/services/hyrax/messenger_service.rb
1478
1483
  - app/services/hyrax/microdata.rb
1479
1484
  - app/services/hyrax/noid.rb
1480
1485
  - app/services/hyrax/parent_service.rb
@@ -1832,7 +1837,6 @@ files:
1832
1837
  - app/views/hyrax/users/_activity_log.html.erb
1833
1838
  - app/views/hyrax/users/_contributions.html.erb
1834
1839
  - app/views/hyrax/users/_left_sidebar.html.erb
1835
- - app/views/hyrax/users/_notify_number.html.erb
1836
1840
  - app/views/hyrax/users/_profile_tabs.html.erb
1837
1841
  - app/views/hyrax/users/_proxies.html.erb
1838
1842
  - app/views/hyrax/users/_search_form.html.erb
@@ -1843,15 +1847,7 @@ files:
1843
1847
  - app/views/hyrax/users/_vitals.html.erb
1844
1848
  - app/views/hyrax/users/index.html.erb
1845
1849
  - app/views/hyrax/users/index.json.jbuilder
1846
- - app/views/hyrax/users/notifications_number.json.jbuilder
1847
1850
  - app/views/hyrax/users/show.html.erb
1848
- - app/views/kaminari/blacklight/_first_page.html.erb
1849
- - app/views/kaminari/blacklight/_gap.html.erb
1850
- - app/views/kaminari/blacklight/_last_page.html.erb
1851
- - app/views/kaminari/blacklight/_next_page.html.erb
1852
- - app/views/kaminari/blacklight/_page.html.erb
1853
- - app/views/kaminari/blacklight/_paginator.html.erb
1854
- - app/views/kaminari/blacklight/_prev_page.html.erb
1855
1851
  - app/views/kaminari/blacklight_compact/_paginator.html.erb
1856
1852
  - app/views/layouts/_head_tag_content.html.erb
1857
1853
  - app/views/layouts/dashboard.html.erb
@@ -1948,6 +1944,7 @@ files:
1948
1944
  - db/migrate/20170308175556_add_allows_access_grant_to_workflow.rb
1949
1945
  - db/migrate/20170504192714_change_checksum_audit_log.rb
1950
1946
  - db/migrate/20170621201939_create_job_io_wrappers.rb
1947
+ - db/migrate/20170905135339_add_preferred_locale_to_users.rb
1951
1948
  - hyrax.gemspec
1952
1949
  - lib/generators/hyrax/arkivo_api_generator.rb
1953
1950
  - lib/generators/hyrax/assets_generator.rb
@@ -2101,6 +2098,9 @@ files:
2101
2098
  - spec/actors/hyrax/actors/optimistic_lock_validator_spec.rb
2102
2099
  - spec/actors/hyrax/actors/transactional_request_spec.rb
2103
2100
  - spec/authorities/qa/authorities/find_works_spec.rb
2101
+ - spec/channels/hyrax/application_cable/channel_spec.rb
2102
+ - spec/channels/hyrax/application_cable/connection_spec.rb
2103
+ - spec/channels/hyrax/notifications_channel_spec.rb
2104
2104
  - spec/config/hyrax_events_spec.rb
2105
2105
  - spec/controllers/catalog_controller_spec.rb
2106
2106
  - spec/controllers/hyrax/accepts_batches_controller_spec.rb
@@ -2322,6 +2322,7 @@ files:
2322
2322
  - spec/jobs/import_url_job_spec.rb
2323
2323
  - spec/jobs/ingest_local_file_job_spec.rb
2324
2324
  - spec/jobs/inherit_permissions_job_spec.rb
2325
+ - spec/jobs/stream_notifications_job_spec.rb
2325
2326
  - spec/jobs/user_edit_profile_event_job_spec.rb
2326
2327
  - spec/jobs/visibility_copy_job_spec.rb
2327
2328
  - spec/lib/hyrax/analytics_spec.rb
@@ -2459,6 +2460,7 @@ files:
2459
2460
  - spec/search_builders/hyrax/work_relation_spec.rb
2460
2461
  - spec/search_builders/hyrax/work_search_builder_spec.rb
2461
2462
  - spec/search_builders/hyrax/works_search_builder_spec.rb
2463
+ - spec/services/hyrax/abstract_message_service_spec.rb
2462
2464
  - spec/services/hyrax/admin_set_create_service_spec.rb
2463
2465
  - spec/services/hyrax/admin_set_service_spec.rb
2464
2466
  - spec/services/hyrax/batch_create_failure_service_spec.rb
@@ -2481,6 +2483,7 @@ files:
2481
2483
  - spec/services/hyrax/lease_service_spec.rb
2482
2484
  - spec/services/hyrax/license_service_spec.rb
2483
2485
  - spec/services/hyrax/lock_manager_spec.rb
2486
+ - spec/services/hyrax/messenger_service_spec.rb
2484
2487
  - spec/services/hyrax/microdata_spec.rb
2485
2488
  - spec/services/hyrax/noid_spec.rb
2486
2489
  - spec/services/hyrax/parent_service_spec.rb
@@ -2729,6 +2732,9 @@ test_files:
2729
2732
  - spec/actors/hyrax/actors/optimistic_lock_validator_spec.rb
2730
2733
  - spec/actors/hyrax/actors/transactional_request_spec.rb
2731
2734
  - spec/authorities/qa/authorities/find_works_spec.rb
2735
+ - spec/channels/hyrax/application_cable/channel_spec.rb
2736
+ - spec/channels/hyrax/application_cable/connection_spec.rb
2737
+ - spec/channels/hyrax/notifications_channel_spec.rb
2732
2738
  - spec/config/hyrax_events_spec.rb
2733
2739
  - spec/controllers/catalog_controller_spec.rb
2734
2740
  - spec/controllers/hyrax/accepts_batches_controller_spec.rb
@@ -2950,6 +2956,7 @@ test_files:
2950
2956
  - spec/jobs/import_url_job_spec.rb
2951
2957
  - spec/jobs/ingest_local_file_job_spec.rb
2952
2958
  - spec/jobs/inherit_permissions_job_spec.rb
2959
+ - spec/jobs/stream_notifications_job_spec.rb
2953
2960
  - spec/jobs/user_edit_profile_event_job_spec.rb
2954
2961
  - spec/jobs/visibility_copy_job_spec.rb
2955
2962
  - spec/lib/hyrax/analytics_spec.rb
@@ -3087,6 +3094,7 @@ test_files:
3087
3094
  - spec/search_builders/hyrax/work_relation_spec.rb
3088
3095
  - spec/search_builders/hyrax/work_search_builder_spec.rb
3089
3096
  - spec/search_builders/hyrax/works_search_builder_spec.rb
3097
+ - spec/services/hyrax/abstract_message_service_spec.rb
3090
3098
  - spec/services/hyrax/admin_set_create_service_spec.rb
3091
3099
  - spec/services/hyrax/admin_set_service_spec.rb
3092
3100
  - spec/services/hyrax/batch_create_failure_service_spec.rb
@@ -3109,6 +3117,7 @@ test_files:
3109
3117
  - spec/services/hyrax/lease_service_spec.rb
3110
3118
  - spec/services/hyrax/license_service_spec.rb
3111
3119
  - spec/services/hyrax/lock_manager_spec.rb
3120
+ - spec/services/hyrax/messenger_service_spec.rb
3112
3121
  - spec/services/hyrax/microdata_spec.rb
3113
3122
  - spec/services/hyrax/noid_spec.rb
3114
3123
  - spec/services/hyrax/parent_service_spec.rb
@@ -1,63 +0,0 @@
1
- import Notification from './notification';
2
-
3
- export default class {
4
- // If URL is not provided, do nothing.
5
- // If there is a query parameter named "notification_seconds", it will
6
- // use it's value as the interval in seconds to poll.
7
- // Otherwise it will use the default interval passed as a parmeter
8
- constructor(url, default_interval) {
9
- if (!url)
10
- return;
11
- // First call happens immediately
12
- this.fetchUpdates(url)
13
- let interval = this.getIntervalSeconds(default_interval) * 1000
14
- this.poller(interval, url)
15
- this.notification_widget = new Notification($('.notify-number'))
16
- }
17
-
18
- poller(interval, url) {
19
- setInterval(() => { this.fetchUpdates(url) }, interval);
20
- }
21
-
22
- fetchUpdates(url) {
23
- $.getJSON( url, (data) => this.updatePage(data))
24
- }
25
-
26
- updatePage(data) {
27
- this.notification_widget.setCount(data.notify_number)
28
- }
29
-
30
- getIntervalSeconds(default_interval) {
31
- var seconds = parseInt(this.queryStringParam("notification_seconds"), 10);
32
- return seconds || default_interval;
33
- }
34
-
35
- // During development allow the frequency of the notifications check to
36
- // be overwritten via query string parameter notification_seconds to
37
- // prevent cluttering the terminal with (mostly) meaninless messages.
38
- queryStringParam(key) {
39
- var queryString, pairs, i;
40
- var value = null;
41
- try {
42
- queryString = document.location.search.substring(1);
43
- if (queryString === "") {
44
- return value; // nothing to do
45
- }
46
- pairs = queryString.split("&").map(function(el) {
47
- var pair = el.split("=");
48
- return {key: pair[0], value: pair[1]};
49
- });
50
- for(i = 0; i < pairs.length; i++) {
51
- if (pairs[i].key === key) {
52
- value = pairs[i].value;
53
- break;
54
- }
55
- }
56
- }
57
- catch(e) {
58
- // assume it's a malformed query string.
59
- value = null;
60
- }
61
- return value;
62
- }
63
- }
@@ -1,8 +0,0 @@
1
- <%= link_to hyrax.notifications_path,
2
- 'aria-label' => t("hyrax.toolbar.notifications"),
3
- class: "notify-number",
4
- data: { 'update-poll-url' => hyrax.user_notify_path,
5
- 'update-poll-interval' => Hyrax.config.notifications_update_poll_interval } do %>
6
- <span class="fa fa-bell"></span>
7
- <span class="count invisible label label-danger">0</span>
8
- <% end %>
@@ -1 +0,0 @@
1
- json.notify_number @notify_number
@@ -1,9 +0,0 @@
1
- <%# Link to the "First" page
2
- - available local variables
3
- url: url to the first page
4
- current_page: a page object for the currently displayed page
5
- num_pages: total number of pages
6
- per_page: number of items to fetch per page
7
- remote: data-remote
8
- -%>
9
- <%= link_to raw(t 'views.pagination.first'), url, remote: remote, class: current_page.first? ? 'disabled' : nil %>
@@ -1,8 +0,0 @@
1
- <%# Non-link tag that stands for skipped pages...
2
- - available local variables
3
- current_page: a page object for the currently displayed page
4
- num_pages: total number of pages
5
- per_page: number of items to fetch per page
6
- remote: data-remote
7
- -%>
8
- <%= raw(t 'views.pagination.truncate') %>
@@ -1,9 +0,0 @@
1
- <%# Link to the "Last" page
2
- - available local variables
3
- url: url to the last page
4
- current_page: a page object for the currently displayed page
5
- num_pages: total number of pages
6
- per_page: number of items to fetch per page
7
- remote: data-remote
8
- -%>
9
- <%= link_to raw(t 'views.pagination.last'), url, {remote: remote, class: current_page.last? ? 'disabled' : nil} %>
@@ -1,9 +0,0 @@
1
- <%# Link to the "Next" page
2
- - available local variables
3
- url: url to the next page
4
- current_page: a page object for the currently displayed page
5
- num_pages: total number of pages
6
- per_page: number of items to fetch per page
7
- remote: data-remote
8
- -%>
9
- <%= link_to raw(t 'views.pagination.next'), url, rel: 'next', remote: remote, class: current_page.last? ? 'disabled' : nil %>
@@ -1,10 +0,0 @@
1
- <%# Link showing page number
2
- - available local variables
3
- page: a page object for "this" page
4
- url: url to this page
5
- current_page: a page object for the currently displayed page
6
- num_pages: total number of pages
7
- per_page: number of items to fetch per page
8
- remote: data-remote
9
- -%>
10
- <%= link_to number_with_delimiter(page.to_s), url, opts = {remote: remote, rel: page.next? ? 'next' : page.prev? ? 'prev' : nil, class: page.current? ? 'disabled' : nil} %>
@@ -1,19 +0,0 @@
1
- <%# The container tag
2
- - available local variables
3
- current_page: a page object for the currently displayed page
4
- num_pages: total number of pages
5
- per_page: number of items to fetch per page
6
- remote: data-remote
7
- paginator: the paginator that renders the pagination tags inside
8
- -%>
9
- <%= paginator.render do -%>
10
- <%= prev_page_tag %>
11
- <% each_relevant_page do |page| -%>
12
- <% if page.left_outer? || page.right_outer? || page.inside_window? -%>
13
- <%= page_tag page %>
14
- <% elsif !page.was_truncated? -%>
15
- <%= gap_tag %>
16
- <% end -%>
17
- <% end -%>
18
- <%= next_page_tag %>
19
- <% end -%>
@@ -1,9 +0,0 @@
1
- <%# Link to the "Previous" page
2
- - available local variables
3
- url: url to the previous page
4
- current_page: a page object for the currently displayed page
5
- num_pages: total number of pages
6
- per_page: number of items to fetch per page
7
- remote: data-remote
8
- -%>
9
- <%= link_to raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote, class: current_page.first? ? 'disabled' : nil %>