udongo 5.8.0 → 5.9.0

Sign up to get free protection for your applications and to get access to all the features.
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