trusty-cms 7.0.7 → 7.0.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21602eb92fa965a61823801ab54c65663f5c91e13a5c379b0e6653868934285e
4
- data.tar.gz: d479f8e082e2efc68e9feb96b461e3ebd66cf681ec6bb2a0c5e6f7cead81fb59
3
+ metadata.gz: 170bd1825c9f7ff25e1bcf51d8ac424e32612d8415a7d640fc441195e9bddb4c
4
+ data.tar.gz: 2c367de40351f12fd2d71e2f4fb9ff842a0379fe07f313c8e040a43979bc5e8e
5
5
  SHA512:
6
- metadata.gz: 0a73dba1d21d9ad6998e71cb82aa8e704a63a173e66512d9aa029f26ce835e610356b58f321c5daad20e1cde525c1724fd222b3c571c2ea8ea062927f1f7f8a9
7
- data.tar.gz: d12a09d633c3b63817c9fa725bd4b30d74d590cf69859d2d580348ba8bebf26ccc6c72bbda4aeae4d7f599a1cc69a2cb2c453d4ce85b68ce19af78f2e8255d31
6
+ metadata.gz: 1247c66e283d00de5c30181d53d356271c165401a40de6c8ffbf6d4cbc9dcb31d96e980daea0ac150b64abccd4101dc027b7484f8dfa965db74c36628e0089a6
7
+ data.tar.gz: eb1e804f9a828378cc4cf4553c0761753c08b133011409cbc514f79dae86ef377a69c74ef20125f3d472f997d68dc772f291126cd8413b803f775b76e249d5f6
data/Gemfile CHANGED
@@ -7,8 +7,8 @@ source 'https://rubygems.org'
7
7
  # requires trusty and therefore pulls in every
8
8
  # dependency mentioned in trusty.gemspec.
9
9
 
10
- gem 'paper_trail'
11
- gem 'paper_trail-association_tracking'
10
+ gem 'paper_trail', '~> 16.0.0'
11
+ gem 'paper_trail-association_tracking', '~> 2.2.1'
12
12
  gem 'psych', '5.2.2'
13
13
  gem 'trustygems', '~> 0.2.0'
14
14
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trusty-cms (7.0.7)
4
+ trusty-cms (7.0.8)
5
5
  RedCloth (= 4.3.3)
6
6
  activestorage-validator
7
7
  acts_as_list (>= 0.9.5, < 1.3.0)
@@ -21,6 +21,8 @@ PATH
21
21
  mini_racer
22
22
  mutex_m
23
23
  mysql2
24
+ paper_trail (~> 16.0.0)
25
+ paper_trail-association_tracking (~> 2.2.1)
24
26
  rack (>= 2.0.1, < 3.2.0)
25
27
  rack-cache (~> 1.7)
26
28
  radius (~> 0.7)
@@ -429,8 +431,8 @@ DEPENDENCIES
429
431
  file_validators
430
432
  launchy (~> 3.0.1)
431
433
  mysql2
432
- paper_trail
433
- paper_trail-association_tracking
434
+ paper_trail (~> 16.0.0)
435
+ paper_trail-association_tracking (~> 2.2.1)
434
436
  poltergeist (~> 1.18.1)
435
437
  pry-byebug
436
438
  psych (= 5.2.2)
data/INSTALL.md CHANGED
@@ -14,9 +14,11 @@ From within the directory containing your TrustyCMS instance:
14
14
  4. Run the Trusty CMS generator to get the project into shape: `rails g trusty_cms [project_name]`.
15
15
  - This will ask you if you want to replace a number of existing files (like application.rb); reply Y to all.
16
16
 
17
- 5. add config.extensions = [ :snippets, :clipped, :layouts, :multi_site ] to enable them in application.rb
17
+ 5. Add `config.extensions = [ :snippets, :clipped, :layouts, :multi_site ]` to enable them in application.rb
18
+
19
+ 6. Add `config.active_record.yaml_column_permitted_classes = [Symbol, Date, Time, ActiveSupport::TimeWithZone, ActiveSupport::TimeZone]` to application.rb. This is required for pages to save previous versions.
18
20
 
19
21
  7. Add utf8 encoding to your db.yml
20
22
 
21
- 6. Run `bundle exec rake db:setup`, `bundle exec rake trusty_cms:install:migrations`, then
23
+ 8. Run `bundle exec rake db:setup`, `bundle exec rake trusty_cms:install:migrations`, then
22
24
  `bundle exec rake db:bootstrap`.
@@ -30,6 +30,9 @@
30
30
  = render :partial => 'admin/page_parts/page_part', :collection => @page.parts
31
31
  = render_region :parts_bottom, :locals => {:f => fields}
32
32
 
33
+ #previous-versions
34
+ = render :partial => 'admin/pages/previous_versions'
35
+
33
36
  .set
34
37
  - render_region :layout, :locals => {:f => fields} do |layout|
35
38
  - layout.edit_layout do
@@ -0,0 +1,28 @@
1
+ %fieldset
2
+ %h4
3
+ %i.fas.fa-clock-rotate-left
4
+ Previous Versions
5
+
6
+ - if @versions.present?
7
+ %section
8
+ %table
9
+ %thead
10
+ %tr
11
+ %th Date Updated
12
+ %th Time Updated
13
+ %th Updated By
14
+ %th Action
15
+ %tbody{ :id => 'versions-table' }
16
+ - @versions.each do |version|
17
+ %tr
18
+ %td= version[:update_date]
19
+ %td= version[:update_time]
20
+ %td= version[:updated_by]
21
+ %td
22
+ = link_to 'Restore',
23
+ restore_version_admin_page_path(@page.id, version_index: version[:index]),
24
+ method: :put,
25
+ data: { confirm: 'Are you sure you want to restore this version?' }
26
+ - else
27
+ %section
28
+ %p No previous versions are available.
@@ -1,2 +1,2 @@
1
- PaperTrail.config.track_associations = true
2
1
  PaperTrail.config.version_limit = 5
2
+ PaperTrail.config.track_associations = true
@@ -1,3 +1,9 @@
1
+ require 'ckeditor'
2
+ require 'devise'
3
+ require 'ransack'
4
+ require 'paper_trail'
5
+ require 'paper_trail-association_tracking'
6
+
1
7
  module TrustyCms
2
8
  class Engine < Rails::Engine
3
9
  isolate_namespace TrustyCms
@@ -19,8 +25,3 @@ module TrustyCms
19
25
  end
20
26
  end
21
27
  end
22
-
23
- require 'ckeditor'
24
- require 'devise'
25
- require 'ransack'
26
-
@@ -1,4 +1,4 @@
1
1
  module TrustyCms
2
- VERSION = '7.0.7'.freeze
2
+ VERSION = '7.0.8'.freeze
3
3
  end
4
4
 
@@ -10,8 +10,8 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
14
- create_table "active_storage_attachments", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
13
+ ActiveRecord::Schema[7.0].define(version: 2025_01_03_191134) do
14
+ create_table "active_storage_attachments", charset: "utf8", force: :cascade do |t|
15
15
  t.string "name", null: false
16
16
  t.string "record_type", null: false
17
17
  t.bigint "record_id", null: false
@@ -21,7 +21,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
21
21
  t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true
22
22
  end
23
23
 
24
- create_table "active_storage_blobs", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
24
+ create_table "active_storage_blobs", charset: "utf8", force: :cascade do |t|
25
25
  t.string "key", null: false
26
26
  t.string "filename", null: false
27
27
  t.string "content_type"
@@ -33,13 +33,13 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
33
33
  t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true
34
34
  end
35
35
 
36
- create_table "active_storage_variant_records", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
36
+ create_table "active_storage_variant_records", charset: "utf8", force: :cascade do |t|
37
37
  t.bigint "blob_id", null: false
38
38
  t.string "variation_digest", null: false
39
39
  t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true
40
40
  end
41
41
 
42
- create_table "admins", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
42
+ create_table "admins", charset: "utf8", force: :cascade do |t|
43
43
  t.string "email", default: "", null: false
44
44
  t.string "encrypted_password", default: "", null: false
45
45
  t.string "reset_password_token"
@@ -69,14 +69,14 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
69
69
  t.datetime "updated_at", precision: nil, null: false
70
70
  end
71
71
 
72
- create_table "admins_sites", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
72
+ create_table "admins_sites", charset: "utf8", force: :cascade do |t|
73
73
  t.integer "admin_id", null: false
74
74
  t.integer "site_id", null: false
75
75
  t.index ["admin_id"], name: "index_admins_sites_on_admin_id"
76
76
  t.index ["site_id"], name: "index_admins_sites_on_site_id"
77
77
  end
78
78
 
79
- create_table "assets", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
79
+ create_table "assets", charset: "utf8", force: :cascade do |t|
80
80
  t.string "caption"
81
81
  t.string "title"
82
82
  t.string "asset_file_name"
@@ -92,19 +92,19 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
92
92
  t.string "original_extension"
93
93
  end
94
94
 
95
- create_table "config", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
95
+ create_table "config", charset: "utf8", force: :cascade do |t|
96
96
  t.string "key", limit: 40, default: "", null: false
97
97
  t.string "value", default: ""
98
98
  t.index ["key"], name: "key", unique: true
99
99
  end
100
100
 
101
- create_table "extension_meta", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
101
+ create_table "extension_meta", charset: "utf8", force: :cascade do |t|
102
102
  t.string "name"
103
103
  t.integer "schema_version", default: 0
104
104
  t.boolean "enabled", default: true
105
105
  end
106
106
 
107
- create_table "layouts", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
107
+ create_table "layouts", charset: "utf8", force: :cascade do |t|
108
108
  t.string "name", limit: 100
109
109
  t.text "content"
110
110
  t.datetime "created_at", precision: nil
@@ -116,20 +116,20 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
116
116
  t.integer "site_id"
117
117
  end
118
118
 
119
- create_table "page_attachments", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
119
+ create_table "page_attachments", charset: "utf8", force: :cascade do |t|
120
120
  t.integer "asset_id"
121
121
  t.integer "page_id"
122
122
  t.integer "position"
123
123
  end
124
124
 
125
- create_table "page_fields", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
125
+ create_table "page_fields", charset: "utf8", force: :cascade do |t|
126
126
  t.integer "page_id"
127
127
  t.string "name"
128
128
  t.string "content"
129
129
  t.index ["page_id", "name", "content"], name: "index_page_fields_on_page_id_and_name_and_content"
130
130
  end
131
131
 
132
- create_table "page_parts", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
132
+ create_table "page_parts", charset: "utf8", force: :cascade do |t|
133
133
  t.string "name", limit: 100
134
134
  t.string "filter_id", limit: 25
135
135
  t.text "content", size: :medium
@@ -137,7 +137,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
137
137
  t.index ["page_id", "name"], name: "parts_by_page"
138
138
  end
139
139
 
140
- create_table "pages", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
140
+ create_table "pages", charset: "utf8", force: :cascade do |t|
141
141
  t.string "title"
142
142
  t.string "slug", limit: 100
143
143
  t.string "breadcrumb", limit: 160
@@ -162,7 +162,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
162
162
  t.index ["virtual", "status_id"], name: "pages_published"
163
163
  end
164
164
 
165
- create_table "sessions", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
165
+ create_table "sessions", charset: "utf8", force: :cascade do |t|
166
166
  t.string "session_id"
167
167
  t.text "data"
168
168
  t.datetime "updated_at", precision: nil
@@ -170,7 +170,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
170
170
  t.index ["updated_at"], name: "index_sessions_on_updated_at"
171
171
  end
172
172
 
173
- create_table "sites", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
173
+ create_table "sites", charset: "utf8", force: :cascade do |t|
174
174
  t.string "name"
175
175
  t.string "domain"
176
176
  t.integer "homepage_id"
@@ -184,7 +184,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
184
184
  t.string "base_domain"
185
185
  end
186
186
 
187
- create_table "snippets", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
187
+ create_table "snippets", charset: "utf8", force: :cascade do |t|
188
188
  t.string "name", limit: 100, default: "", null: false
189
189
  t.string "filter_id", limit: 25
190
190
  t.text "content"
@@ -197,7 +197,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
197
197
  t.index ["name", "site_id"], name: "name_site_id", unique: true
198
198
  end
199
199
 
200
- create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
200
+ create_table "users", charset: "utf8", force: :cascade do |t|
201
201
  t.string "name", limit: 100
202
202
  t.string "email"
203
203
  t.string "login", limit: 40, default: "", null: false
@@ -218,6 +218,27 @@ ActiveRecord::Schema[7.0].define(version: 2024_11_08_172942) do
218
218
  t.datetime "password_reset_sent_at", precision: nil
219
219
  end
220
220
 
221
+ create_table "version_associations", charset: "utf8", force: :cascade do |t|
222
+ t.integer "version_id"
223
+ t.string "foreign_key_name", null: false
224
+ t.integer "foreign_key_id"
225
+ t.string "foreign_type"
226
+ t.index ["foreign_key_name", "foreign_key_id", "foreign_type"], name: "index_version_associations_on_foreign_key"
227
+ t.index ["version_id"], name: "index_version_associations_on_version_id"
228
+ end
229
+
230
+ create_table "versions", charset: "utf8mb4", force: :cascade do |t|
231
+ t.string "whodunnit"
232
+ t.datetime "created_at"
233
+ t.bigint "item_id", null: false
234
+ t.string "item_type", limit: 191, null: false
235
+ t.string "event", null: false
236
+ t.text "object", size: :long
237
+ t.integer "transaction_id"
238
+ t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
239
+ t.index ["transaction_id"], name: "index_versions_on_transaction_id"
240
+ end
241
+
221
242
  add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id"
222
243
  add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
223
244
  end
data/trusty_cms.gemspec CHANGED
@@ -43,6 +43,8 @@ a general purpose content management system--not merely a blogging engine.'
43
43
  s.add_dependency 'mini_racer'
44
44
  s.add_dependency 'mutex_m'
45
45
  s.add_dependency 'mysql2'
46
+ s.add_dependency 'paper_trail', '~> 16.0.0'
47
+ s.add_dependency 'paper_trail-association_tracking', '~> 2.2.1'
46
48
  s.add_dependency 'rack', '>= 2.0.1', '< 3.2.0'
47
49
  s.add_dependency 'rack-cache', '~> 1.7'
48
50
  s.add_dependency 'radius', '~> 0.7'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trusty-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.7
4
+ version: 7.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - TrustyCms CMS dev team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-08 00:00:00.000000000 Z
11
+ date: 2025-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activestorage-validator
@@ -292,6 +292,34 @@ dependencies:
292
292
  - - ">="
293
293
  - !ruby/object:Gem::Version
294
294
  version: '0'
295
+ - !ruby/object:Gem::Dependency
296
+ name: paper_trail
297
+ requirement: !ruby/object:Gem::Requirement
298
+ requirements:
299
+ - - "~>"
300
+ - !ruby/object:Gem::Version
301
+ version: 16.0.0
302
+ type: :runtime
303
+ prerelease: false
304
+ version_requirements: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - "~>"
307
+ - !ruby/object:Gem::Version
308
+ version: 16.0.0
309
+ - !ruby/object:Gem::Dependency
310
+ name: paper_trail-association_tracking
311
+ requirement: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - "~>"
314
+ - !ruby/object:Gem::Version
315
+ version: 2.2.1
316
+ type: :runtime
317
+ prerelease: false
318
+ version_requirements: !ruby/object:Gem::Requirement
319
+ requirements:
320
+ - - "~>"
321
+ - !ruby/object:Gem::Version
322
+ version: 2.2.1
295
323
  - !ruby/object:Gem::Dependency
296
324
  name: rack
297
325
  requirement: !ruby/object:Gem::Requirement
@@ -790,6 +818,7 @@ files:
790
818
  - app/views/admin/pages/_meta_row.html.haml
791
819
  - app/views/admin/pages/_node.html.haml
792
820
  - app/views/admin/pages/_popups.html.haml
821
+ - app/views/admin/pages/_previous_versions.haml
793
822
  - app/views/admin/pages/children.html.haml
794
823
  - app/views/admin/pages/edit.html.haml
795
824
  - app/views/admin/pages/index.html.haml