activity_notification 1.5.1 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +51 -3
  4. data/app/controllers/activity_notification/notifications_controller.rb +1 -1
  5. data/app/controllers/activity_notification/subscriptions_controller.rb +2 -1
  6. data/app/views/activity_notification/notifications/default/_default.html.erb +10 -10
  7. data/app/views/activity_notification/notifications/default/_default_without_grouping.html.erb +10 -10
  8. data/app/views/activity_notification/notifications/default/_index.html.erb +3 -3
  9. data/app/views/activity_notification/notifications/default/index.html.erb +7 -7
  10. data/app/views/activity_notification/notifications/default/open.js.erb +2 -2
  11. data/app/views/activity_notification/notifications/default/open_all.js.erb +2 -2
  12. data/app/views/activity_notification/notifications/default/show.html.erb +2 -2
  13. data/app/views/activity_notification/optional_targets/default/base/_default.text.erb +1 -1
  14. data/app/views/activity_notification/optional_targets/default/slack/_default.text.erb +1 -1
  15. data/app/views/activity_notification/subscriptions/default/_notification_keys.html.erb +2 -2
  16. data/app/views/activity_notification/subscriptions/default/_subscription.html.erb +5 -5
  17. data/app/views/activity_notification/subscriptions/default/show.html.erb +1 -1
  18. data/app/views/activity_notification/subscriptions/default/subscribe.js.erb +1 -1
  19. data/app/views/activity_notification/subscriptions/default/subscribe_to_email.js.erb +1 -1
  20. data/app/views/activity_notification/subscriptions/default/subscribe_to_optional_target.js.erb +1 -1
  21. data/app/views/activity_notification/subscriptions/default/unsubscribe.js.erb +1 -1
  22. data/app/views/activity_notification/subscriptions/default/unsubscribe_to_email.js.erb +1 -1
  23. data/app/views/activity_notification/subscriptions/default/unsubscribe_to_optional_target.js.erb +1 -1
  24. data/lib/activity_notification/apis/subscription_api.rb +2 -2
  25. data/lib/activity_notification/controllers/devise_authentication_controller.rb +16 -0
  26. data/lib/activity_notification/helpers/view_helpers.rb +113 -27
  27. data/lib/activity_notification/models/concerns/subscriber.rb +2 -1
  28. data/lib/activity_notification/models/concerns/target.rb +11 -0
  29. data/lib/activity_notification/rails/routes.rb +169 -40
  30. data/lib/activity_notification/roles/acts_as_target.rb +45 -8
  31. data/lib/activity_notification/version.rb +1 -1
  32. data/spec/controllers/notifications_with_devise_controller_spec.rb +15 -0
  33. data/spec/controllers/subscriptions_controller_shared_examples.rb +4 -3
  34. data/spec/controllers/subscriptions_with_devise_controller_spec.rb +15 -0
  35. data/spec/helpers/view_helpers_spec.rb +1 -1
  36. data/spec/rails_app/app/controllers/articles_controller.rb +2 -0
  37. data/spec/rails_app/app/models/admin.rb +2 -0
  38. data/spec/rails_app/app/views/activity_notification/optional_targets/admins/amazon_sns/comment/_default.text.erb +1 -1
  39. data/spec/rails_app/app/views/articles/index.html.erb +36 -32
  40. data/spec/rails_app/app/views/layouts/_header.html.erb +9 -1
  41. data/spec/rails_app/config/routes.rb +5 -0
  42. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6396ab94a172005c0bd940742471a388e746419e
4
- data.tar.gz: 66f4b6b5162212ef397ed3fb26dfadbbe9709d97
3
+ metadata.gz: 24f6a30a0e5feec1ffcb217bf78fa3283f4e369b
4
+ data.tar.gz: efc4c998546752ccc9bca15a2d6d35e93d9e13eb
5
5
  SHA512:
6
- metadata.gz: b3c26fad67e4e3647ac81f32e46181cfe1f420d8dd820b21f2f8f2a3039f87f200b5781a7eb203ec2a6f41d9d7a62c73aea249ee760a2de94341c987c3e16d92
7
- data.tar.gz: f7d936e5c59608b736d068ee230c7919c6369ffd98c5c543343029e7fbfed58c611c2d17910ec74be2b398729a596217a02fda5c930a27b87843c1f55f81a892
6
+ metadata.gz: c30d75ab0300d5895d341fe7ca2f89b039a0cc5db82c9708b335409557aa49da457e81a74a29ad4c01b0d28f93a4abf5d7652effbaad4e0e58a337187361d743
7
+ data.tar.gz: 81698f2ec06b1cc880555a1103e24348f00ab2209621e47c3b2336dc0fb747ee96f765decca07b5e6ac230455927616d393c748efa90f31f294fa3dc8d0f618a
@@ -1,3 +1,14 @@
1
+ ## 1.6.0 / 2018-11-11
2
+ [Full Changelog](http://github.com/simukappu/activity_notification/compare/v1.5.1...v1.6.0)
3
+
4
+ Enhancements:
5
+
6
+ * Add simple default routes with devise integration - [#64](https://github.com/simukappu/activity_notification/issues/64)
7
+
8
+ Bug Fixes:
9
+
10
+ * Update *Subscription.optional_targets* into HashWithIndifferentAccess to fix subscriptions with mongoid
11
+
1
12
  ## 1.5.1 / 2018-08-26
2
13
  [Full Changelog](http://github.com/simukappu/activity_notification/compare/v1.5.0...v1.5.1)
3
14
 
data/README.md CHANGED
@@ -57,6 +57,7 @@
57
57
  - [Advanced notifiable path](#advanced-notifiable-path)
58
58
  - [Configuring views](#configuring-views)
59
59
  - [Configuring routes](#configuring-routes)
60
+ - [Routes with scope](#routes-with-scope)
60
61
  - [Creating notifications](#creating-notifications)
61
62
  - [Notification API](#notification-api)
62
63
  - [Automatic tracked notifications](#automatic-tracked-notifications)
@@ -83,6 +84,9 @@
83
84
  - [Managing subscriptions](#managing-subscriptions)
84
85
  - [Customizing subscriptions](#customizing-subscriptions)
85
86
  - [Integration with Devise](#integration-with-devise)
87
+ - [Configuring integration with Devise](#configuring-integration-with-devise)
88
+ - [Using different model as target](#using-different-model-as-target)
89
+ - [Configuring simple default routes](#configuring-simple-default-routes)
86
90
  - [Optional notification targets](#optional-notification-targets)
87
91
  - [Configuring optional targets](#configuring-optional-targets)
88
92
  - [Customizing message format](#customizing-message-format)
@@ -318,7 +322,22 @@ Rails.application.routes.draw do
318
322
  end
319
323
  ```
320
324
 
321
- Then, you can access several pages like *users/1/notifications* and manage open/unopen of notifications using **notifications_controller**.
325
+ Then, you can access several pages like */users/1/notifications* and manage open/unopen of notifications using **notifications_controller**.
326
+ If you use Devise integration and you want to configure simple default routes for authenticated users, see [Configuring simple default routes](#configuring-simple-default-routes).
327
+
328
+ #### Routes with scope
329
+
330
+ You can also configure *activity_notification* routes with scope like this:
331
+
332
+ ```ruby
333
+ Rails.application.routes.draw do
334
+ scope :myscope, as: :myscope do
335
+ notify_to :users, routing_scope: :myscope
336
+ end
337
+ end
338
+ ```
339
+
340
+ Then, pages are shown as */myscope/users/1/notifications*.
322
341
 
323
342
  ### Creating notifications
324
343
 
@@ -914,7 +933,9 @@ If you would like to customize subscription controllers or views, you can use ge
914
933
 
915
934
  *activity_notification* supports to integrate with devise authentication.
916
935
 
917
- First, add **:with_devise** option in notification routing to *config/routes.rb* for the target:
936
+ #### Configuring integration with Devise
937
+
938
+ Add **:with_devise** option in notification routing to *config/routes.rb* for the target:
918
939
 
919
940
  ```ruby
920
941
  Rails.application.routes.draw do
@@ -928,6 +949,8 @@ Then *activity_notification* will use **notifications_with_devise_controller** a
928
949
 
929
950
  *Hint*: HTTP 403 Forbidden will be returned for unauthorized notifications.
930
951
 
952
+ #### Using different model as target
953
+
931
954
  You can also use different model from Devise resource as a target. When you will add this to *config/routes.rb*:
932
955
 
933
956
  ```ruby
@@ -948,7 +971,32 @@ end
948
971
  ```
949
972
 
950
973
  *activity_notification* will authenticate *:admins* notifications with devise authentication for *:users*.
951
- In this example *activity_notification* will confirm the *user* who *admin* belongs to with authenticated user by devise.
974
+ In this example, *activity_notification* will confirm *admin* belonging to authenticated *user* by Devise.
975
+
976
+ #### Configuring simple default routes
977
+
978
+ You can configure simple default routes for authenticated users, like */notifications* instead of */users/1/notifications*. Use *:devise_default_routes* option like this:
979
+
980
+ ```ruby
981
+ Rails.application.routes.draw do
982
+ devise_for :users
983
+ notify_to :users, with_devise: :users, devise_default_routes: true
984
+ end
985
+ ```
986
+
987
+ If you use multiple notification targets with Devise, you can also use this option with scope like this:
988
+
989
+ ```ruby
990
+ Rails.application.routes.draw do
991
+ devise_for :users
992
+ # Integrated with devise for different model, and use with scope
993
+ scope :admins, as: :admins do
994
+ notify_to :admins, with_devise: :users, devise_default_routes: true, routing_scope: :admins
995
+ end
996
+ end
997
+ ```
998
+
999
+ Then, you can access */admins/notifications* instead of */admins/1/notifications*.
952
1000
 
953
1001
 
954
1002
  ### Optional notification targets
@@ -135,7 +135,7 @@ module ActivityNotification
135
135
  params[:reverse].to_s.to_boolean(false) : nil
136
136
  with_group_members = params[:with_group_members].present? || params[:without_grouping].present? ?
137
137
  params[:with_group_members].to_s.to_boolean(false) || params[:without_grouping].to_s.to_boolean(false) : nil
138
- @index_options = params.permit(:filter, :filtered_by_type, :filtered_by_group_type, :filtered_by_group_id, :filtered_by_key)
138
+ @index_options = params.permit(:filter, :filtered_by_type, :filtered_by_group_type, :filtered_by_group_id, :filtered_by_key, :routing_scope, :devise_default_routes)
139
139
  .to_h.symbolize_keys
140
140
  .merge(limit: limit, reverse: reverse, with_group_members: with_group_members)
141
141
  end
@@ -52,6 +52,7 @@ module ActivityNotification
52
52
  # @param [Hash] params Request parameters
53
53
  # @return [Responce] HTML view as default
54
54
  def show
55
+ set_index_options
55
56
  end
56
57
 
57
58
  # Deletes a subscription.
@@ -190,7 +191,7 @@ module ActivityNotification
190
191
  limit = params[:limit].to_i > 0 ? params[:limit].to_i : nil
191
192
  reverse = params[:reverse].present? ?
192
193
  params[:reverse].to_s.to_boolean(false) : nil
193
- @index_options = params.permit(:filter, :filtered_by_key)
194
+ @index_options = params.permit(:filter, :filtered_by_key, :routing_scope, :devise_default_routes)
194
195
  .to_h.symbolize_keys.merge(limit: limit, reverse: reverse)
195
196
  end
196
197
 
@@ -34,31 +34,31 @@
34
34
 
35
35
  <div class='<%= "notification_#{notification.id}" %>'>
36
36
  <% if notification.unopened? %>
37
- <%= link_to open_notification_path_for(notification, reload: false), method: :post, remote: true, class: "unopened_wrapper" do %>
37
+ <%= link_to open_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(reload: false)), method: :post, remote: true, class: "unopened_wrapper" do %>
38
38
  <div class="unopned_circle"></div>
39
39
  <div class="unopned_description_wrapper">
40
40
  <p class="unopned_description">Open</p>
41
41
  </div>
42
42
  <% end %>
43
- <%= link_to open_notification_path_for(notification, move: true), method: :post do %>
43
+ <%= link_to open_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(move: true)), method: :post do %>
44
44
  <%= yield :notification_content %>
45
45
  <% end %>
46
46
  <div class="unopened_wrapper"></div>
47
47
  <% else %>
48
- <%= link_to move_notification_path_for(notification) do %>
48
+ <%= link_to move_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes)) do %>
49
49
  <%= yield :notification_content %>
50
50
  <% end %>
51
51
  <% end %>
52
52
 
53
- <%#= link_to "Move", move_notification_path_for(notification) %>
53
+ <%#= link_to "Move", move_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes)) %>
54
54
  <%# if notification.unopened? %>
55
- <%#= link_to "Open and move (GET)", move_notification_path_for(notification, open: true) %>
56
- <%#= link_to "Open and move (POST)", open_notification_path_for(notification, move: true), method: :post %>
57
- <%#= link_to "Open", open_notification_path_for(notification, index_options: @index_options), method: :post %>
58
- <%#= link_to "Open (Ajax)", open_notification_path_for(notification, reload: false), method: :post, remote: true %>
55
+ <%#= link_to "Open and move (GET)", move_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(open: true)) %>
56
+ <%#= link_to "Open and move (POST)", open_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(move: true)), method: :post %>
57
+ <%#= link_to "Open", open_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(index_options: @index_options))), method: :post %>
58
+ <%#= link_to "Open (Ajax)", open_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(reload: false)), method: :post, remote: true %>
59
59
  <%# end %>
60
- <%#= link_to "Destroy", notification_path_for(notification, index_options: @index_options), method: :delete %>
61
- <%#= link_to "Destroy (Ajax)", notification_path_for(notification, reload: false), method: :delete, remote: true %>
60
+ <%#= link_to "Destroy", notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(index_options: @index_options)), method: :delete %>
61
+ <%#= link_to "Destroy (Ajax)", notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(reload: false)), method: :delete, remote: true %>
62
62
 
63
63
  </div>
64
64
 
@@ -23,31 +23,31 @@
23
23
 
24
24
  <div class='<%= "notification_#{notification.id}" %>'>
25
25
  <% if notification.unopened? %>
26
- <%= link_to open_notification_path_for(notification, reload: false, without_grouping: parameters[:with_group_members]), method: :post, remote: true, class: "unopened_wrapper" do %>
26
+ <%= link_to open_notification_path_for(notification, parameters.slice(:with_group_members, :routing_scope, :devise_default_routes).merge(reload: false), method: :post, remote: true, class: "unopened_wrapper" do %>
27
27
  <div class="unopned_circle"></div>
28
28
  <div class="unopned_description_wrapper">
29
29
  <p class="unopned_description">Open</p>
30
30
  </div>
31
31
  <% end %>
32
- <%= link_to open_notification_path_for(notification, move: true), method: :post do %>
32
+ <%= link_to open_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(move: true)), method: :post do %>
33
33
  <%= yield :notification_content %>
34
34
  <% end %>
35
35
  <div class="unopened_wrapper"></div>
36
36
  <% else %>
37
- <%= link_to move_notification_path_for(notification) do %>
37
+ <%= link_to move_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes)) do %>
38
38
  <%= yield :notification_content %>
39
39
  <% end %>
40
40
  <% end %>
41
41
 
42
- <%#= link_to "Move", move_notification_path_for(notification) %>
42
+ <%#= link_to "Move", move_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes)) %>
43
43
  <%# if notification.unopened? %>
44
- <%#= link_to "Open and move (GET)", move_notification_path_for(notification, open: true) %>
45
- <%#= link_to "Open and move (POST)", open_notification_path_for(notification, move: true), method: :post %>
46
- <%#= link_to "Open", open_notification_path_for(notification, index_options: @index_options), method: :post %>
47
- <%#= link_to "Open (Ajax)", open_notification_path_for(notification, reload: false, with_group_members: parameters[:with_group_members]), method: :post, remote: true %>
44
+ <%#= link_to "Open and move (GET)", move_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(open: true)) %>
45
+ <%#= link_to "Open and move (POST)", open_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(move: true)), method: :post %>
46
+ <%#= link_to "Open", open_notification_path_for(notification, parameters.slice(:routing_scope, :devise_default_routes).merge(index_options: @index_options)), method: :post %>
47
+ <%#= link_to "Open (Ajax)", open_notification_path_for(notification, parameters.slice(with_group_members:, :routing_scope, :devise_default_routes).merge(reload: false)), method: :post, remote: true %>
48
48
  <%# end %>
49
- <%#= link_to "Destroy", notification_path_for(notification, index_options: @index_options), method: :delete %>
50
- <%#= link_to "Destroy (Ajax)", notification_path_for(notification, reload: false, with_group_members: parameters[:with_group_members]), method: :delete, remote: true %>
49
+ <%#= link_to "Destroy", notification_path_for(notification, index_options: parameters.slice(:routing_scope, :devise_default_routes).merge(index_options: @index_options)), method: :delete %>
50
+ <%#= link_to "Destroy (Ajax)", notification_path_for(notification, parameters.slice(with_group_members:, :routing_scope, :devise_default_routes).merge(reload: false)), method: :delete, remote: true %>
51
51
 
52
52
  </div>
53
53
 
@@ -12,16 +12,16 @@
12
12
  Notifications
13
13
  </p>
14
14
  <p class="notification_header_menu">
15
- <%= link_to "Open all", open_all_notifications_path_for(@target, parameters), method: :post, remote: true %>
15
+ <%= link_to "Open all", open_all_notifications_path_for(@target, parameters.slice(:routing_scope, :devise_default_routes)), method: :post, remote: true %>
16
16
  <% if @target.class.subscription_enabled? %>
17
- <%= link_to "Subscriptions", subscriptions_path_for(@target) %>
17
+ <%= link_to "Subscriptions", subscriptions_path_for(@target, parameters.slice(:routing_scope, :devise_default_routes)) %>
18
18
  <% end %>
19
19
  </p>
20
20
  </div>
21
21
  <div class="notifications">
22
22
  <%= yield :notification_index %>
23
23
  </div>
24
- <%= link_to notifications_path_for(@target) do %>
24
+ <%= link_to notifications_path_for(@target, parameters.slice(:routing_scope, :devise_default_routes)) do %>
25
25
  <div class="notification_link_wrapper">
26
26
  <p class="notification_link">
27
27
  See notifications
@@ -1,20 +1,20 @@
1
1
  <div class="notification_wrapper">
2
2
  <div class="notification_header">
3
- <h1>Notifications to <%= @target.printable_target_name %> <%= link_to open_all_notifications_path_for(@target, @index_options), method: :post, remote: true do %><span class="notification_count"><span class="<%= 'unopened' if @target.has_unopened_notifications?(@index_options) %>"><%= @target.unopened_notification_count(@index_options) %></span></span><% end %></h1>
3
+ <h1>Notifications to <%= @target.printable_target_name %> <%= link_to open_all_notifications_path_for(@target, @index_options.slice(:routing_scope, :devise_default_routes)), method: :post, remote: true do %><span class="notification_count"><span class="<%= 'unopened' if @target.has_unopened_notifications?(@index_options) %>"><%= @target.unopened_notification_count(@index_options) %></span></span><% end %></h1>
4
4
  </div>
5
5
  <div class="notifications">
6
6
  <% if @index_options[:with_group_members] %>
7
- <%= render_notification @notifications, fallback: :default_without_grouping, with_group_members: true %>
7
+ <%= render_notification @notifications, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default_without_grouping, with_group_members: true) %>
8
8
  <% else %>
9
- <%= render_notification @notifications, fallback: :default %>
10
- <%#= render_notification @notifications, fallback: :text %>
9
+ <%= render_notification @notifications, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default) %>
10
+ <%#= render_notification @notifications, @index_options.merge(fallback: :text) %>
11
11
  <% end %>
12
12
  </div>
13
13
  </div>
14
14
 
15
- <%#= render_notifications_of @target, fallback: :default, index_content: :with_attributes %>
16
- <%#= render_notifications_of @target, fallback: :default, index_content: :unopened_with_attributes, reverse: true %>
17
- <%#= render_notifications_of @target, fallback: :default_without_grouping, index_content: :with_attributes, with_group_members: true %>
15
+ <%#= render_notifications_of @target, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default, index_content: :with_attributes) %>
16
+ <%#= render_notifications_of @target, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default, index_content: :unopened_with_attributes, reverse: true) %>
17
+ <%#= render_notifications_of @target, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default_without_grouping, index_content: :with_attributes, with_group_members: true) %>
18
18
 
19
19
  <style>
20
20
  .notification_wrapper .notification_header h1 span span{
@@ -1,6 +1,6 @@
1
1
  $(".notification_count").html("<span class=\"<%= 'unopened' if @target.has_unopened_notifications?(@index_options) %>\"><%= @target.unopened_notification_count(@index_options) %></span>");
2
2
  <% if @index_options[:with_group_members] %>
3
- $('<%= ".notification_#{@notification.id}" %>').html("<%= escape_javascript( render_notification(@notification, fallback: :default_without_grouping, with_group_members: true) ) %>");
3
+ $('<%= ".notification_#{@notification.id}" %>').html("<%= escape_javascript( render_notification(@notification, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default_without_grouping, with_group_members: true)) ) %>");
4
4
  <% else %>
5
- $('<%= ".notification_#{@notification.id}" %>').html("<%= escape_javascript( render_notification(@notification, fallback: :default) ) %>");
5
+ $('<%= ".notification_#{@notification.id}" %>').html("<%= escape_javascript( render_notification(@notification, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default)) ) %>");
6
6
  <% end %>
@@ -1,6 +1,6 @@
1
1
  $(".notification_count").html("<span class=\"<%= 'unopened' if @target.has_unopened_notifications?(@index_options) %>\"><%= @target.unopened_notification_count(@index_options) %></span>");
2
2
  <% if @index_options[:with_group_members] %>
3
- $(".notifications").html("<%= escape_javascript( render_notification(@notifications, fallback: :default_without_grouping, with_group_members: true) ) %>");
3
+ $(".notifications").html("<%= escape_javascript( render_notification(@notifications, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default_without_grouping, with_group_members: true)) ) %>");
4
4
  <% else %>
5
- $(".notifications").html("<%= escape_javascript( render_notification(@notifications, fallback: :default) ) %>");
5
+ $(".notifications").html("<%= escape_javascript( render_notification(@notifications, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default)) ) %>");
6
6
  <% end %>
@@ -4,8 +4,8 @@
4
4
  </div>
5
5
  <ul>
6
6
  <div class="notifications">
7
- <%= render_notification(@notification, fallback: :default) %>
8
- <%#= render_notification @notification, fallback: :text %>
7
+ <%= render_notification @notification, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :default) %>
8
+ <%#= render_notification @notification, @index_options.slice(:routing_scope, :devise_default_routes).merge(fallback: :text) %>
9
9
  </div>
10
10
  </ul>
11
11
  </div>
@@ -3,7 +3,7 @@ Dear <%= @target.printable_target_name %>
3
3
  <%= @notification.notifier.present? ? @notification.notifier.printable_notifier_name : 'Someone' %> notified you of <%= @notification.notifiable.printable_notifiable_name(@notification.target) %><%= " in #{@notification.group.printable_group_name}" if @notification.group.present? %>.
4
4
 
5
5
  <%= "Move to notified #{@notification.notifiable.printable_type.downcase}:" %>
6
- <%= move_notification_url_for(@notification, open: true) %>
6
+ <%= move_notification_url_for(@notification, parameters.slice(:routing_scope, :devise_default_routes).merge(open: true)) %>
7
7
 
8
8
  Thank you!
9
9
 
@@ -3,4 +3,4 @@
3
3
  <%= @notification.notifier.present? ? @notification.notifier.printable_notifier_name : 'Someone' %> notified you of <%= @notification.notifiable.printable_notifiable_name(@notification.target) %><%= " in #{@notification.group.printable_group_name}" if @notification.group.present? %>.
4
4
 
5
5
  <%= "Move to notified #{@notification.notifiable.printable_type.downcase}:" %>
6
- <%= move_notification_url_for(@notification, open: true) %>
6
+ <%= move_notification_url_for(@notification, parameters.slice(:routing_scope, :devise_default_routes).merge(open: true)) %>
@@ -9,7 +9,7 @@
9
9
  <%= key %>
10
10
  </h3>
11
11
  <p>
12
- <%= link_to "Notifications", notifications_path_for(target, filtered_by_key: key) %>
12
+ <%= link_to "Notifications", notifications_path_for(target, option_params.merge(filtered_by_key: key)) %>
13
13
  </p>
14
14
  </div>
15
15
  <div class="field_wrapper subscribing">
@@ -97,7 +97,7 @@
97
97
  <%#= f.submit "Save" %>
98
98
  </div>
99
99
  <%# end %>
100
- <%#= link_to "See notifications", notifications_path_for(target, filtered_by_key: key) %>
100
+ <%#= link_to "See notifications", notifications_path_for(target, option_params.merge(filtered_by_key: key)) %>
101
101
  <br/><br/>
102
102
  <%# end %>
103
103
  <%# else %>
@@ -5,7 +5,7 @@
5
5
  </h3>
6
6
 
7
7
  <p>
8
- <%= link_to "Notifications", notifications_path_for(subscription.target, filtered_by_key: subscription.key) %>
8
+ <%= link_to "Notifications", notifications_path_for(subscription.target, option_params.merge(filtered_by_key: subscription.key)) %>
9
9
  </p>
10
10
  </div>
11
11
 
@@ -48,14 +48,14 @@
48
48
  <div class="field">
49
49
  <div class="ui checkbox">
50
50
  <% if subscription.subscribing_to_email? %>
51
- <%= link_to unsubscribe_to_email_url_for(subscription, option_params), onclick: '$(this).find("input").prop("checked", false)', method: :post, remote: true do %>
51
+ <%= link_to unsubscribe_to_email_path_for(subscription, option_params), onclick: '$(this).find("input").prop("checked", false)', method: :post, remote: true do %>
52
52
  <label>
53
53
  <%= check_box :subscribing_to_email, "", { checked: true }, 'true', 'false' %>
54
54
  <div class="slider"></div>
55
55
  </label>
56
56
  <% end %>
57
57
  <% else %>
58
- <%= link_to subscribe_to_email_url_for(subscription, option_params), onclick: '$(this).find("input").prop("checked", true)', method: :post, remote: true do %>
58
+ <%= link_to subscribe_to_email_path_for(subscription, option_params), onclick: '$(this).find("input").prop("checked", true)', method: :post, remote: true do %>
59
59
  <label>
60
60
  <%= check_box :subscribing_to_email, "", { checked: false }, 'true', 'false' %>
61
61
  <div class="slider"></div>
@@ -76,14 +76,14 @@
76
76
  <div class="field">
77
77
  <div class="ui checkbox">
78
78
  <% if subscription.subscribing_to_optional_target?(optional_target_name) %>
79
- <%= link_to unsubscribe_to_optional_target_url_for(subscription, option_params.merge(optional_target_name: optional_target_name)), onclick: '$(this).find("input").prop("checked", false)', method: :post, remote: true do %>
79
+ <%= link_to unsubscribe_to_optional_target_path_for(subscription, option_params.merge(optional_target_name: optional_target_name)), onclick: '$(this).find("input").prop("checked", false)', method: :post, remote: true do %>
80
80
  <label>
81
81
  <%= check_box optional_target_name, "", { checked: true }, 'true', 'false' %>
82
82
  <div class="slider"></div>
83
83
  </label>
84
84
  <% end %>
85
85
  <% else %>
86
- <%= link_to subscribe_to_optional_target_url_for(subscription, option_params.merge(optional_target_name: optional_target_name)), onclick: '$(this).find("input").prop("checked", true)', method: :post, remote: true do %>
86
+ <%= link_to subscribe_to_optional_target_path_for(subscription, option_params.merge(optional_target_name: optional_target_name)), onclick: '$(this).find("input").prop("checked", true)', method: :post, remote: true do %>
87
87
  <label>
88
88
  <%= check_box optional_target_name, "", { checked: false }, 'true', 'false' %>
89
89
  <div class="slider"></div>
@@ -4,7 +4,7 @@
4
4
  </div>
5
5
  <div class="fields_area">
6
6
  <div class="subscription" id="subscription">
7
- <%= render 'subscription', subscription: @subscription, option_params: {} %>
7
+ <%= render 'subscription', subscription: @subscription, option_params: @index_options %>
8
8
  </div>
9
9
  </div>
10
10
  </div>
@@ -1,6 +1,6 @@
1
1
  setTimeout(function () {
2
2
  $("#subscriptions").html("<%= escape_javascript( render 'subscriptions', subscriptions: @subscriptions, option_params: @index_options ) %>");
3
- $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: {} ) %>");
3
+ $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: @index_options ) %>");
4
4
  }, 400);
5
5
  $("#notification_keys").html("<%= escape_javascript( render 'notification_keys', target: @target, notification_keys: @notification_keys, option_params: @index_options ) %>");
6
6
  $("#subscription_form").html("<%= escape_javascript( render 'form', target: @target, option_params: @index_options ) %>");
@@ -1,5 +1,5 @@
1
1
  $("#subscriptions").html("<%= escape_javascript( render 'subscriptions', subscriptions: @subscriptions, option_params: @index_options ) %>");
2
- $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: {} ) %>");
2
+ $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: @index_options ) %>");
3
3
  $("#notification_keys").html("<%= escape_javascript( render 'notification_keys', target: @target, notification_keys: @notification_keys, option_params: @index_options ) %>");
4
4
  $("#subscription_form").html("<%= escape_javascript( render 'form', target: @target, option_params: @index_options ) %>");
5
5
 
@@ -1,5 +1,5 @@
1
1
  $("#subscriptions").html("<%= escape_javascript( render 'subscriptions', subscriptions: @subscriptions, option_params: @index_options ) %>");
2
- $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: {} ) %>");
2
+ $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: @index_options ) %>");
3
3
  $("#notification_keys").html("<%= escape_javascript( render 'notification_keys', target: @target, notification_keys: @notification_keys, option_params: @index_options ) %>");
4
4
  $("#subscription_form").html("<%= escape_javascript( render 'form', target: @target, option_params: @index_options ) %>");
5
5
 
@@ -1,6 +1,6 @@
1
1
  setTimeout(function () {
2
2
  $("#subscriptions").html("<%= escape_javascript( render 'subscriptions', subscriptions: @subscriptions, option_params: @index_options ) %>");
3
- $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: {} ) %>");
3
+ $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: @index_options ) %>");
4
4
  }, 400);
5
5
  $("#notification_keys").html("<%= escape_javascript( render 'notification_keys', target: @target, notification_keys: @notification_keys, option_params: @index_options ) %>");
6
6
  $("#subscription_form").html("<%= escape_javascript( render 'form', target: @target, option_params: @index_options ) %>");
@@ -1,5 +1,5 @@
1
1
  $("#subscriptions").html("<%= escape_javascript( render 'subscriptions', subscriptions: @subscriptions, option_params: @index_options ) %>");
2
- $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: {} ) %>");
2
+ $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: @index_options ) %>");
3
3
  $("#notification_keys").html("<%= escape_javascript( render 'notification_keys', target: @target, notification_keys: @notification_keys, option_params: @index_options ) %>");
4
4
  $("#subscription_form").html("<%= escape_javascript( render 'form', target: @target, option_params: @index_options ) %>");
5
5
 
@@ -1,5 +1,5 @@
1
1
  $("#subscriptions").html("<%= escape_javascript( render 'subscriptions', subscriptions: @subscriptions, option_params: @index_options ) %>");
2
- $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: {} ) %>");
2
+ $("#subscription").html("<%= escape_javascript( render 'subscription', subscription: @subscription, option_params: @index_options ) %>");
3
3
  $("#notification_keys").html("<%= escape_javascript( render 'notification_keys', target: @target, notification_keys: @notification_keys, option_params: @index_options ) %>");
4
4
  $("#subscription_form").html("<%= escape_javascript( render 'form', target: @target, option_params: @index_options ) %>");
5
5