udongo 5.8.0 → 5.9.0

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/backend/general.js +1 -0
  3. data/app/assets/javascripts/backend/tree.js +2 -2
  4. data/app/controllers/backend/forms/base_controller.rb +9 -0
  5. data/app/controllers/backend/forms/fields_controller.rb +63 -0
  6. data/app/controllers/backend/forms/submissions_controller.rb +23 -0
  7. data/app/controllers/backend/forms_controller.rb +58 -0
  8. data/app/decorators/form_decorator.rb +7 -0
  9. data/app/decorators/form_submission_data_decorator.rb +9 -0
  10. data/app/forms/backend/form_field_translation_form.rb +8 -0
  11. data/app/forms/backend/form_translation_form.rb +7 -0
  12. data/app/helpers/link_helper.rb +21 -11
  13. data/app/models/form.rb +10 -0
  14. data/app/models/form_field.rb +13 -0
  15. data/app/models/form_submission.rb +19 -0
  16. data/app/models/form_submission_data.rb +17 -0
  17. data/app/views/backend/articles/index.html.erb +1 -1
  18. data/app/views/backend/email_templates/index.html.erb +1 -1
  19. data/app/views/backend/forms/_fields.html.erb +42 -0
  20. data/app/views/backend/forms/_form.html.erb +24 -0
  21. data/app/views/backend/forms/_tabs.html.erb +29 -0
  22. data/app/views/backend/forms/edit.html.erb +5 -0
  23. data/app/views/backend/forms/edit_translation.html.erb +20 -0
  24. data/app/views/backend/forms/fields/_form.html.erb +34 -0
  25. data/app/views/backend/forms/fields/_tabs.html.erb +21 -0
  26. data/app/views/backend/forms/fields/edit.html.erb +6 -0
  27. data/app/views/backend/forms/fields/edit_translation.html.erb +25 -0
  28. data/app/views/backend/forms/fields/index.html.erb +44 -0
  29. data/app/views/backend/forms/fields/new.html.erb +5 -0
  30. data/app/views/backend/forms/index.html.erb +51 -0
  31. data/app/views/backend/forms/new.html.erb +4 -0
  32. data/app/views/backend/forms/submissions/_form.html.erb +0 -0
  33. data/app/views/backend/forms/submissions/index.html.erb +40 -0
  34. data/app/views/backend/forms/submissions/show.html.erb +20 -0
  35. data/app/views/backend/navigations/index.html.erb +2 -2
  36. data/app/views/backend/snippets/index.html.erb +3 -3
  37. data/app/views/layouts/backend/_top_navigation.html.erb +1 -0
  38. data/changelog.md +11 -0
  39. data/config/locales/en_backend.yml +25 -0
  40. data/config/locales/en_forms.yml +3 -0
  41. data/config/locales/nl_backend.yml +25 -0
  42. data/config/locales/nl_forms.yml +4 -0
  43. data/config/routes.rb +9 -0
  44. data/db/migrate/20170407115044_readd_forms.rb +39 -0
  45. data/db/migrate/20170410115600_rename_name_to_identifier_for_form_field.rb +5 -0
  46. data/db/migrate/20170410120608_remove_placeholder_from_form_fields.rb +5 -0
  47. data/db/migrate/20170410121055_remove_default_value_from_form_fields.rb +5 -0
  48. data/db/migrate/20170411161008_add_validation_fields_to_form_fields.rb +6 -0
  49. data/lib/udongo/configs/forms.rb +18 -0
  50. data/lib/udongo/pages/tree_node.rb +1 -1
  51. data/lib/udongo/version.rb +1 -1
  52. data/spec/factories/form_fields.rb +7 -0
  53. data/spec/factories/form_submission_data.rb +7 -0
  54. data/spec/factories/form_submissions.rb +5 -0
  55. data/spec/factories/forms.rb +5 -0
  56. metadata +40 -2
@@ -20,10 +20,12 @@ en:
20
20
  category: Category
21
21
  cc: CC
22
22
  content: Content
23
+ default_value: Default value
23
24
  description: Description
24
25
  disabled: Disabled
25
26
  email: E-mail
26
27
  extra: Extra
28
+ field_type: Field type
27
29
  first_name: First name
28
30
  html_content: HTML content
29
31
  identifier: Internal name
@@ -37,6 +39,7 @@ en:
37
39
  phone: Phone
38
40
  plain_content: Plain content
39
41
  press_release: Press release?
42
+ presence: Mandatory input
40
43
  published_at: Published at
41
44
  seo_title: Page title
42
45
  seo_slug: Custom URL
@@ -21,6 +21,7 @@ nl:
21
21
  down: Omlaag
22
22
  download: Download
23
23
  edit: Bewerk
24
+ edit_translation: Bewerk vertaling
24
25
  email: E-mail
25
26
  emails: E-mails
26
27
  email_template: E-mail template
@@ -32,6 +33,12 @@ nl:
32
33
  filter: Filter
33
34
  first_name: Voornaam
34
35
  flexible_content: Flexibele inhoud
36
+ form: Formulier
37
+ form_field: Invulveld
38
+ form_fields: Invulvelden
39
+ form_submission: Inzending
40
+ form_submissions: Inzendingen
41
+ forms: Formulieren
35
42
  from: Van
36
43
  general: Algemeen
37
44
  house_number: Huisnummer
@@ -51,6 +58,7 @@ nl:
51
58
  none: Geen
52
59
  not_set: Niet ingesteld
53
60
  not_yet_sent: Nog niet verzonden
61
+ overview: Overzicht
54
62
  page: Pagina
55
63
  pages: Pagina's
56
64
  password: Wachtwoord
@@ -86,6 +94,7 @@ nl:
86
94
  used: Gebruikt
87
95
  user: Gebruiker
88
96
  users: Gebruikers
97
+ validations: Validaties
89
98
  variables: Variabelen
90
99
  view: Bekijk
91
100
  visible: Zichtbaar
@@ -116,6 +125,22 @@ nl:
116
125
  explanation: Met deze module kan je flexibele, responsive inhoud toevoegen. Klik op onderstaande knop om een eerste rij toe te voegen.
117
126
  no_picture_present: Er werd nog geen foto geüpload of gelinkt.
118
127
  forgot_password: Wachtwoord vergeten?
128
+ form_fields:
129
+ add: Invulveld toevoegen
130
+ add_first: Maak het eerste invulveld aan
131
+ edit: Bewerk invulveld
132
+ explanation: Er zijn nog geen invulvelden gedefiniëerd voor dit formulier.
133
+ index_header_html: 'Invulvelden voor formulier “%{form}”'
134
+ form_submissions:
135
+ back_html: '← Terug naar de inzendingen'
136
+ explanation: Er zijn nog geen inzendingen binnengekomen voor dit formulier.
137
+ received_at: Ontvangen op
138
+ forms:
139
+ add_first: Maak het eerste formulier aan
140
+ back_html: '← Terug naar het overzicht van formulieren'
141
+ explanation: Met deze module kan je formulieren beheren en hun inzendingen bekijken.
142
+ removal_warning: 'Dit formulier kan niet verwijderd worden omdat er %{submissions} inzending(en) aan gekoppeld zijn.'
143
+ view_submissions: Inzendingen voor dit formulier
119
144
  general_form_error: Er trad een fout op. Controleer de gemarkeerde velden.
120
145
  help_texts:
121
146
  status_code: Meer info over het gebruik van status codes.
@@ -20,10 +20,12 @@ nl:
20
20
  category: Categorie
21
21
  cc: CC
22
22
  content: Inhoud
23
+ default_value: Standaardwaarde
23
24
  description: Beschrijving
24
25
  disabled: Uitgeschakeld
25
26
  email: E-mail
26
27
  extra: Extra
28
+ field_type: Veldtype
27
29
  first_name: Voornaam
28
30
  html_content: HTML inhoud
29
31
  identifier: Interne naam
@@ -37,6 +39,7 @@ nl:
37
39
  phone: Telefoonnummer
38
40
  plain_content: Tekstuele inhoud
39
41
  press_release: Persbericht?
42
+ presence: Verplicht veld
40
43
  published_at: Gepubliceerd op
41
44
  seo_title: Paginatitel
42
45
  seo_slug: Aangepaste URL
@@ -45,6 +48,7 @@ nl:
45
48
  seo_custom: Extra meta-tags
46
49
  subject: Onderwerp
47
50
  subtitle: Subtitel
51
+ success_message: Melding bij succesvolle verzending
48
52
  summary: Korte inhoud
49
53
  synonyms: Synoniemen
50
54
  title: Titel
data/config/routes.rb CHANGED
@@ -32,6 +32,15 @@ Rails.application.routes.draw do
32
32
  end
33
33
  end
34
34
 
35
+ resources :forms do
36
+ concerns :translatable
37
+ resources :submissions, controller: 'forms/submissions', except: %w(new create)
38
+
39
+ resources :fields, controller: 'forms/fields', except: %w(show) do
40
+ concerns :translatable, :positionable
41
+ end
42
+ end
43
+
35
44
  resources :articles, except: [:show] do
36
45
  concerns :translatable
37
46
 
@@ -0,0 +1,39 @@
1
+ class ReaddForms < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :forms do |t|
4
+ t.text :locales
5
+ t.string :identifier
6
+ t.string :description
7
+
8
+ t.timestamps null: false
9
+ end
10
+ add_index :forms, :identifier
11
+
12
+
13
+ create_table :form_fields do |t|
14
+ t.references :form, index: true
15
+ t.text :locales
16
+ t.string :name
17
+ t.string :field_type
18
+ t.string :default_value
19
+ t.string :placeholder
20
+ t.integer :position
21
+ t.timestamps null: false
22
+ end
23
+
24
+
25
+ create_table :form_submissions do |t|
26
+ t.references :form, index: true
27
+ t.text :extra_info
28
+ t.timestamps null: false
29
+ end
30
+
31
+
32
+ create_table :form_submission_data, force: :cascade do |t|
33
+ t.references :form_submission, index: true
34
+ t.string :name
35
+ t.text :value
36
+ t.timestamps null: false
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,5 @@
1
+ class RenameNameToIdentifierForFormField < ActiveRecord::Migration[5.0]
2
+ def change
3
+ rename_column :form_fields, :name, :identifier
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class RemovePlaceholderFromFormFields < ActiveRecord::Migration[5.0]
2
+ def change
3
+ remove_column :form_fields, :placeholder
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class RemoveDefaultValueFromFormFields < ActiveRecord::Migration[5.0]
2
+ def change
3
+ remove_column :form_fields, :default_value
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddValidationFieldsToFormFields < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :form_fields, :presence, :boolean, after: :field_type
4
+ add_column :form_fields, :email, :boolean, after: :presence
5
+ end
6
+ end
@@ -0,0 +1,18 @@
1
+ module Udongo
2
+ module Configs
3
+ class Forms
4
+ def initialize
5
+ @configs = {}
6
+ end
7
+
8
+ def method_missing(method, *args, &block)
9
+ unless @configs[method]
10
+ super unless ::Form.find_by(identifier: method)
11
+ @configs[method] = OpenStruct.new(datagrid_fields: [], filter_fields: [])
12
+ end
13
+
14
+ @configs[method]
15
+ end
16
+ end
17
+ end
18
+ end
@@ -13,7 +13,7 @@ module Udongo::Pages
13
13
  li_attr: list_attributes,
14
14
  data: {
15
15
  id: @page.id,
16
- url: @context.edit_backend_page_path(@page),
16
+ url: @context.edit_translation_backend_page_path(@page, Udongo.config.i18n.app.default_locale),
17
17
  delete_url: @context.backend_page_path(@page, format: :json),
18
18
  deletable: @page.deletable?,
19
19
  draggable: @page.draggable?,
@@ -1,3 +1,3 @@
1
1
  module Udongo
2
- VERSION = '5.8.0'
2
+ VERSION = '5.9.0'
3
3
  end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :form_field do
3
+ form
4
+ sequence(:identifier) { |n| "name-#{n}" }
5
+ field_type 'text'
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :form_submission_data do
3
+ form_submission
4
+ name 'foo'
5
+ value 'bar'
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :form_submission do
3
+ form
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :form do
3
+ description 'Contact form'
4
+ end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: udongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.8.0
4
+ version: 5.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Davy Hellemans
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-04-12 00:00:00.000000000 Z
12
+ date: 2017-05-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -466,6 +466,10 @@ files:
466
466
  - app/controllers/backend/dashboard_controller.rb
467
467
  - app/controllers/backend/email_templates_controller.rb
468
468
  - app/controllers/backend/emails_controller.rb
469
+ - app/controllers/backend/forms/base_controller.rb
470
+ - app/controllers/backend/forms/fields_controller.rb
471
+ - app/controllers/backend/forms/submissions_controller.rb
472
+ - app/controllers/backend/forms_controller.rb
469
473
  - app/controllers/backend/images_controller.rb
470
474
  - app/controllers/backend/navigation/items_controller.rb
471
475
  - app/controllers/backend/navigations_controller.rb
@@ -490,6 +494,8 @@ files:
490
494
  - app/decorators/content_picture_decorator.rb
491
495
  - app/decorators/content_row_decorator.rb
492
496
  - app/decorators/content_text_decorator.rb
497
+ - app/decorators/form_decorator.rb
498
+ - app/decorators/form_submission_data_decorator.rb
493
499
  - app/decorators/navigation_item_decorator.rb
494
500
  - app/decorators/page_decorator.rb
495
501
  - app/decorators/pagination_decorator.rb
@@ -497,6 +503,8 @@ files:
497
503
  - app/decorators/snippet_decorator.rb
498
504
  - app/forms/backend/article_translation_form.rb
499
505
  - app/forms/backend/email_template_translation_form.rb
506
+ - app/forms/backend/form_field_translation_form.rb
507
+ - app/forms/backend/form_translation_form.rb
500
508
  - app/forms/backend/navigation_item_translation_form.rb
501
509
  - app/forms/backend/page_translation_form.rb
502
510
  - app/forms/backend/snippet_translation_form.rb
@@ -556,6 +564,10 @@ files:
556
564
  - app/models/content_text.rb
557
565
  - app/models/email.rb
558
566
  - app/models/email_template.rb
567
+ - app/models/form.rb
568
+ - app/models/form_field.rb
569
+ - app/models/form_submission.rb
570
+ - app/models/form_submission_data.rb
559
571
  - app/models/image.rb
560
572
  - app/models/log.rb
561
573
  - app/models/meta.rb
@@ -625,6 +637,22 @@ files:
625
637
  - app/views/backend/email_templates/new.html.erb
626
638
  - app/views/backend/emails/index.html.erb
627
639
  - app/views/backend/emails/show.html.erb
640
+ - app/views/backend/forms/_fields.html.erb
641
+ - app/views/backend/forms/_form.html.erb
642
+ - app/views/backend/forms/_tabs.html.erb
643
+ - app/views/backend/forms/edit.html.erb
644
+ - app/views/backend/forms/edit_translation.html.erb
645
+ - app/views/backend/forms/fields/_form.html.erb
646
+ - app/views/backend/forms/fields/_tabs.html.erb
647
+ - app/views/backend/forms/fields/edit.html.erb
648
+ - app/views/backend/forms/fields/edit_translation.html.erb
649
+ - app/views/backend/forms/fields/index.html.erb
650
+ - app/views/backend/forms/fields/new.html.erb
651
+ - app/views/backend/forms/index.html.erb
652
+ - app/views/backend/forms/new.html.erb
653
+ - app/views/backend/forms/submissions/_form.html.erb
654
+ - app/views/backend/forms/submissions/index.html.erb
655
+ - app/views/backend/forms/submissions/show.html.erb
628
656
  - app/views/backend/images/_filter.html.erb
629
657
  - app/views/backend/images/index.html.erb
630
658
  - app/views/backend/images/new.html.erb
@@ -763,6 +791,11 @@ files:
763
791
  - db/migrate/20170228183831_create_images.rb
764
792
  - db/migrate/20170305125627_create_articles.rb
765
793
  - db/migrate/20170318184654_add_title_and_content_disabled_to_snippet.rb
794
+ - db/migrate/20170407115044_readd_forms.rb
795
+ - db/migrate/20170410115600_rename_name_to_identifier_for_form_field.rb
796
+ - db/migrate/20170410120608_remove_placeholder_from_form_fields.rb
797
+ - db/migrate/20170410121055_remove_default_value_from_form_fields.rb
798
+ - db/migrate/20170411161008_add_validation_fields_to_form_fields.rb
766
799
  - db/migrate/20170412074304_create_content_pictures.rb
767
800
  - lib/tasks/task_extras.rb
768
801
  - lib/tasks/udongo_tasks.rake
@@ -777,6 +810,7 @@ files:
777
810
  - lib/udongo/configs/assets.rb
778
811
  - lib/udongo/configs/base.rb
779
812
  - lib/udongo/configs/flexible_content.rb
813
+ - lib/udongo/configs/forms.rb
780
814
  - lib/udongo/configs/i18n.rb
781
815
  - lib/udongo/configs/i18ns/app.rb
782
816
  - lib/udongo/configs/i18ns/cms.rb
@@ -821,6 +855,10 @@ files:
821
855
  - spec/factories/content_texts.rb
822
856
  - spec/factories/email_templates.rb
823
857
  - spec/factories/emails.rb
858
+ - spec/factories/form_fields.rb
859
+ - spec/factories/form_submission_data.rb
860
+ - spec/factories/form_submissions.rb
861
+ - spec/factories/forms.rb
824
862
  - spec/factories/images.rb
825
863
  - spec/factories/logs.rb
826
864
  - spec/factories/meta.rb