udongo 2.0.4 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/backend/application.js +1 -0
  3. data/app/assets/javascripts/backend/bootstrap.js +3 -3569
  4. data/app/assets/javascripts/backend/tree.js +106 -65
  5. data/app/assets/stylesheets/backend/application.scss +2 -0
  6. data/app/assets/stylesheets/backend/bootstrap.scss +29 -51
  7. data/app/assets/stylesheets/backend/components/_page_tree.scss +9 -0
  8. data/app/assets/stylesheets/backend/custom.scss +0 -0
  9. data/app/assets/stylesheets/backend/font-awesome.scss +644 -1977
  10. data/app/assets/stylesheets/backend/udongo.scss +1 -0
  11. data/app/controllers/backend/admins_controller.rb +2 -2
  12. data/app/controllers/{backend_controller.rb → backend/base_controller.rb} +13 -5
  13. data/app/controllers/backend/content/rows/columns_controller.rb +1 -1
  14. data/app/controllers/backend/content/rows/images_controller.rb +1 -1
  15. data/app/controllers/backend/content/rows/texts_controller.rb +1 -1
  16. data/app/controllers/backend/content/rows_controller.rb +1 -1
  17. data/app/controllers/backend/dashboard_controller.rb +1 -1
  18. data/app/controllers/backend/email_templates_controller.rb +12 -12
  19. data/app/controllers/backend/emails_controller.rb +1 -1
  20. data/app/controllers/backend/navigation/items_controller.rb +9 -11
  21. data/app/controllers/backend/navigations_controller.rb +1 -1
  22. data/app/controllers/backend/pages_controller.rb +17 -39
  23. data/app/controllers/backend/redirects_controller.rb +1 -1
  24. data/app/controllers/backend/seo_controller.rb +1 -1
  25. data/app/controllers/backend/sessions_controller.rb +1 -1
  26. data/app/controllers/backend/snippets_controller.rb +14 -13
  27. data/app/controllers/backend/tagbox_controller.rb +1 -1
  28. data/app/controllers/catch_all_controller.rb +1 -1
  29. data/app/controllers/concerns/backend/content_type_controller.rb +3 -1
  30. data/app/controllers/redirects_controller.rb +1 -1
  31. data/app/decorators/page_decorator.rb +1 -4
  32. data/app/forms/backend/email_template_translation_form.rb +1 -23
  33. data/app/forms/backend/navigation_item_translation_form.rb +1 -23
  34. data/app/forms/backend/page_translation_form.rb +13 -18
  35. data/app/forms/backend/snippet_translation_form.rb +1 -23
  36. data/app/forms/backend/translation_form.rb +22 -0
  37. data/app/helpers/udongo_helper.rb +0 -4
  38. data/app/mailers/general_mailer.rb +14 -4
  39. data/app/models/admin.rb +2 -2
  40. data/app/models/comment.rb +1 -2
  41. data/app/models/concerns/addressable.rb +40 -0
  42. data/app/models/concerns/addressable/config.rb +33 -0
  43. data/app/models/concerns/cacheable.rb +1 -1
  44. data/app/models/email.rb +2 -2
  45. data/app/models/email_template.rb +2 -1
  46. data/app/views/backend/_general_form_error.html.erb +6 -0
  47. data/app/views/backend/admins/_form.html.erb +3 -0
  48. data/app/views/backend/content/rows/columns/_dimension_fields.html.erb +3 -0
  49. data/app/views/backend/content/rows/columns/edit.html.erb +3 -5
  50. data/app/views/backend/content/rows/columns/new.html.erb +3 -5
  51. data/app/views/backend/content/rows/images/edit.html.erb +2 -0
  52. data/app/views/backend/dashboard/show.html.erb +1 -1
  53. data/app/views/backend/email_templates/_form.html.erb +29 -7
  54. data/app/views/backend/email_templates/_tabs.html.erb +1 -1
  55. data/app/views/backend/email_templates/edit_translation.html.erb +1 -0
  56. data/app/views/backend/navigation/items/_form.html.erb +4 -2
  57. data/app/views/backend/navigation/items/_tabs.html.erb +1 -1
  58. data/app/views/backend/navigation/items/edit_translation.html.erb +1 -0
  59. data/app/views/backend/pages/_form.html.erb +4 -2
  60. data/app/views/backend/pages/_tabs.html.erb +1 -1
  61. data/app/views/backend/pages/edit_translation.html.erb +1 -0
  62. data/app/views/backend/redirects/_form.html.erb +2 -0
  63. data/app/views/backend/snippets/_form.html.erb +3 -1
  64. data/app/views/backend/snippets/_tabs.html.erb +1 -1
  65. data/app/views/backend/snippets/edit.html.erb +1 -1
  66. data/app/views/backend/snippets/edit_translation.html.erb +1 -0
  67. data/app/views/backend/snippets/new.html.erb +1 -1
  68. data/app/views/layouts/backend/_top_navigation.html.erb +1 -2
  69. data/changelog.md +38 -0
  70. data/config/initializers/simple_form_bootstrap.rb +13 -9
  71. data/config/locales/en_backend.yml +1 -4
  72. data/config/locales/en_forms.yml +3 -0
  73. data/config/locales/nl_backend.yml +3 -4
  74. data/config/locales/nl_forms.yml +3 -0
  75. data/config/routes.rb +5 -7
  76. data/db/migrate/20160815100903_remove_form_models.rb +9 -0
  77. data/db/migrate/20161014135637_add_category_to_admin.rb +5 -0
  78. data/db/migrate/20161029124558_add_locale_to_admin.rb +6 -0
  79. data/db/migrate/20161029130557_add_bcc_and_cc_to_email_templates.rb +6 -0
  80. data/db/migrate/20161029171056_add_ccc_and_bcc_to_email.rb +6 -0
  81. data/lib/udongo/configs/flexible_content.rb +7 -0
  82. data/lib/udongo/configs/i18n.rb +5 -3
  83. data/lib/udongo/configs/i18ns/app.rb +12 -0
  84. data/lib/udongo/configs/i18ns/cms.rb +12 -0
  85. data/lib/udongo/flexible_content/column_width_calculator.rb +4 -2
  86. data/lib/udongo/pages/tree.rb +15 -0
  87. data/lib/udongo/pages/tree_node.rb +43 -0
  88. data/lib/udongo/version.rb +1 -1
  89. data/readme.md +103 -43
  90. data/vendor/assets/javascripts/backend/select2.min.js +3 -0
  91. data/vendor/assets/stylesheets/backend/jstree/default/style.scss +3 -3
  92. data/vendor/assets/stylesheets/backend/select2.min.scss +1 -0
  93. metadata +22 -30
  94. data/app/controllers/backend/forms/base_controller.rb +0 -14
  95. data/app/controllers/backend/forms/submissions_controller.rb +0 -8
  96. data/app/controllers/backend/forms_controller.rb +0 -7
  97. data/app/controllers/backend/webserver_controller.rb +0 -6
  98. data/app/decorators/form_decorator.rb +0 -16
  99. data/app/decorators/form_submission_decorator.rb +0 -3
  100. data/app/forms/backend/email_template_form.rb +0 -38
  101. data/app/forms/backend/navigation_item_form.rb +0 -23
  102. data/app/forms/backend/page_form.rb +0 -26
  103. data/app/forms/backend/snippet_form.rb +0 -35
  104. data/app/models/form.rb +0 -10
  105. data/app/models/form_field.rb +0 -15
  106. data/app/models/form_field_validation.rb +0 -11
  107. data/app/models/form_submission.rb +0 -15
  108. data/app/models/form_submission_data.rb +0 -5
  109. data/app/views/backend/_form_errors.html.erb +0 -15
  110. data/app/views/backend/forms/index.html.erb +0 -27
  111. data/app/views/backend/forms/submissions/_filter.html.erb +0 -16
  112. data/app/views/backend/forms/submissions/index.html.erb +0 -34
  113. data/lib/generators/udongo/form/form_generator.rb +0 -62
  114. data/lib/generators/udongo/form/templates/form.rb +0 -18
  115. data/lib/udongo/configs/forms.rb +0 -18
  116. data/lib/udongo/configs/routes.rb +0 -13
  117. data/lib/udongo/email_vars/form_submission.rb +0 -18
  118. data/lib/udongo/forms/submission_datagrid.rb +0 -27
  119. data/lib/udongo/forms/submission_filter.rb +0 -31
@@ -8,7 +8,7 @@
8
8
  <%= link_to t('b.general'), edit_backend_email_template_path(@model), class: klass %>
9
9
  </li>
10
10
 
11
- <% Udongo.config.i18n.locales.each do |locale| %>
11
+ <% Udongo.config.i18n.app.locales.each do |locale| %>
12
12
  <li class="nav-item">
13
13
  <% klass = %w(nav-link) %>
14
14
  <% klass << 'active' if active == locale.to_sym %>
@@ -3,6 +3,7 @@
3
3
  <%= render 'backend/breadcrumbs' %>
4
4
 
5
5
  <%= render 'backend/email_templates/tabs', active: params[:translation_locale].to_sym %>
6
+ <%= render 'backend/general_form_error', object: @translation %>
6
7
 
7
8
  <%= simple_form_for([:backend, @translation], url: edit_translation_backend_email_template_path) do |f| %>
8
9
 
@@ -1,4 +1,6 @@
1
- <%= simple_form_for(@form, url: url) do |f| %>
1
+ <%= render 'backend/general_form_error', object: @model %>
2
+
3
+ <%= simple_form_for(@model, url: url) do |f| %>
2
4
  <div class="card">
3
5
  <div class="card-header">
4
6
  <%= t 'b.general' %>
@@ -7,7 +9,7 @@
7
9
  <div class="card-block">
8
10
  <div class="row">
9
11
  <div class="col-md-6">
10
- <%= f.input :page_id, collection: @form.navigation_item.options_for_page, include_blank: true %>
12
+ <%= f.input :page_id, collection: @model.options_for_page, include_blank: true %>
11
13
  </div>
12
14
 
13
15
  <div class="col-md-6">
@@ -8,7 +8,7 @@
8
8
  <%= link_to t('b.general'), edit_backend_navigation_item_path(@navigation, @model), class: klass %>
9
9
  </li>
10
10
 
11
- <% Udongo.config.i18n.locales.each do |locale| %>
11
+ <% Udongo.config.i18n.app.locales.each do |locale| %>
12
12
  <li class="nav-item">
13
13
  <% klass = %w(nav-link) %>
14
14
  <% klass << 'active' if active == locale.to_sym %>
@@ -4,6 +4,7 @@
4
4
  <%= render 'backend/breadcrumbs' %>
5
5
 
6
6
  <%= render 'backend/navigation/items/tabs', active: params[:translation_locale].to_sym %>
7
+ <%= render 'backend/general_form_error', object: @translation %>
7
8
 
8
9
  <%= simple_form_for(@translation, url: edit_translation_backend_navigation_item_path) do |f| %>
9
10
  <div class="card">
@@ -1,4 +1,6 @@
1
- <%= simple_form_for [:backend, @form] do |f| %>
1
+ <%= render 'backend/general_form_error', object: @model %>
2
+
3
+ <%= simple_form_for [:backend, @model] do |f| %>
2
4
  <div class="row">
3
5
  <div class="col-md-8">
4
6
  <div class="card">
@@ -8,7 +10,7 @@
8
10
 
9
11
  <div class="card-block">
10
12
  <%= f.input :description %>
11
- <%= f.input :parent_id, collection: @form.page.options_for_parents, disabled: 1 %>
13
+ <%= f.input :parent_id, collection: @model.options_for_parents, disabled: 1 %>
12
14
  </div>
13
15
  </div>
14
16
  </div>
@@ -8,7 +8,7 @@
8
8
  <%= link_to t('b.general'), edit_backend_page_path(@model), class: klass %>
9
9
  </li>
10
10
 
11
- <% Udongo.config.i18n.locales.each do |locale| %>
11
+ <% Udongo.config.i18n.app.locales.each do |locale| %>
12
12
  <li class="nav-item">
13
13
  <% klass = %w(nav-link) %>
14
14
  <% klass << 'active' if active == locale.to_sym %>
@@ -3,6 +3,7 @@
3
3
  <%= render 'backend/breadcrumbs' %>
4
4
 
5
5
  <%= render 'backend/pages/tabs', active: params[:translation_locale].to_sym %>
6
+ <%= render 'backend/general_form_error', object: @translation %>
6
7
 
7
8
  <%= simple_form_for([:backend, @translation], url: edit_translation_backend_page_path, html: { class: 'no-focus' }) do |f| %>
8
9
 
@@ -1,3 +1,5 @@
1
+ <%= render 'backend/general_form_error', object: model %>
2
+
1
3
  <%= simple_form_for [:backend, model] do |f| %>
2
4
  <div class="row">
3
5
  <div class="col-md-6">
@@ -1,4 +1,6 @@
1
- <%= simple_form_for [:backend, @form] do |f| %>
1
+ <%= render 'backend/general_form_error', object: @model %>
2
+
3
+ <%= simple_form_for [:backend, @model] do |f| %>
2
4
  <div class="row">
3
5
  <div class="col-md-6">
4
6
  <div class="card">
@@ -8,7 +8,7 @@
8
8
  <%= link_to t('b.general'), edit_backend_snippet_path(@model), class: klass %>
9
9
  </li>
10
10
 
11
- <% Udongo.config.i18n.locales.each do |locale| %>
11
+ <% Udongo.config.i18n.app.locales.each do |locale| %>
12
12
  <li class="nav-item">
13
13
  <% klass = %w(nav-link) %>
14
14
  <% klass << 'active' if active == locale.to_sym %>
@@ -3,4 +3,4 @@
3
3
  <%= render 'backend/breadcrumbs' %>
4
4
 
5
5
  <%= render 'backend/snippets/tabs', active: :general %>
6
- <%= render 'backend/snippets/form' %>
6
+ <%= render 'backend/snippets/form', identifier: false %>
@@ -3,6 +3,7 @@
3
3
  <%= render 'backend/breadcrumbs' %>
4
4
 
5
5
  <%= render 'backend/snippets/tabs', active: params[:translation_locale].to_sym %>
6
+ <%= render 'backend/general_form_error', object: @translation %>
6
7
 
7
8
  <%= simple_form_for([:backend, @translation], url: edit_translation_backend_snippet_path) do |f| %>
8
9
 
@@ -1,4 +1,4 @@
1
1
  <% breadcrumb.add t('b.add') %>
2
2
  <%= render 'backend/breadcrumbs' %>
3
3
 
4
- <%= render 'backend/snippets/form' %>
4
+ <%= render 'form' %>
@@ -3,7 +3,6 @@
3
3
  <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false"><%= icon(:list, t('b.content')) %></a>
4
4
  <div class="dropdown-menu">
5
5
  <%= link_to t('b.pages'), backend_pages_path, class: 'dropdown-item' %>
6
- <%= link_to t('b.forms'), backend_forms_path, class: 'dropdown-item' %>
7
6
  <%= link_to t('b.snippets'), backend_snippets_path, class: 'dropdown-item' %>
8
7
  </div>
9
8
  </li>
@@ -14,7 +13,7 @@
14
13
  <%= link_to t('b.navigation'), backend_navigations_path, class: 'dropdown-item' %>
15
14
  <%= link_to t('b.admins'), backend_admins_path, class: 'dropdown-item' %>
16
15
  <%= link_to t('b.redirects'), backend_redirects_path, class: 'dropdown-item' %>
17
- <%= link_to t('b.email'), backend_emails_path, class: 'dropdown-item' %>
16
+ <%= link_to t('b.emails'), backend_emails_path, class: 'dropdown-item' %>
18
17
  <%= link_to t('b.email_templates'), backend_email_templates_path, class: 'dropdown-item' %>
19
18
  </div>
20
19
  </li>
data/changelog.md CHANGED
@@ -1,3 +1,41 @@
1
+ 3.0.0 - 2017-01-13
2
+ --
3
+ * Because of the complex structure and no actual necessity, the form models and
4
+ their related code have been cut.
5
+ * You can now set the list of breakpoints you want to have visible for the
6
+ flexible content. In most cases the xs and xl don't need to clutter the
7
+ interface, so now you can hide them.
8
+ * Added specs for all routes.
9
+ * Add concern to easily use multiple addresses for a single model.
10
+ * The BackendController has been renamed and moved to Backend::BaseController.
11
+ * Update Bootstrap to v4.0.0-alpha.4
12
+ * Tweak the styles for the simple form initializer.
13
+ * Pages marked as invisible are now visibly distinguished from visible pages. Fixes #9
14
+ * Add spec/support and spec/factories to the gem.
15
+ * The i18n configuration has been split in 'app' and 'cms'. You can now
16
+ configure the cms interface locale(s) indepent of the app locale(s).
17
+ * An admin can now choose his interface locale.
18
+ * Add cc/bcc to the email templates and sent emails.
19
+ * The general mailer has been expanded so it's easier to override the headers.
20
+ * Added new contextmenu options for making pages (in)visible through the tree.
21
+ * Add (and load) the select2 js lib in the backend.
22
+ * After adding or editing content in a certain locale, redirect to the correct
23
+ locale.
24
+ * The dashboard template no longer contains dashboard#show.
25
+ * You can now add your custom css to app/assets/stylesheets/backend/custom.scss
26
+ * When a backend form has 1 or more errors, you will now see a general error.
27
+ * The `prefix_with_locale` setting has been removed because it's always true.
28
+ * The webserver restart button/action has been removed.
29
+ * The following form objects have been removed in favor of the model:
30
+ - EmailTemplateForm
31
+ - NavigationItemForm
32
+ - PageForm
33
+ - SnippetForm
34
+ * A `Backend::TranslationForm` has been added. This makes it a whole lot easier
35
+ to create translation forms for your models.
36
+ * Feature tests have been added for most of the basic functionality.
37
+
38
+
1
39
  2.0.4 - 2016-08-15
2
40
  --
3
41
  * Fix issue with resizing pictures in the CKEditor picture uploader.
@@ -30,26 +30,30 @@ SimpleForm.setup do |config|
30
30
  b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
31
31
  end
32
32
 
33
- config.wrappers :vertical_boolean, tag: 'div', class: 'checkbox', error_class: 'has-danger' do |b|
33
+ config.wrappers :vertical_boolean, tag: 'div', class: 'form-check', error_class: 'has-danger' do |b|
34
34
  b.use :html5
35
35
  b.optional :readonly
36
36
 
37
- b.wrapper tag: 'label' do |ba|
38
- ba.use :input
37
+ b.wrapper tag: :label, class: 'form-check-label' do |ba|
38
+ ba.use :input, class: 'form-check-input'
39
39
  ba.use :label_text
40
40
  end
41
41
 
42
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
43
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
42
+ b.use :error, wrap_with: { tag: 'div', class: 'form-control-feedback' }
43
+ b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
44
44
  end
45
45
 
46
46
  config.wrappers :vertical_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-danger' do |b|
47
47
  b.use :html5
48
48
  b.optional :readonly
49
- b.use :label, class: 'control-label'
50
- b.use :input
51
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
52
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
49
+
50
+ b.wrapper tag: :label, class: 'form-check-label' do |ba|
51
+ ba.use :input, class: 'form-check-input'
52
+ ba.use :label_text
53
+ end
54
+
55
+ b.use :error, wrap_with: { tag: 'div', class: 'form-control-feedback' }
56
+ b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
53
57
  end
54
58
 
55
59
  config.wrappers :horizontal_form, tag: 'div', class: 'form-group', error_class: 'has-danger' do |b|
@@ -24,7 +24,6 @@ en:
24
24
  filter: Filter
25
25
  first_name: First name
26
26
  flexible_content: Flexible content
27
- forms: Forms
28
27
  from: From
29
28
  general: General
30
29
  house_number: House number
@@ -47,7 +46,6 @@ en:
47
46
  recipient: Recipient
48
47
  redirect: Redirect
49
48
  redirects: Redirects
50
- restart_webserver: Restart webserver
51
49
  save: Save
52
50
  search: Search
53
51
  sender: Sender
@@ -90,6 +88,7 @@ en:
90
88
  edit_text: Edit text
91
89
  explanation: With this module you can create flexible responsive content. Click the button below to create the first row.
92
90
  forgot_password: Forgot password?
91
+ general_form_error: Something went wrong. Please check the marked fields.
93
92
  help_texts:
94
93
  status_code: More info about the use of status codes.
95
94
  incorrect_login: Incorret login credentials.
@@ -102,5 +101,3 @@ en:
102
101
  '301': 301 (Moved Permanently)
103
102
  '303': 303 (See Other)
104
103
  '307': 307 (Temporary Redirect)
105
- webserver:
106
- restarted: The webserver was restarted.
@@ -13,8 +13,10 @@ en:
13
13
 
14
14
  labels:
15
15
  defaults:
16
+ bcc: BCC
16
17
  caption: Caption
17
18
  category: Category
19
+ cc: CC
18
20
  content: Content
19
21
  description: Description
20
22
  disabled: Disabled
@@ -25,6 +27,7 @@ en:
25
27
  identifier: Internal name
26
28
  label: Label
27
29
  last_name: Last name
30
+ locale: Locale
28
31
  message: Message
29
32
  name: Name
30
33
  password: Password
@@ -24,7 +24,6 @@ nl:
24
24
  filter: Filter
25
25
  first_name: Voornaam
26
26
  flexible_content: Flexibele inhoud
27
- forms: Formulieren
28
27
  from: Van
29
28
  general: Algemeen
30
29
  house_number: Huisnummer
@@ -47,7 +46,6 @@ nl:
47
46
  recipient: Bestemmeling
48
47
  redirect: Redirect
49
48
  redirects: Redirects
50
- restart_webserver: Webserver herstarten
51
49
  save: Opslaan
52
50
  search: Zoeken
53
51
  sender: Afzender
@@ -90,17 +88,18 @@ nl:
90
88
  edit_text: Tekst bewerken
91
89
  explanation: Met deze module kan je flexibele, responsive inhoud toevoegen. Klik op onderstaande knop om een eerste rij toe te voegen.
92
90
  forgot_password: Wachtwoord vergeten?
91
+ general_form_error: Er trad een fout op. Controleer de gemarkeerde velden.
93
92
  help_texts:
94
93
  status_code: Meer info over het gebruik van status codes
95
94
  incorrect_login: Ongeldige login gegevens.
96
95
  navigation:
97
96
  custom: Op maat
98
97
  no_items: Er zijn geen items.
98
+ pages:
99
+ invisible: Deze pagina is niet zichtbaar op de website.
99
100
  saved: '%{actor} werd bewaard.'
100
101
  seo: SEO
101
102
  status_codes:
102
103
  '301': 301 (Moved Permanently)
103
104
  '303': 303 (See Other)
104
105
  '307': 307 (Temporary Redirect)
105
- webserver:
106
- restarted: De webserver werd opnieuw opgestart
@@ -13,8 +13,10 @@ nl:
13
13
 
14
14
  labels:
15
15
  defaults:
16
+ bcc: BCC
16
17
  caption: Beschrijving
17
18
  category: Categorie
19
+ cc: CC
18
20
  content: Inhoud
19
21
  description: Beschrijving
20
22
  disabled: Uitgeschakeld
@@ -25,6 +27,7 @@ nl:
25
27
  identifier: Interne naam
26
28
  label: Label
27
29
  last_name: Achternaam
30
+ locale: Taal
28
31
  message: Bericht
29
32
  name: Naam
30
33
  password: Wachtwoord
data/config/routes.rb CHANGED
@@ -14,18 +14,15 @@ Rails.application.routes.draw do
14
14
  end
15
15
 
16
16
  get '/' => 'dashboard#show'
17
- post 'restart_webserver' => 'webserver#restart'
18
17
 
19
18
  resources :sessions, only: [:new, :create, :destroy]
20
19
  resources :admins
21
20
 
22
21
  resources :pages, except: [:show] do
23
22
  concerns :translatable
24
- member { post :tree_drag_and_drop }
25
- end
26
-
27
- resources :forms do
28
- resources :submissions, controller: 'forms/submissions'
23
+ member do
24
+ post :tree_drag_and_drop, :toggle_visibility
25
+ end
29
26
  end
30
27
 
31
28
  resources :navigations, only: [:index] do
@@ -57,6 +54,7 @@ Rails.application.routes.draw do
57
54
  get 'html_content'
58
55
  end
59
56
  end
57
+
60
58
  resources :redirects, except: :show
61
59
 
62
60
  namespace :content do
@@ -64,7 +62,7 @@ Rails.application.routes.draw do
64
62
  concerns :positionable
65
63
 
66
64
  scope module: 'rows' do
67
- resources :columns do
65
+ resources :columns, except: [:index, :show] do
68
66
  concerns :positionable
69
67
  end
70
68
  end
@@ -0,0 +1,9 @@
1
+ class RemoveFormModels < ActiveRecord::Migration#[5.0]
2
+ def change
3
+ drop_table :forms
4
+ drop_table :form_fields
5
+ drop_table :form_field_validations
6
+ drop_table :form_submissions
7
+ drop_table :form_submission_data
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ class AddCategoryToAdmin < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :addresses, :category, :string, after: 'addressable_type'
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddLocaleToAdmin < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :admins, :locale, :string, after: 'id'
4
+ add_index :admins, :locale
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class AddBccAndCcToEmailTemplates < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :email_templates, :cc, :string, after: 'from_email'
4
+ add_column :email_templates, :bcc, :string, after: 'cc'
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class AddCccAndBccToEmail < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :emails, :cc, :string, after: 'to_email'
4
+ add_column :emails, :bcc, :string, after: 'cc'
5
+ end
6
+ end
@@ -3,7 +3,14 @@ module Udongo
3
3
  class FlexibleContent
4
4
  include Virtus.model
5
5
 
6
+ BREAKPOINTS = %w(xs sm md lg xl)
7
+
6
8
  attribute :types, Array, default: %w(text image)
9
+ attribute :allowed_breakpoints, Array, default: BREAKPOINTS
10
+
11
+ def allowed_breakpoint?(value)
12
+ allowed_breakpoints.include?(value.to_s)
13
+ end
7
14
  end
8
15
  end
9
16
  end