integral 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (172) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +4 -3
  3. data/app/assets/javascripts/integral/backend.js +86 -2
  4. data/app/assets/javascripts/integral/support/character_counter.js +13 -8
  5. data/app/assets/javascripts/integral/support/list.coffee +1 -0
  6. data/app/assets/javascripts/integral/support/record_selector.coffee +2 -0
  7. data/app/assets/javascripts/integral/support/slug_generator.coffee +1 -0
  8. data/app/assets/stylesheets/integral/backend.sass +34 -23
  9. data/app/assets/stylesheets/integral/backend/_foundation_settings.scss +2 -2
  10. data/app/assets/stylesheets/integral/backend/dashboard-layout.scss +27 -63
  11. data/app/assets/stylesheets/integral/backend/devise.sass +2 -3
  12. data/app/assets/stylesheets/integral/backend/materialize-tags.sass +1 -0
  13. data/app/assets/stylesheets/integral/backend/modules/dropdown_pane_notifications.scss +150 -0
  14. data/app/assets/stylesheets/integral/backend/modules/dropdown_pane_profile.scss +59 -0
  15. data/app/assets/stylesheets/integral/backend/shared.sass +41 -2
  16. data/app/assets/stylesheets/integral/frontend/layout.sass +10 -0
  17. data/app/assets/stylesheets/integral/support/media-query-indicator.sass +4 -4
  18. data/app/controllers/integral/backend/activities_controller.rb +21 -27
  19. data/app/controllers/integral/backend/base_controller.rb +87 -37
  20. data/app/controllers/integral/backend/images_controller.rb +26 -8
  21. data/app/controllers/integral/backend/lists_controller.rb +2 -14
  22. data/app/controllers/integral/backend/notification_subscriptions_controller.rb +23 -0
  23. data/app/controllers/integral/backend/pages_controller.rb +0 -4
  24. data/app/controllers/integral/backend/posts_controller.rb +0 -4
  25. data/app/controllers/integral/backend/settings_controller.rb +4 -0
  26. data/app/controllers/integral/backend/static_pages_controller.rb +6 -0
  27. data/app/controllers/integral/backend/users_controller.rb +43 -24
  28. data/app/controllers/integral/blog_controller.rb +12 -0
  29. data/app/controllers/integral/categories_controller.rb +17 -3
  30. data/app/controllers/integral/tags_controller.rb +5 -2
  31. data/app/decorators/integral/base_decorator.rb +16 -0
  32. data/app/decorators/integral/image_decorator.rb +2 -2
  33. data/app/decorators/integral/list_decorator.rb +1 -13
  34. data/app/decorators/integral/notification/notification_decorator.rb +74 -0
  35. data/app/decorators/integral/page_decorator.rb +1 -13
  36. data/app/decorators/integral/post_decorator.rb +1 -2
  37. data/app/decorators/integral/user_decorator.rb +1 -13
  38. data/app/decorators/integral/version_decorator.rb +8 -4
  39. data/app/helpers/integral/backend/base_helper.rb +97 -31
  40. data/app/jobs/integral/application_job.rb +1 -0
  41. data/app/jobs/integral/newsletter_signup_job.rb +0 -2
  42. data/app/mailers/integral/devise_mailer.rb +6 -0
  43. data/app/models/concerns/integral/notification/subscribable.rb +67 -0
  44. data/app/models/integral/application_record.rb +9 -0
  45. data/app/models/integral/category.rb +9 -0
  46. data/app/models/integral/image.rb +40 -3
  47. data/app/models/integral/list.rb +10 -2
  48. data/app/models/integral/list_item.rb +14 -14
  49. data/app/models/integral/list_item_connection.rb +6 -0
  50. data/app/models/integral/notification/notification.rb +28 -0
  51. data/app/models/integral/notification/subscription.rb +14 -0
  52. data/app/models/integral/page.rb +15 -8
  53. data/app/models/integral/post.rb +11 -13
  54. data/app/models/integral/user.rb +45 -2
  55. data/app/policies/integral/base_policy.rb +7 -12
  56. data/app/policies/integral/page_policy.rb +1 -0
  57. data/app/policies/integral/version_policy.rb +0 -8
  58. data/app/views/devise/invitations/edit.haml +1 -4
  59. data/app/views/devise/mailer/invitation_instructions.inky-haml +20 -0
  60. data/app/views/integral/backend/activities/grid/_dropdown_actions.haml +1 -0
  61. data/app/views/integral/backend/activities/grid/_row_content.haml +13 -0
  62. data/app/views/integral/backend/activities/index.haml +7 -13
  63. data/app/views/integral/backend/activities/shared/_grid.haml +35 -20
  64. data/app/views/integral/backend/activities/shared/index.haml +12 -12
  65. data/app/views/integral/backend/activities/shared/show.haml +7 -7
  66. data/app/views/integral/backend/activities/show.haml +1 -1
  67. data/app/views/integral/backend/categories/_modal.haml +2 -3
  68. data/app/views/integral/backend/images/_form.haml +13 -25
  69. data/app/views/integral/backend/images/edit.haml +1 -9
  70. data/app/views/integral/backend/images/grid/_dropdown_actions.haml +5 -0
  71. data/app/views/integral/backend/images/grid/_row_content.haml +5 -0
  72. data/app/views/integral/backend/images/index.haml +11 -17
  73. data/app/views/integral/backend/images/list.haml +11 -0
  74. data/app/views/integral/backend/images/show.haml +26 -0
  75. data/app/views/integral/backend/lists/_form.haml +6 -19
  76. data/app/views/integral/backend/lists/_item_modal.haml +3 -3
  77. data/app/views/integral/backend/lists/_manager.haml +11 -13
  78. data/app/views/integral/backend/lists/edit.haml +6 -20
  79. data/app/views/integral/backend/lists/grid/_dropdown_actions.haml +9 -0
  80. data/app/views/integral/backend/lists/grid/_row_content.haml +3 -0
  81. data/app/views/integral/backend/lists/index.haml +11 -17
  82. data/app/views/integral/backend/lists/list.haml +11 -0
  83. data/app/views/integral/backend/lists/show.haml +30 -0
  84. data/app/views/integral/backend/notifications/_notification.haml +21 -0
  85. data/app/views/integral/backend/pages/_form.haml +19 -43
  86. data/app/views/integral/backend/pages/edit.haml +4 -12
  87. data/app/views/integral/backend/pages/grid/_dropdown_actions.haml +11 -0
  88. data/app/views/integral/backend/pages/grid/_row_content.haml +5 -0
  89. data/app/views/integral/backend/pages/index.haml +6 -6
  90. data/app/views/integral/backend/pages/list.haml +12 -19
  91. data/app/views/integral/backend/pages/show.haml +19 -35
  92. data/app/views/integral/backend/posts/_form.haml +18 -56
  93. data/app/views/integral/backend/posts/edit.haml +4 -14
  94. data/app/views/integral/backend/posts/grid/_dropdown_actions.haml +10 -0
  95. data/app/views/integral/backend/posts/grid/_row_content.haml +6 -0
  96. data/app/views/integral/backend/posts/index.haml +6 -6
  97. data/app/views/integral/backend/posts/list.haml +11 -18
  98. data/app/views/integral/backend/posts/new.haml +0 -1
  99. data/app/views/integral/backend/posts/show.haml +18 -41
  100. data/app/views/integral/backend/shared/_breadcrumbs.haml +7 -4
  101. data/app/views/integral/backend/shared/_image_preview.haml +10 -3
  102. data/app/views/integral/backend/shared/_image_selector.haml +1 -1
  103. data/app/views/integral/backend/shared/_notification_subscription_toggle.haml +22 -0
  104. data/app/views/integral/backend/shared/action_bar/_index.haml +9 -0
  105. data/app/views/integral/backend/shared/action_bar/_show.haml +3 -0
  106. data/app/views/integral/backend/shared/cards/_at_a_glance.haml +3 -3
  107. data/app/views/integral/backend/shared/cards/_categories.haml +27 -28
  108. data/app/views/integral/backend/shared/cards/_object.haml +1 -1
  109. data/app/views/integral/backend/shared/cards/_recent_activity.haml +12 -12
  110. data/app/views/integral/backend/shared/cards/_recent_resources.haml +17 -0
  111. data/app/views/integral/backend/shared/cards/_top_post_authors.haml +14 -15
  112. data/app/views/integral/backend/shared/cards/_welcome.haml +24 -25
  113. data/app/views/integral/backend/shared/{_empty_grid.haml → grid/_empty.haml} +0 -0
  114. data/app/views/integral/backend/shared/grid/_form.haml +9 -0
  115. data/app/views/integral/backend/shared/grid/_grid.haml +21 -0
  116. data/app/views/integral/backend/shared/{_pagination.haml → grid/_pagination.haml} +0 -0
  117. data/app/views/integral/backend/shared/grid/_row_layout.haml +8 -0
  118. data/app/views/integral/backend/shared/record_selector/_collection.haml +1 -0
  119. data/app/views/integral/backend/shared/record_selector/_modal.haml +9 -10
  120. data/app/views/integral/backend/static_pages/dashboard.haml +6 -7
  121. data/app/views/integral/backend/users/_form.haml +34 -46
  122. data/app/views/integral/backend/users/grid/_dropdown_actions.haml +17 -0
  123. data/app/views/integral/backend/users/grid/_row_content.haml +8 -0
  124. data/app/views/integral/backend/users/index.haml +6 -6
  125. data/app/views/integral/backend/users/list.haml +10 -16
  126. data/app/views/integral/backend/users/show.haml +10 -1
  127. data/app/views/integral/categories/show.haml +3 -3
  128. data/app/views/integral/posts/_article_footer.haml +1 -1
  129. data/app/views/integral/posts/_card.haml +1 -1
  130. data/app/views/integral/posts/_most_read_section.haml +1 -1
  131. data/app/views/integral/posts/_post.haml +1 -1
  132. data/app/views/integral/posts/templates/default.haml +1 -1
  133. data/app/views/integral/shared/sidebar/_item.haml +1 -1
  134. data/app/views/layouts/integral/backend.html.haml +24 -5
  135. data/app/views/layouts/integral/backend/_create_dropdown.haml +1 -30
  136. data/app/views/layouts/integral/backend/_main_menu_items.haml +1 -101
  137. data/config/initializers/devise.rb +1 -1
  138. data/config/locales/en.yml +60 -2
  139. data/config/routes.rb +2 -0
  140. data/db/migrate/20200407022636_create_integral_notifications.rb +25 -0
  141. data/db/migrate/20200421223602_add_status_to_integral_users.rb +5 -0
  142. data/db/seeds.rb +15 -11
  143. data/lib/integral.rb +1 -0
  144. data/lib/integral/acts_as_integral.rb +115 -0
  145. data/lib/integral/acts_as_listable.rb +1 -1
  146. data/lib/integral/engine.rb +9 -0
  147. data/lib/integral/grids/activities_grid.rb +0 -1
  148. data/lib/integral/grids/lists_grid.rb +1 -0
  149. data/lib/integral/grids/posts_grid.rb +5 -1
  150. data/lib/integral/grids/users_grid.rb +5 -0
  151. data/lib/integral/list_renderer.rb +5 -1
  152. data/lib/integral/router.rb +20 -4
  153. data/lib/integral/version.rb +1 -1
  154. data/spec/factories.rb +15 -1
  155. metadata +45 -39
  156. data/app/decorators/integral/category_version_decorator.rb +0 -7
  157. data/app/decorators/integral/image_version_decorator.rb +0 -7
  158. data/app/decorators/integral/list_version_decorator.rb +0 -7
  159. data/app/decorators/integral/page_version_decorator.rb +0 -7
  160. data/app/decorators/integral/post_version_decorator.rb +0 -7
  161. data/app/decorators/integral/user_version_decorator.rb +0 -7
  162. data/app/views/devise/mailer/invitation_instructions.html.erb +0 -13
  163. data/app/views/integral/backend/activities/_grid.haml +0 -22
  164. data/app/views/integral/backend/images/_grid.haml +0 -16
  165. data/app/views/integral/backend/lists/_grid.haml +0 -14
  166. data/app/views/integral/backend/pages/_grid.haml +0 -46
  167. data/app/views/integral/backend/posts/_grid.haml +0 -51
  168. data/app/views/integral/backend/shared/_grid.haml +0 -18
  169. data/app/views/integral/backend/shared/cards/_recent_pages.haml +0 -19
  170. data/app/views/integral/backend/shared/cards/_recent_posts.haml +0 -18
  171. data/app/views/integral/backend/shared/cards/_recent_users.haml +0 -19
  172. data/app/views/integral/backend/users/_grid.haml +0 -36
@@ -64,6 +64,15 @@ module Integral
64
64
  Integral::Engine.routes.default_url_options[:host] = Rails.application.routes.default_url_options[:host]
65
65
  end
66
66
 
67
+ # Menu Initializaion - Add items to menus which are not directly linked to a Modal
68
+ initializer "integral.backend.set_main_menu_items" do |app|
69
+ ActiveSupport::Notifications.subscribe 'integral.routes_loaded' do
70
+ Integral::ActsAsIntegral.add_backend_main_menu_item(id: :home, icon: 'home', order: 10, label: 'Home', url: Integral::Engine.routes.url_helpers.backend_dashboard_url)
71
+ Integral::ActsAsIntegral.add_backend_main_menu_item(id: :activities, icon: 'crosshairs', order: 90, label: 'Activities', url: Integral::Engine.routes.url_helpers.backend_activities_url, authorize: proc { policy(Integral::Version).manager? })
72
+ Integral::ActsAsIntegral.add_backend_main_menu_item(id: :settings, icon: 'cog', order: 100, label: 'Settings', url: Integral::Engine.routes.url_helpers.backend_settings_url, authorize: proc { current_user.admin? })
73
+ end
74
+ end
75
+
67
76
  # Clientside I18n
68
77
  config.assets.initialize_on_precompile = true
69
78
 
@@ -44,7 +44,6 @@ module Integral
44
44
  column(:action, order: :event)
45
45
  column(:object, order: :item_type)
46
46
  column(:instance)
47
- column(:attributes_changed)
48
47
  column(:actions)
49
48
  end
50
49
  end
@@ -14,6 +14,7 @@ module Integral
14
14
  end
15
15
 
16
16
  column(:title, order: :title)
17
+ column(:description, order: :description)
17
18
  column(:updated_at, order: :updated_at)
18
19
  column(:actions)
19
20
  end
@@ -21,8 +21,12 @@ module Integral
21
21
  where(user: value)
22
22
  end
23
23
 
24
+ filter(:category, multiple: true) do |value|
25
+ where(category_id: value)
26
+ end
27
+
24
28
  column(:title, order: :title)
25
- column(:user, order: :user)
29
+ column(:category, order: :category_id)
26
30
  column(:status, order: :status)
27
31
  column(:view_count, order: :view_count)
28
32
  column(:updated_at, order: :updated_at)
@@ -13,8 +13,13 @@ module Integral
13
13
  search(value)
14
14
  end
15
15
 
16
+ filter(:status, multiple: true) do |value|
17
+ where(status: value)
18
+ end
19
+
16
20
  column(:name, order: :name)
17
21
  column(:email, order: :email)
22
+ column(:status, order: :status)
18
23
  column(:updated_at, order: :updated_at)
19
24
  column(:actions)
20
25
  end
@@ -46,7 +46,11 @@ module Integral
46
46
  rendered_items += render_item(list_item)
47
47
  end
48
48
 
49
- content_tag opts[:wrapper_element], rendered_items, html_options, false
49
+ if opts[:wrapper_element]
50
+ ontent_tag opts[:wrapper_element], rendered_items, html_options, false
51
+ else
52
+ rendered_items
53
+ end
50
54
  end
51
55
 
52
56
  private
@@ -63,13 +63,27 @@ module Integral
63
63
  resources :users do
64
64
  get 'list', on: :collection
65
65
  member do
66
+ put 'read_notification'
67
+ get 'notifications'
68
+ put 'block'
69
+ put 'unblock'
66
70
  get 'activities', controller: 'users'
67
71
  get 'activities/:activity_id', to: 'users#activity', as: :activity
68
72
  end
69
73
  end
70
74
 
75
+ # Notification subscription management
76
+ resources :notification_subscriptions, only: [:update]
77
+
71
78
  # Image Management
72
- resources :images, as: :img
79
+ resources :images, as: :img do
80
+ get 'list', on: :collection
81
+
82
+ member do
83
+ get 'activities', controller: 'images'
84
+ get 'activities/:activity_id', to: 'images#activity', as: :activity
85
+ end
86
+ end
73
87
 
74
88
  # Page Management
75
89
  resources :pages do
@@ -82,10 +96,9 @@ module Integral
82
96
  end
83
97
 
84
98
  # Activity Management
85
- resources :activities, only: %i[index show] do
99
+ resources :activities, only: %i[index] do
86
100
  collection do
87
101
  post 'widget'
88
- post 'grid'
89
102
  end
90
103
  end
91
104
 
@@ -109,9 +122,12 @@ module Integral
109
122
  end
110
123
 
111
124
  # List Management
112
- resources :lists, except: [:show] do
125
+ resources :lists do
126
+ get 'list', on: :collection
113
127
  member do
114
128
  post 'duplicate'
129
+ get 'activities', controller: 'lists'
130
+ get 'activities/:activity_id', to: 'lists#activity', as: :activity
115
131
  end
116
132
  end
117
133
 
@@ -1,5 +1,5 @@
1
1
  # :nocov:
2
2
  module Integral
3
3
  # Integral Version
4
- VERSION = '1.4.0'.freeze
4
+ VERSION = '1.5.0'.freeze
5
5
  end
@@ -9,7 +9,7 @@ FactoryBot.define do
9
9
  sequence(:view_count) { rand(5000) }
10
10
  sequence(:url) { Faker::Internet.url }
11
11
 
12
- factory :integral_user, class: Integral::User, aliases: [:user] do
12
+ factory :integral_user, class: Integral::User, aliases: [:user, :recipient, :actor] do
13
13
  name
14
14
  email
15
15
  password { "password" }
@@ -78,6 +78,20 @@ FactoryBot.define do
78
78
  status { rand(0..1) }
79
79
  end
80
80
 
81
+ factory :integral_notification, class: 'Integral::Notification::Notification' do
82
+ recipient
83
+ actor
84
+ read_at { Faker::Time.backward(30) }
85
+ action { ['create', 'update', 'destroy'].sample }
86
+ association(:subscribable, factory: :integral_post)
87
+ end
88
+
89
+ factory :integral_notification_subscription, class: 'Integral::Notification::Subscription' do
90
+ state { [:subscribe, :unsubscribe].sample }
91
+ association(:subscribable, factory: :integral_post)
92
+ user
93
+ end
94
+
81
95
  factory :integral_category, class: 'Integral::Category', aliases: [:category] do
82
96
  title
83
97
  description
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: integral
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Lindsay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-18 00:00:00.000000000 Z
11
+ date: 2020-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_record_union
@@ -274,14 +274,14 @@ dependencies:
274
274
  requirements:
275
275
  - - "~>"
276
276
  - !ruby/object:Gem::Version
277
- version: 6.4.1
277
+ version: 6.6.2
278
278
  type: :runtime
279
279
  prerelease: false
280
280
  version_requirements: !ruby/object:Gem::Requirement
281
281
  requirements:
282
282
  - - "~>"
283
283
  - !ruby/object:Gem::Version
284
- version: 6.4.1
284
+ version: 6.6.2
285
285
  - !ruby/object:Gem::Dependency
286
286
  name: friendly_id
287
287
  requirement: !ruby/object:Gem::Requirement
@@ -800,20 +800,6 @@ dependencies:
800
800
  - - "~>"
801
801
  - !ruby/object:Gem::Version
802
802
  version: '2.4'
803
- - !ruby/object:Gem::Dependency
804
- name: poltergeist
805
- requirement: !ruby/object:Gem::Requirement
806
- requirements:
807
- - - "~>"
808
- - !ruby/object:Gem::Version
809
- version: '1.11'
810
- type: :development
811
- prerelease: false
812
- version_requirements: !ruby/object:Gem::Requirement
813
- requirements:
814
- - - "~>"
815
- - !ruby/object:Gem::Version
816
- version: '1.11'
817
803
  - !ruby/object:Gem::Dependency
818
804
  name: rspec-retry
819
805
  requirement: !ruby/object:Gem::Requirement
@@ -1517,6 +1503,8 @@ files:
1517
1503
  - app/assets/stylesheets/integral/backend/devise.sass
1518
1504
  - app/assets/stylesheets/integral/backend/foundation_and_overrides.scss
1519
1505
  - app/assets/stylesheets/integral/backend/materialize-tags.sass
1506
+ - app/assets/stylesheets/integral/backend/modules/dropdown_pane_notifications.scss
1507
+ - app/assets/stylesheets/integral/backend/modules/dropdown_pane_profile.scss
1520
1508
  - app/assets/stylesheets/integral/backend/modules/timeline.scss
1521
1509
  - app/assets/stylesheets/integral/backend/notifications.sass
1522
1510
  - app/assets/stylesheets/integral/backend/overrides.sass
@@ -1557,6 +1545,7 @@ files:
1557
1545
  - app/controllers/integral/backend/categories_controller.rb
1558
1546
  - app/controllers/integral/backend/images_controller.rb
1559
1547
  - app/controllers/integral/backend/lists_controller.rb
1548
+ - app/controllers/integral/backend/notification_subscriptions_controller.rb
1560
1549
  - app/controllers/integral/backend/pages_controller.rb
1561
1550
  - app/controllers/integral/backend/posts_controller.rb
1562
1551
  - app/controllers/integral/backend/settings_controller.rb
@@ -1568,19 +1557,15 @@ files:
1568
1557
  - app/controllers/integral/pages_controller.rb
1569
1558
  - app/controllers/integral/posts_controller.rb
1570
1559
  - app/controllers/integral/tags_controller.rb
1560
+ - app/decorators/integral/base_decorator.rb
1571
1561
  - app/decorators/integral/category_decorator.rb
1572
- - app/decorators/integral/category_version_decorator.rb
1573
1562
  - app/decorators/integral/image_decorator.rb
1574
- - app/decorators/integral/image_version_decorator.rb
1575
1563
  - app/decorators/integral/list_decorator.rb
1576
- - app/decorators/integral/list_version_decorator.rb
1564
+ - app/decorators/integral/notification/notification_decorator.rb
1577
1565
  - app/decorators/integral/page_decorator.rb
1578
- - app/decorators/integral/page_version_decorator.rb
1579
1566
  - app/decorators/integral/paginating_decorator.rb
1580
1567
  - app/decorators/integral/post_decorator.rb
1581
- - app/decorators/integral/post_version_decorator.rb
1582
1568
  - app/decorators/integral/user_decorator.rb
1583
- - app/decorators/integral/user_version_decorator.rb
1584
1569
  - app/decorators/integral/version_decorator.rb
1585
1570
  - app/helpers/integral/application_helper.rb
1586
1571
  - app/helpers/integral/backend/base_helper.rb
@@ -1593,10 +1578,12 @@ files:
1593
1578
  - app/jobs/integral/newsletter_signup_job.rb
1594
1579
  - app/jobs/integral/webhook/delivery_job.rb
1595
1580
  - app/mailers/integral/contact_mailer.rb
1581
+ - app/mailers/integral/devise_mailer.rb
1596
1582
  - app/models/ckeditor/asset.rb
1597
1583
  - app/models/ckeditor/attachment_file.rb
1598
1584
  - app/models/ckeditor/picture.rb
1599
1585
  - app/models/concerns/integral/lazy_contentable.rb
1586
+ - app/models/concerns/integral/notification/subscribable.rb
1600
1587
  - app/models/concerns/integral/webhook/delivery.rb
1601
1588
  - app/models/concerns/integral/webhook/observable.rb
1602
1589
  - app/models/integral/application_record.rb
@@ -1609,8 +1596,11 @@ files:
1609
1596
  - app/models/integral/link.rb
1610
1597
  - app/models/integral/list.rb
1611
1598
  - app/models/integral/list_item.rb
1599
+ - app/models/integral/list_item_connection.rb
1612
1600
  - app/models/integral/list_version.rb
1613
1601
  - app/models/integral/newsletter_signup.rb
1602
+ - app/models/integral/notification/notification.rb
1603
+ - app/models/integral/notification/subscription.rb
1614
1604
  - app/models/integral/object.rb
1615
1605
  - app/models/integral/page.rb
1616
1606
  - app/models/integral/page_version.rb
@@ -1642,7 +1632,7 @@ files:
1642
1632
  - app/uploaders/integral/image_uploader.rb
1643
1633
  - app/views/devise/invitations/edit.haml
1644
1634
  - app/views/devise/mailer/confirmation_instructions.html.erb
1645
- - app/views/devise/mailer/invitation_instructions.html.erb
1635
+ - app/views/devise/mailer/invitation_instructions.inky-haml
1646
1636
  - app/views/devise/mailer/invitation_instructions.text.erb
1647
1637
  - app/views/devise/mailer/reset_password_instructions.html.erb
1648
1638
  - app/views/devise/mailer/unlock_instructions.html.erb
@@ -1651,7 +1641,8 @@ files:
1651
1641
  - app/views/devise/sessions/new.haml
1652
1642
  - app/views/devise/shared/_links.html.erb
1653
1643
  - app/views/integral/backend/activities/_activity.haml
1654
- - app/views/integral/backend/activities/_grid.haml
1644
+ - app/views/integral/backend/activities/grid/_dropdown_actions.haml
1645
+ - app/views/integral/backend/activities/grid/_row_content.haml
1655
1646
  - app/views/integral/backend/activities/index.haml
1656
1647
  - app/views/integral/backend/activities/shared/_grid.haml
1657
1648
  - app/views/integral/backend/activities/shared/index.haml
@@ -1660,30 +1651,39 @@ files:
1660
1651
  - app/views/integral/backend/categories/_modal.haml
1661
1652
  - app/views/integral/backend/images/_create_modal.haml
1662
1653
  - app/views/integral/backend/images/_form.haml
1663
- - app/views/integral/backend/images/_grid.haml
1664
1654
  - app/views/integral/backend/images/edit.haml
1655
+ - app/views/integral/backend/images/grid/_dropdown_actions.haml
1656
+ - app/views/integral/backend/images/grid/_row_content.haml
1665
1657
  - app/views/integral/backend/images/index.haml
1658
+ - app/views/integral/backend/images/list.haml
1666
1659
  - app/views/integral/backend/images/new.haml
1660
+ - app/views/integral/backend/images/show.haml
1667
1661
  - app/views/integral/backend/lists/_child_fields.haml
1668
1662
  - app/views/integral/backend/lists/_form.haml
1669
- - app/views/integral/backend/lists/_grid.haml
1670
1663
  - app/views/integral/backend/lists/_item_container.haml
1671
1664
  - app/views/integral/backend/lists/_item_modal.haml
1672
1665
  - app/views/integral/backend/lists/_list_item_fields.haml
1673
1666
  - app/views/integral/backend/lists/_manager.haml
1674
1667
  - app/views/integral/backend/lists/edit.haml
1668
+ - app/views/integral/backend/lists/grid/_dropdown_actions.haml
1669
+ - app/views/integral/backend/lists/grid/_row_content.haml
1675
1670
  - app/views/integral/backend/lists/index.haml
1671
+ - app/views/integral/backend/lists/list.haml
1676
1672
  - app/views/integral/backend/lists/new.haml
1673
+ - app/views/integral/backend/lists/show.haml
1674
+ - app/views/integral/backend/notifications/_notification.haml
1677
1675
  - app/views/integral/backend/pages/_form.haml
1678
- - app/views/integral/backend/pages/_grid.haml
1679
1676
  - app/views/integral/backend/pages/edit.haml
1677
+ - app/views/integral/backend/pages/grid/_dropdown_actions.haml
1678
+ - app/views/integral/backend/pages/grid/_row_content.haml
1680
1679
  - app/views/integral/backend/pages/index.haml
1681
1680
  - app/views/integral/backend/pages/list.haml
1682
1681
  - app/views/integral/backend/pages/new.haml
1683
1682
  - app/views/integral/backend/pages/show.haml
1684
1683
  - app/views/integral/backend/posts/_form.haml
1685
- - app/views/integral/backend/posts/_grid.haml
1686
1684
  - app/views/integral/backend/posts/edit.haml
1685
+ - app/views/integral/backend/posts/grid/_dropdown_actions.haml
1686
+ - app/views/integral/backend/posts/grid/_row_content.haml
1687
1687
  - app/views/integral/backend/posts/index.haml
1688
1688
  - app/views/integral/backend/posts/list.haml
1689
1689
  - app/views/integral/backend/posts/new.haml
@@ -1697,31 +1697,35 @@ files:
1697
1697
  - app/views/integral/backend/settings/sections/_social.haml
1698
1698
  - app/views/integral/backend/shared/_activity_modal.haml
1699
1699
  - app/views/integral/backend/shared/_breadcrumbs.haml
1700
- - app/views/integral/backend/shared/_empty_grid.haml
1701
- - app/views/integral/backend/shared/_grid.haml
1702
1700
  - app/views/integral/backend/shared/_image_preview.haml
1703
1701
  - app/views/integral/backend/shared/_image_selector.haml
1704
- - app/views/integral/backend/shared/_pagination.haml
1702
+ - app/views/integral/backend/shared/_notification_subscription_toggle.haml
1703
+ - app/views/integral/backend/shared/action_bar/_index.haml
1704
+ - app/views/integral/backend/shared/action_bar/_show.haml
1705
1705
  - app/views/integral/backend/shared/cards/_at_a_glance.haml
1706
1706
  - app/views/integral/backend/shared/cards/_categories.haml
1707
1707
  - app/views/integral/backend/shared/cards/_object.haml
1708
1708
  - app/views/integral/backend/shared/cards/_recent_activity.haml
1709
- - app/views/integral/backend/shared/cards/_recent_pages.haml
1710
- - app/views/integral/backend/shared/cards/_recent_posts.haml
1709
+ - app/views/integral/backend/shared/cards/_recent_resources.haml
1711
1710
  - app/views/integral/backend/shared/cards/_recent_user_activity.haml
1712
- - app/views/integral/backend/shared/cards/_recent_users.haml
1713
1711
  - app/views/integral/backend/shared/cards/_top_post_authors.haml
1714
1712
  - app/views/integral/backend/shared/cards/_welcome.haml
1715
1713
  - app/views/integral/backend/shared/graphs/_donut.haml
1716
1714
  - app/views/integral/backend/shared/graphs/_line.haml
1717
1715
  - app/views/integral/backend/shared/graphs/_no_data_available.haml
1716
+ - app/views/integral/backend/shared/grid/_empty.haml
1717
+ - app/views/integral/backend/shared/grid/_form.haml
1718
+ - app/views/integral/backend/shared/grid/_grid.haml
1719
+ - app/views/integral/backend/shared/grid/_pagination.haml
1720
+ - app/views/integral/backend/shared/grid/_row_layout.haml
1718
1721
  - app/views/integral/backend/shared/record_selector/_collection.haml
1719
1722
  - app/views/integral/backend/shared/record_selector/_modal.haml
1720
1723
  - app/views/integral/backend/shared/record_selector/_record.haml
1721
1724
  - app/views/integral/backend/static_pages/dashboard.haml
1722
1725
  - app/views/integral/backend/users/_form.haml
1723
- - app/views/integral/backend/users/_grid.haml
1724
1726
  - app/views/integral/backend/users/edit.haml
1727
+ - app/views/integral/backend/users/grid/_dropdown_actions.haml
1728
+ - app/views/integral/backend/users/grid/_row_content.haml
1725
1729
  - app/views/integral/backend/users/index.haml
1726
1730
  - app/views/integral/backend/users/list.haml
1727
1731
  - app/views/integral/backend/users/new.haml
@@ -1840,6 +1844,8 @@ files:
1840
1844
  - db/migrate/20190929191412_add_integral_post_categories.rb
1841
1845
  - db/migrate/20191203090008_add_image_to_integral_categories.rb
1842
1846
  - db/migrate/20200401210442_create_category_versions.rb
1847
+ - db/migrate/20200407022636_create_integral_notifications.rb
1848
+ - db/migrate/20200421223602_add_status_to_integral_users.rb
1843
1849
  - db/seeds.rb
1844
1850
  - lib/generators/integral/assets_generator.rb
1845
1851
  - lib/generators/integral/install_generator.rb
@@ -1852,6 +1858,7 @@ files:
1852
1858
  - lib/generators/templates/seeds.rb
1853
1859
  - lib/generators/templates/sitemap.rb
1854
1860
  - lib/integral.rb
1861
+ - lib/integral/acts_as_integral.rb
1855
1862
  - lib/integral/acts_as_listable.rb
1856
1863
  - lib/integral/button_link_renderer.rb
1857
1864
  - lib/integral/chart_renderer/base.rb
@@ -1914,8 +1921,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1914
1921
  - !ruby/object:Gem::Version
1915
1922
  version: '0'
1916
1923
  requirements: []
1917
- rubyforge_project:
1918
- rubygems_version: 2.6.11
1924
+ rubygems_version: 3.1.2
1919
1925
  signing_key:
1920
1926
  specification_version: 4
1921
1927
  summary: Integral CMS combines all the tools necessary to create a website which stands
@@ -1,7 +0,0 @@
1
- module Integral
2
- class CategoryVersionDecorator < VersionDecorator
3
- def item_icon
4
- 'tags'
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Integral
2
- class ImageVersionDecorator < VersionDecorator
3
- def item_icon
4
- 'image'
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Integral
2
- class ListVersionDecorator < VersionDecorator
3
- def item_icon
4
- 'list'
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Integral
2
- class PageVersionDecorator < VersionDecorator
3
- def item_icon
4
- 'file'
5
- end
6
- end
7
- end