comfortable_mexican_sofa 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/assets/stylesheets/comfy/admin/cms/base.sass +1 -1
  4. data/app/controllers/comfy/admin/cms/revisions/base_controller.rb +47 -0
  5. data/app/controllers/comfy/admin/cms/revisions/layout_controller.rb +15 -0
  6. data/app/controllers/comfy/admin/cms/revisions/page_controller.rb +22 -0
  7. data/app/controllers/comfy/admin/cms/revisions/snippet_controller.rb +15 -0
  8. data/app/controllers/comfy/admin/cms/revisions/translation_controller.rb +23 -0
  9. data/app/views/comfy/admin/cms/layouts/edit.html.haml +2 -2
  10. data/app/views/comfy/admin/cms/pages/edit.html.haml +3 -4
  11. data/app/views/comfy/admin/cms/revisions/_sidebar.html.haml +2 -0
  12. data/app/views/comfy/admin/cms/revisions/show.html.haml +2 -3
  13. data/app/views/comfy/admin/cms/snippets/edit.html.haml +2 -3
  14. data/app/views/comfy/admin/cms/translations/_sidebar.html.haml +1 -1
  15. data/app/views/comfy/admin/cms/translations/edit.html.haml +3 -4
  16. data/config/environments/development.rb +2 -0
  17. data/config/environments/test.rb +2 -0
  18. data/config/locales/cs.yml +7 -12
  19. data/config/locales/da.yml +7 -12
  20. data/config/locales/de.yml +7 -12
  21. data/config/locales/en.yml +7 -12
  22. data/config/locales/es.yml +7 -12
  23. data/config/locales/fr.yml +7 -12
  24. data/config/locales/it.yml +7 -12
  25. data/config/locales/ja.yml +7 -12
  26. data/config/locales/nb.yml +7 -12
  27. data/config/locales/nl.yml +7 -12
  28. data/config/locales/pl.yml +7 -12
  29. data/config/locales/pt-BR.yml +7 -12
  30. data/config/locales/ru.yml +7 -12
  31. data/config/locales/sk.yml +7 -12
  32. data/config/locales/sv.yml +7 -12
  33. data/config/locales/tr.yml +7 -12
  34. data/config/locales/uk.yml +7 -12
  35. data/config/locales/zh-CN.yml +7 -12
  36. data/config/locales/zh-TW.yml +7 -12
  37. data/lib/comfortable_mexican_sofa/routes/cms_admin.rb +19 -14
  38. data/lib/comfortable_mexican_sofa/version.rb +1 -1
  39. data/test/controllers/comfy/admin/cms/revisions/layout_controller_test.rb +62 -0
  40. data/test/controllers/comfy/admin/cms/revisions/page_controller_test.rb +87 -0
  41. data/test/controllers/comfy/admin/cms/revisions/snippet_controller_test.rb +59 -0
  42. data/test/controllers/comfy/admin/cms/revisions/translation_controller_test.rb +69 -0
  43. data/test/gemfiles/Gemfile.rails.5.2 +1 -21
  44. data/test/integration/access_control_test.rb +9 -9
  45. metadata +12 -4
  46. data/app/controllers/comfy/admin/cms/revisions_controller.rb +0 -67
  47. data/test/controllers/comfy/admin/cms/revisions_controller_test.rb +0 -248
@@ -110,12 +110,6 @@ sk:
110
110
  title: Nové rozloženie
111
111
  edit:
112
112
  title: Úprava rozloženia
113
- revision: &revision
114
- zero: Žiadne revízie
115
- one: '%{count} revízia'
116
- few: '%{count} revízie'
117
- many: '%{count} revízií'
118
- other: '%{count} revízií'
119
113
  form:
120
114
  select_parent_layout: Zvoľte nadradené rozloženie
121
115
  select_app_layout: Zvoľte rozloženie aplikácie
@@ -145,8 +139,6 @@ sk:
145
139
  title: Nová stránka
146
140
  edit:
147
141
  title: Úprava stránky
148
- revision:
149
- <<: *revision
150
142
  form:
151
143
  select_target_page: Bez presmerovania
152
144
  preview: Náhľad
@@ -171,8 +163,6 @@ sk:
171
163
  title: New Translation
172
164
  edit:
173
165
  title: Editing Translation
174
- revision:
175
- <<: *revision
176
166
  form:
177
167
  preview: Preview
178
168
  create: Create
@@ -201,8 +191,6 @@ sk:
201
191
  title: Nový fragment
202
192
  edit:
203
193
  title: Upraviť fragment
204
- revision:
205
- <<: *revision
206
194
  form:
207
195
  create: Vytvoriť fragment
208
196
  cancel: Zrušiť
@@ -222,6 +210,13 @@ sk:
222
210
  changes: Zmeny
223
211
  previous: Predchádzajúca
224
212
  current: Súčasná
213
+ sidebar:
214
+ revision:
215
+ zero: Žiadne revízie
216
+ one: '%{count} revízia'
217
+ few: '%{count} revízie'
218
+ many: '%{count} revízií'
219
+ other: '%{count} revízií'
225
220
 
226
221
  files:
227
222
  created: Súbory nahrané
@@ -110,12 +110,6 @@ sv:
110
110
  title: Ny layout
111
111
  edit:
112
112
  title: Ändra layout
113
- revision: &revision
114
- zero: No Revisions
115
- one: '%{count} Revision'
116
- few: '%{count} Revisions'
117
- many: '%{count} Revisions'
118
- other: '%{count} Revisions'
119
113
  form:
120
114
  select_parent_layout: Välj överordnad layout
121
115
  select_app_layout: Väl Applikationslayout
@@ -145,8 +139,6 @@ sv:
145
139
  title: Ny sida
146
140
  edit:
147
141
  title: Ändra sida
148
- revision:
149
- <<: *revision
150
142
  form:
151
143
  select_target_page: Ingen vidarebefodring
152
144
  preview: Förhandsgranska
@@ -171,8 +163,6 @@ sv:
171
163
  title: New Translation
172
164
  edit:
173
165
  title: Editing Translation
174
- revision:
175
- <<: *revision
176
166
  form:
177
167
  preview: Preview
178
168
  create: Create
@@ -201,8 +191,6 @@ sv:
201
191
  title: Ny Snippet
202
192
  edit:
203
193
  title: Ändra Snippet
204
- revision:
205
- <<: *revision
206
194
  form:
207
195
  create: Skapa Snippet
208
196
  cancel: Avbryt
@@ -222,6 +210,13 @@ sv:
222
210
  changes: Changes
223
211
  previous: Previous
224
212
  current: Nuvarande
213
+ sidebar:
214
+ revision:
215
+ zero: No Revisions
216
+ one: '%{count} Revision'
217
+ few: '%{count} Revisions'
218
+ many: '%{count} Revisions'
219
+ other: '%{count} Revisions'
225
220
 
226
221
  files:
227
222
  created: Filer uppladdade
@@ -110,12 +110,6 @@ tr:
110
110
  title: Yeni Şablon
111
111
  edit:
112
112
  title: Şablon Düzenleniyor
113
- revision: &revision
114
- zero: Revize Yok
115
- one: '%{count} Revizyon'
116
- few: '%{count} Revizyon'
117
- many: '%{count} Revizyon'
118
- other: '%{count} Revizyon'
119
113
  form:
120
114
  select_parent_layout: Üst Şablon Seç
121
115
  select_app_layout: Uygulama Şablonu Seç
@@ -145,8 +139,6 @@ tr:
145
139
  title: Yeni Sayfa
146
140
  edit:
147
141
  title: Sayfa Düzenleniyor
148
- revision:
149
- <<: *revision
150
142
  form:
151
143
  select_target_page: Yönlendirme Yok
152
144
  preview: Önizle
@@ -171,8 +163,6 @@ tr:
171
163
  title: New Translation
172
164
  edit:
173
165
  title: Editing Translation
174
- revision:
175
- <<: *revision
176
166
  form:
177
167
  preview: Preview
178
168
  create: Create
@@ -201,8 +191,6 @@ tr:
201
191
  title: Yeni Pasaj
202
192
  edit:
203
193
  title: Pasaj Düzenleniyor
204
- revision:
205
- <<: *revision
206
194
  form:
207
195
  create: Pasaj Oluştur
208
196
  cancel: İptal
@@ -222,6 +210,13 @@ tr:
222
210
  changes: Değişiklikler
223
211
  previous: Önceki
224
212
  current: Şimdiki
213
+ sidebar:
214
+ revision:
215
+ zero: Revize Yok
216
+ one: '%{count} Revizyon'
217
+ few: '%{count} Revizyon'
218
+ many: '%{count} Revizyon'
219
+ other: '%{count} Revizyon'
225
220
 
226
221
  files:
227
222
  created: Dosyalar yüklendi
@@ -110,12 +110,6 @@ uk:
110
110
  title: Новий шаблон
111
111
  edit:
112
112
  title: Редагувати шаблон
113
- revision: &revision
114
- zero: Нeмa Ревізій
115
- one: '%{count} Ревізія'
116
- few: '%{count} Ревізій'
117
- many: '%{count} Ревізій'
118
- other: '%{count} Ревізій'
119
113
  form:
120
114
  select_parent_layout: Вибрати батьківский шаблон
121
115
  select_app_layout: Вибрати шаблон додатку
@@ -145,8 +139,6 @@ uk:
145
139
  title: Нова сторінка
146
140
  edit:
147
141
  title: Редагування сторінки
148
- revision:
149
- <<: *revision
150
142
  form:
151
143
  select_target_page: Без редіректу
152
144
  preview: Передперегляд
@@ -171,8 +163,6 @@ uk:
171
163
  title: New Translation
172
164
  edit:
173
165
  title: Editing Translation
174
- revision:
175
- <<: *revision
176
166
  form:
177
167
  preview: Preview
178
168
  create: Create
@@ -201,8 +191,6 @@ uk:
201
191
  title: Новий сніппет
202
192
  edit:
203
193
  title: Редагувати сніппет
204
- revision:
205
- <<: *revision
206
194
  form:
207
195
  create: Створити сніппет
208
196
  cancel: Cкасувати
@@ -222,6 +210,13 @@ uk:
222
210
  changes: Зміни
223
211
  previous: Попередній
224
212
  current: Поточний
213
+ sidebar:
214
+ revision:
215
+ zero: Нeмa Ревізій
216
+ one: '%{count} Ревізія'
217
+ few: '%{count} Ревізій'
218
+ many: '%{count} Ревізій'
219
+ other: '%{count} Ревізій'
225
220
 
226
221
  files:
227
222
  created: Файли завантажені
@@ -110,12 +110,6 @@ zh-CN:
110
110
  title: 新布局
111
111
  edit:
112
112
  title: 编辑布局
113
- revision: &revision
114
- zero: '%{count} 修订版本'
115
- one: '%{count} 修订版本'
116
- few: '%{count} 修订版本'
117
- many: '%{count} 修订版本'
118
- other: '%{count} 修订版本'
119
113
  form:
120
114
  select_parent_layout: 选择上级布局
121
115
  select_app_layout: 选择应用布局
@@ -145,8 +139,6 @@ zh-CN:
145
139
  title: 新页面
146
140
  edit:
147
141
  title: 编辑页面
148
- revision:
149
- <<: *revision
150
142
  form:
151
143
  select_target_page: 没有跳转
152
144
  preview: 预览
@@ -171,8 +163,6 @@ zh-CN:
171
163
  title: New Translation
172
164
  edit:
173
165
  title: Editing Translation
174
- revision:
175
- <<: *revision
176
166
  form:
177
167
  preview: Preview
178
168
  create: Create
@@ -201,8 +191,6 @@ zh-CN:
201
191
  title: 新片段
202
192
  edit:
203
193
  title: 编辑片段
204
- revision:
205
- <<: *revision
206
194
  form:
207
195
  create: 创建片段
208
196
  cancel: 取消
@@ -222,6 +210,13 @@ zh-CN:
222
210
  changes: Changes
223
211
  previous: Previous
224
212
  current: Current
213
+ sidebar:
214
+ revision:
215
+ zero: '%{count} 修订版本'
216
+ one: '%{count} 修订版本'
217
+ few: '%{count} 修订版本'
218
+ many: '%{count} 修订版本'
219
+ other: '%{count} 修订版本'
225
220
 
226
221
  files:
227
222
  created: 文件上传成功
@@ -110,12 +110,6 @@ zh-TW:
110
110
  title: 新佈局
111
111
  edit:
112
112
  title: 編輯佈局
113
- revision: &revision
114
- zero: '%{count} 修訂版本'
115
- one: '%{count} 修訂版本'
116
- few: '%{count} 修訂版本'
117
- many: '%{count} 修訂版本'
118
- other: '%{count} 修訂版本'
119
113
  form:
120
114
  select_parent_layout: 選擇上級佈局
121
115
  select_app_layout: 選擇應用佈局
@@ -145,8 +139,6 @@ zh-TW:
145
139
  title: 新頁面
146
140
  edit:
147
141
  title: 編輯頁面
148
- revision:
149
- <<: *revision
150
142
  form:
151
143
  select_target_page: 沒有跳轉
152
144
  preview: 預覽
@@ -171,8 +163,6 @@ zh-TW:
171
163
  title: New Translation
172
164
  edit:
173
165
  title: Editing Translation
174
- revision:
175
- <<: *revision
176
166
  form:
177
167
  preview: Preview
178
168
  create: Create
@@ -201,8 +191,6 @@ zh-TW:
201
191
  title: 新片段
202
192
  edit:
203
193
  title: 編輯片段
204
- revision:
205
- <<: *revision
206
194
  form:
207
195
  create: 創建片段
208
196
  cancel: 取消
@@ -222,6 +210,13 @@ zh-TW:
222
210
  changes: 變更
223
211
  previous: 先前
224
212
  current: 現在
213
+ sidebar:
214
+ revision:
215
+ zero: '%{count} 修訂版本'
216
+ one: '%{count} 修訂版本'
217
+ few: '%{count} 修訂版本'
218
+ many: '%{count} 修訂版本'
219
+ other: '%{count} 修訂版本'
225
220
 
226
221
  files:
227
222
  created: 文件上傳成功
@@ -6,8 +6,8 @@ class ActionDispatch::Routing::Mapper
6
6
  namespace :cms, as: :admin_cms, path: path, except: :show do
7
7
  get "/", to: "base#jump"
8
8
 
9
- concern :with_revisions do
10
- resources :revisions, only: [:index, :show, :revert] do
9
+ concern :with_revisions do |options|
10
+ resources :revisions, options.merge(only: [:index, :show]) do
11
11
  patch :revert, on: :member
12
12
  end
13
13
  end
@@ -21,25 +21,30 @@ class ActionDispatch::Routing::Mapper
21
21
  end
22
22
 
23
23
  resources :sites do
24
-
25
- concerns = [:with_revisions, :with_reorder, :with_form_fragments]
26
- resources :pages, concerns: concerns do
24
+ resources :pages do
25
+ concerns :with_reorder
26
+ concerns :with_form_fragments
27
+ concerns :with_revisions, controller: "revisions/page"
27
28
 
28
29
  get :toggle_branch, on: :member
29
30
 
30
- resources :translations,
31
- except: [:index],
32
- concerns: [:with_revisions, :with_form_fragments]
31
+ resources :translations, except: [:index] do
32
+ concerns :with_form_fragments
33
+ concerns :with_revisions, controller: "revisions/translation"
34
+ end
33
35
  end
34
36
 
35
- resources :files,
36
- concerns: [:with_reorder]
37
+ resources :files, concerns: [:with_reorder]
37
38
 
38
- resources :layouts,
39
- concerns: [:with_revisions, :with_reorder]
39
+ resources :layouts do
40
+ concerns :with_reorder
41
+ concerns :with_revisions, controller: "revisions/layout"
42
+ end
40
43
 
41
- resources :snippets,
42
- concerns: [:with_revisions, :with_reorder]
44
+ resources :snippets do
45
+ concerns :with_reorder
46
+ concerns :with_revisions, controller: "revisions/snippet"
47
+ end
43
48
 
44
49
  resources :categories
45
50
  end
@@ -1,3 +1,3 @@
1
1
  module ComfortableMexicanSofa
2
- VERSION = "2.0.1"
2
+ VERSION = "2.0.2"
3
3
  end
@@ -0,0 +1,62 @@
1
+ require_relative '../../../../../test_helper'
2
+
3
+ class Comfy::Admin::Cms::Revisions::LayoutControllerTest < ActionDispatch::IntegrationTest
4
+
5
+ setup do
6
+ @site = comfy_cms_sites(:default)
7
+ @layout = comfy_cms_layouts(:default)
8
+ @revision = comfy_cms_revisions(:layout)
9
+ end
10
+
11
+ def test_get_index
12
+ r :get, comfy_admin_cms_site_layout_revisions_path(@site, @layout)
13
+ assert_response :redirect
14
+ assert_redirected_to action: :show, id: @revision
15
+ end
16
+
17
+ def test_get_index_with_no_revisions
18
+ Comfy::Cms::Revision.delete_all
19
+ r :get, comfy_admin_cms_site_layout_revisions_path(@site, @layout)
20
+ assert_response :redirect
21
+ assert_redirected_to edit_comfy_admin_cms_site_layout_path(@site, @layout)
22
+ end
23
+
24
+ def test_get_show
25
+ r :get, comfy_admin_cms_site_layout_revision_path(@site, @layout, @revision)
26
+ assert_response :success
27
+ assert assigns(:record)
28
+ assert assigns(:revision)
29
+ assert assigns(:record).is_a?(Comfy::Cms::Layout)
30
+ assert_template :show
31
+ end
32
+
33
+ def test_get_show_for_invalid_record
34
+ r :get, comfy_admin_cms_site_layout_revision_path(@site, "invalid", @revision)
35
+ assert_response :redirect
36
+ assert_redirected_to comfy_admin_cms_site_layouts_path(@site)
37
+ assert_equal 'Record Not Found', flash[:danger]
38
+ end
39
+
40
+ def test_get_show_failure
41
+ r :get, comfy_admin_cms_site_layout_revision_path(@site, @layout, "invalid")
42
+ assert_response :redirect
43
+ assert assigns(:record)
44
+ assert_redirected_to edit_comfy_admin_cms_site_layout_path(@site, assigns(:record))
45
+ assert_equal 'Revision Not Found', flash[:danger]
46
+ end
47
+
48
+
49
+ def test_revert
50
+ assert_difference -> {@layout.revisions.count} do
51
+ r :patch, revert_comfy_admin_cms_site_layout_revision_path(@site, @layout, @revision)
52
+ assert_response :redirect
53
+ assert_redirected_to edit_comfy_admin_cms_site_layout_path(@site, @layout)
54
+ assert_equal 'Content Reverted', flash[:success]
55
+
56
+ @layout.reload
57
+ assert_equal 'revision {{cms:fragment content}}', @layout.content
58
+ assert_equal 'revision css', @layout.css
59
+ assert_equal 'revision js', @layout.js
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,87 @@
1
+ require_relative '../../../../../test_helper'
2
+
3
+ class Comfy::Admin::Cms::Revisions::PageControllerTest < ActionDispatch::IntegrationTest
4
+
5
+ setup do
6
+ @site = comfy_cms_sites(:default)
7
+ @page = comfy_cms_pages(:default)
8
+ @revision = comfy_cms_revisions(:page)
9
+ end
10
+
11
+ def test_get_index
12
+ r :get, comfy_admin_cms_site_page_revisions_path(@site, @page)
13
+ assert_response :redirect
14
+ assert_redirected_to action: :show, id: @revision
15
+ end
16
+
17
+ def test_get_index_with_no_revisions
18
+ Comfy::Cms::Revision.delete_all
19
+ r :get, comfy_admin_cms_site_page_revisions_path(@site, @page)
20
+ assert_response :redirect
21
+ assert_redirected_to edit_comfy_admin_cms_site_page_path(@site, @page)
22
+ end
23
+
24
+ def test_get_show
25
+ r :get, comfy_admin_cms_site_page_revision_path(@site, @page, @revision)
26
+ assert_response :success
27
+ assert assigns(:record)
28
+ assert assigns(:revision)
29
+ assert assigns(:record).is_a?(Comfy::Cms::Page)
30
+ assert_template :show
31
+ end
32
+
33
+ def test_get_show_for_invalid_record
34
+ r :get, comfy_admin_cms_site_page_revision_path(@site, "invalid", @revision)
35
+ assert_response :redirect
36
+ assert_redirected_to comfy_admin_cms_site_pages_path(@site)
37
+ assert_equal 'Record Not Found', flash[:danger]
38
+ end
39
+
40
+
41
+ def test_get_show_failure
42
+ r :get, comfy_admin_cms_site_page_revision_path(@site, @page, "invalid")
43
+ assert_response :redirect
44
+ assert assigns(:record)
45
+ assert_redirected_to edit_comfy_admin_cms_site_page_path(@site, assigns(:record))
46
+ assert_equal 'Revision Not Found', flash[:danger]
47
+ end
48
+
49
+ def test_revert
50
+ assert_difference -> {@page.revisions.count} do
51
+ r :patch, revert_comfy_admin_cms_site_page_revision_path(@site, @page, @revision)
52
+ assert_response :redirect
53
+ assert_redirected_to edit_comfy_admin_cms_site_page_path(@site, @page)
54
+ assert_equal 'Content Reverted', flash[:success]
55
+
56
+ @page.reload
57
+
58
+ assert_equal [
59
+ { identifier: "boolean",
60
+ tag: "checkbox",
61
+ content: nil,
62
+ datetime: nil,
63
+ boolean: true },
64
+ { identifier: "file",
65
+ tag: "file",
66
+ content: nil,
67
+ datetime: nil,
68
+ boolean: false },
69
+ { identifier: "datetime",
70
+ tag: "datetime",
71
+ content: nil,
72
+ datetime: comfy_cms_fragments(:datetime).datetime,
73
+ boolean: false },
74
+ { identifier: "content",
75
+ tag: "text",
76
+ content: "old content",
77
+ datetime: nil,
78
+ boolean: false },
79
+ { identifier: "title",
80
+ tag: "text",
81
+ content: "old title",
82
+ datetime: nil,
83
+ boolean: false }
84
+ ], @page.fragments_attributes
85
+ end
86
+ end
87
+ end