bullet_train-super_scaffolding 1.0.9 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/account/scaffolding/absolutely_abstract/creative_concepts/collaborators_controller.rb +81 -0
  3. data/app/controllers/account/scaffolding/absolutely_abstract/creative_concepts_controller.rb +82 -0
  4. data/app/controllers/account/scaffolding/completely_concrete/tangible_things_controller.rb +106 -0
  5. data/app/controllers/api/v1/scaffolding/absolutely_abstract/creative_concepts_endpoint.rb +103 -0
  6. data/app/controllers/api/v1/scaffolding/absolutely_abstract.rb +2 -0
  7. data/app/controllers/api/v1/scaffolding/completely_concrete/tangible_things_endpoint.rb +135 -0
  8. data/app/controllers/api/v1/scaffolding/completely_concrete.rb +2 -0
  9. data/app/controllers/api/v1/scaffolding.rb +2 -0
  10. data/app/controllers/api/v1.rb +2 -0
  11. data/app/controllers/api.rb +2 -0
  12. data/app/controllers/concerns/scaffolding/absolutely_abstract/creative_concepts/controller_support.rb +11 -0
  13. data/app/models/scaffolding/absolutely_abstract/creative_concept.rb +42 -0
  14. data/app/models/scaffolding/absolutely_abstract/creative_concepts/collaborator.rb +39 -0
  15. data/app/models/scaffolding/absolutely_abstract/creative_concepts.rb +5 -0
  16. data/app/models/scaffolding/absolutely_abstract.rb +5 -0
  17. data/app/models/scaffolding/completely_concrete/tangible_thing.rb +42 -0
  18. data/app/models/scaffolding/completely_concrete/tangible_things/assignment.rb +22 -0
  19. data/app/models/scaffolding/completely_concrete/tangible_things.rb +5 -0
  20. data/app/models/scaffolding/completely_concrete.rb +5 -0
  21. data/app/models/scaffolding.rb +5 -0
  22. data/app/serializers/api/v1/scaffolding/absolutely_abstract/creative_concept_serializer.rb +14 -0
  23. data/app/serializers/api/v1/scaffolding/completely_concrete/tangible_thing_serializer.rb +29 -0
  24. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_breadcrumbs.html.erb +8 -0
  25. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_creative_concept.json.jbuilder +8 -0
  26. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_form.html.erb +18 -0
  27. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_index.html.erb +56 -0
  28. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_menu_item.html.erb +10 -0
  29. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_breadcrumbs.html.erb +8 -0
  30. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_collaborator.json.jbuilder +9 -0
  31. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_form.html.erb +19 -0
  32. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_index.html.erb +69 -0
  33. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_menu_item.html.erb +10 -0
  34. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/edit.html.erb +12 -0
  35. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/index.html.erb +6 -0
  36. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/index.json.jbuilder +1 -0
  37. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/new.html.erb +12 -0
  38. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/show.html.erb +31 -0
  39. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/show.json.jbuilder +1 -0
  40. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/edit.html.erb +12 -0
  41. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/index.html.erb +6 -0
  42. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/index.json.jbuilder +1 -0
  43. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/new.html.erb +12 -0
  44. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/show.html.erb +65 -0
  45. data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/show.json.jbuilder +1 -0
  46. data/app/views/account/scaffolding/completely_concrete/tangible_things/_breadcrumbs.html.erb +8 -0
  47. data/app/views/account/scaffolding/completely_concrete/tangible_things/_form.html.erb +65 -0
  48. data/app/views/account/scaffolding/completely_concrete/tangible_things/_index.html.erb +72 -0
  49. data/app/views/account/scaffolding/completely_concrete/tangible_things/_menu_item.html.erb +10 -0
  50. data/app/views/account/scaffolding/completely_concrete/tangible_things/_tangible_thing.json.jbuilder +22 -0
  51. data/app/views/account/scaffolding/completely_concrete/tangible_things/edit.html.erb +12 -0
  52. data/app/views/account/scaffolding/completely_concrete/tangible_things/index.html.erb +6 -0
  53. data/app/views/account/scaffolding/completely_concrete/tangible_things/index.json.jbuilder +1 -0
  54. data/app/views/account/scaffolding/completely_concrete/tangible_things/new.html.erb +12 -0
  55. data/app/views/account/scaffolding/completely_concrete/tangible_things/show.html.erb +44 -0
  56. data/app/views/account/scaffolding/completely_concrete/tangible_things/show.json.jbuilder +1 -0
  57. data/config/locales/en/scaffolding/absolutely_abstract/creative_concepts/collaborators.en.yml +98 -0
  58. data/config/locales/en/scaffolding/absolutely_abstract/creative_concepts.en.yml +111 -0
  59. data/config/locales/en/scaffolding/completely_concrete/tangible_things.en.yml +224 -0
  60. data/config/routes.rb +28 -0
  61. data/db/migrate/20190124040656_add_csv_import_to_scaffolding_things.rb +5 -0
  62. data/db/migrate/20191021215724_add_example_fields_to_scaffolding_things.rb +14 -0
  63. data/db/migrate/20191021233425_add_ckeditor_value_to_scaffolding_things.rb +5 -0
  64. data/db/migrate/20191204020251_create_scaffolding_absolutely_abstract_creative_concepts.rb +11 -0
  65. data/db/migrate/20191204020913_create_scaffolding_completely_concrete_tangible_things.rb +21 -0
  66. data/db/migrate/20191225224034_add_sort_order_to_scaffolding_completely_concrete_tangible_things.rb +5 -0
  67. data/db/migrate/20200101203645_drop_scaffolding_things.rb +9 -0
  68. data/db/migrate/20210101210524_create_scaffolding_absolutely_abstract_creative_concepts_collaborators.rb +10 -0
  69. data/db/migrate/20210101231429_add_roles_to_scaffolding_absolutely_abstract_creative_concepts_collaborators.rb +5 -0
  70. data/db/migrate/20210224234445_remove_select_value_from_scaffolding_completely_concrete_tangible_things.rb +5 -0
  71. data/db/migrate/20210513013030_add_color_value_to_scaffolding_completely_concrete_tangible_things.rb +5 -0
  72. data/db/migrate/20210602230736_add_option_fields_to_scaffolding_completely_concrete_tangible_things.rb +6 -0
  73. data/lib/bullet_train/super_scaffolding/engine.rb +11 -0
  74. data/lib/bullet_train/super_scaffolding/version.rb +1 -1
  75. metadata +72 -2
@@ -0,0 +1,72 @@
1
+ <% absolutely_abstract_creative_concept = @absolutely_abstract_creative_concept || @creative_concept %>
2
+ <% context ||= absolutely_abstract_creative_concept %>
3
+ <% collection ||= :completely_concrete_tangible_things %>
4
+ <% hide_actions ||= false %>
5
+ <% hide_back ||= false %>
6
+
7
+ <%= render 'account/shared/box' do |p| %>
8
+ <% p.content_for :title, t(".contexts.#{context.class.name.underscore}.header") %>
9
+ <% p.content_for :description do %>
10
+ <%= t(".contexts.#{context.class.name.underscore}.description#{"_empty" unless tangible_things.any?}") %>
11
+ <% end %>
12
+
13
+ <% p.content_for :table do %>
14
+ <% if tangible_things.any? %>
15
+ <table class="table">
16
+ <thead>
17
+ <tr>
18
+ <%# 🚅 skip this section when scaffolding. %>
19
+ <th><%= t('.fields.text_field_value.heading') %></th>
20
+ <th><%= t('.fields.boolean_button_value.heading') %></th>
21
+ <th><%= t('.fields.button_value.heading') %></th>
22
+ <th><%= t('.fields.multiple_button_values.heading') %></th>
23
+ <%# 🚅 stop any skipping we're doing now. %>
24
+ <%# 🚅 super scaffolding will insert new field headers above this line. %>
25
+ <th><%= t('.fields.created_at.heading') %></th>
26
+ <th class="text-right"></th>
27
+ </tr>
28
+ </thead>
29
+ <tbody>
30
+ <% tangible_things.each do |tangible_thing| %>
31
+ <% with_attribute_settings object: tangible_thing do %>
32
+ <tr data-id="<%= tangible_thing.id %>">
33
+ <%# 🚅 skip this section when scaffolding. %>
34
+ <td><%= render 'shared/attributes/text', attribute: :text_field_value, url: [:account, tangible_thing] %></td>
35
+ <td><%= render 'shared/attributes/boolean', attribute: :boolean_button_value %></td>
36
+ <td><%= render 'shared/attributes/option', attribute: :button_value %></td>
37
+ <td><%= render 'shared/attributes/options', attribute: :multiple_button_values %></td>
38
+ <%# 🚅 stop any skipping we're doing now. %>
39
+ <%# 🚅 super scaffolding will insert new fields above this line. %>
40
+ <td><%= render 'shared/attributes/date_and_time', attribute: :created_at %></td>
41
+ <td class="buttons">
42
+ <% unless hide_actions %>
43
+ <% if can? :edit, tangible_thing %>
44
+ <%= link_to t('.buttons.shorthand.edit'), [:edit, :account, tangible_thing], class: 'button-secondary button-smaller' %>
45
+ <% end %>
46
+ <% if can? :destroy, tangible_thing %>
47
+ <%= button_to t('.buttons.shorthand.destroy'), [:account, tangible_thing], method: :delete, data: { confirm: t('.buttons.confirmations.destroy', model_locales(tangible_thing)) }, class: 'button-secondary button-smaller' %>
48
+ <% end %>
49
+ <% end %>
50
+ </td>
51
+ </tr>
52
+ <% end %>
53
+ <% end %>
54
+ </tbody>
55
+ </table>
56
+ <% end %>
57
+ <% end %>
58
+
59
+ <% p.content_for :actions do %>
60
+ <% unless hide_actions %>
61
+ <% if context == absolutely_abstract_creative_concept %>
62
+ <% if can? :create, Scaffolding::CompletelyConcrete::TangibleThing.new(absolutely_abstract_creative_concept: absolutely_abstract_creative_concept) %>
63
+ <%= link_to t('.buttons.new'), [:new, :account, absolutely_abstract_creative_concept, :completely_concrete_tangible_thing], class: "#{first_button_primary(:completely_concrete_tangible_thing)} new" %>
64
+ <% end %>
65
+ <% end %>
66
+
67
+ <% unless hide_back %>
68
+ <%= link_to t('global.buttons.back'), [:account, context], class: "#{first_button_primary(:completely_concrete_tangible_thing)} back" %>
69
+ <% end %>
70
+ <% end %>
71
+ <% end %>
72
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <% if can? :read, Scaffolding::CompletelyConcrete::TangibleThing.new(team: current_team) %>
2
+ <%= render 'account/shared/menu/item', {
3
+ url: main_app.polymorphic_path([:account, current_team, :scaffolding_completely_concrete_tangible_things]),
4
+ label: t('scaffolding/completely_concrete/tangible_things.navigation.label'),
5
+ } do |p| %>
6
+ <% p.content_for :icon do %>
7
+ <i class="<%= t('scaffolding/completely_concrete/tangible_things.navigation.icon') %>"></i>
8
+ <% end %>
9
+ <% end %>
10
+ <% end %>
@@ -0,0 +1,22 @@
1
+ json.extract! tangible_thing,
2
+ :id,
3
+ :absolutely_abstract_creative_concept_id,
4
+ # 🚅 skip this section when scaffolding.
5
+ :text_field_value,
6
+ :button_value,
7
+ :color_picker_value,
8
+ :cloudinary_image_value,
9
+ :date_field_value,
10
+ :email_field_value,
11
+ :password_field_value,
12
+ :phone_field_value,
13
+ :option_value,
14
+ :multiple_option_values,
15
+ :super_select_value,
16
+ :text_area_value,
17
+ :action_text_value,
18
+ # 🚅 stop any skipping we're doing now.
19
+ # 🚅 super scaffolding will insert new fields above this line.
20
+ :created_at,
21
+ :updated_at
22
+ json.url account_scaffolding_completely_concrete_tangible_thing_url(tangible_thing, format: :json)
@@ -0,0 +1,12 @@
1
+ <%= render 'account/shared/page' do |p| %>
2
+ <% p.content_for :title, t('.section') %>
3
+ <% p.content_for :body do %>
4
+ <%= render 'account/shared/box', divider: true do |p| %>
5
+ <% p.content_for :title, t('.header') %>
6
+ <% p.content_for :description, t('.description') %>
7
+ <% p.content_for :body do %>
8
+ <%= render 'form', tangible_thing: @tangible_thing %>
9
+ <% end %>
10
+ <% end %>
11
+ <% end %>
12
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <%= render 'account/shared/page' do |p| %>
2
+ <% p.content_for :title, t('.section') %>
3
+ <% p.content_for :body do %>
4
+ <%= render 'index', tangible_things: @tangible_things %>
5
+ <% end %>
6
+ <% end %>
@@ -0,0 +1 @@
1
+ json.array! @tangible_things, partial: "scaffolding/completely_concrete/tangible_things/tangible_thing", as: :tangible_thing
@@ -0,0 +1,12 @@
1
+ <%= render 'account/shared/page' do |p| %>
2
+ <% p.content_for :title, t('.section') %>
3
+ <% p.content_for :body do %>
4
+ <%= render 'account/shared/box', divider: true do |p| %>
5
+ <% p.content_for :title, t('.header') %>
6
+ <% p.content_for :description, t('.description') %>
7
+ <% p.content_for :body do %>
8
+ <%= render 'form', tangible_thing: @tangible_thing %>
9
+ <% end %>
10
+ <% end %>
11
+ <% end %>
12
+ <% end %>
@@ -0,0 +1,44 @@
1
+ <%= render 'account/shared/page' do |p| %>
2
+ <% p.content_for :title, t('.section') %>
3
+ <% p.content_for :body do %>
4
+ <%= render 'account/shared/box', divider: true do |p| %>
5
+ <% p.content_for :title, t('.header') %>
6
+ <% p.content_for :description do %>
7
+ <%= t('.description') %>
8
+ <%= t('.manage_description') if can? :manage, @tangible_thing %>
9
+ <% end %>
10
+
11
+ <% p.content_for :body do %>
12
+ <% with_attribute_settings object: @tangible_thing, strategy: :label do %>
13
+ <%# 🚅 skip this section when scaffolding. %>
14
+ <%= render 'shared/attributes/text', attribute: :text_field_value %>
15
+ <%= render 'shared/attributes/boolean', attribute: :boolean_button_value %>
16
+ <%= render 'shared/attributes/option', attribute: :button_value %>
17
+ <%= render 'shared/attributes/options', attribute: :multiple_button_values %>
18
+ <%= render 'shared/attributes/text', attribute: :cloudinary_image_value %>
19
+ <%= render 'shared/attributes/date', attribute: :date_field_value %>
20
+ <%= render 'shared/attributes/date_and_time', attribute: :date_and_time_field_value %>
21
+ <%= render 'shared/attributes/email', attribute: :email_field_value %>
22
+ <%= render 'shared/attributes/text', attribute: :password_field_value %>
23
+ <%= render 'shared/attributes/phone_number', attribute: :phone_field_value %>
24
+ <%= render 'shared/attributes/option', attribute: :option_value %>
25
+ <%= render 'shared/attributes/options', attribute: :multiple_option_values %>
26
+ <%= render 'shared/attributes/option', attribute: :super_select_value %>
27
+ <%= render 'shared/attributes/options', attribute: :multiple_super_select_values %>
28
+ <%= render 'shared/attributes/block', attribute: :text_area_value %>
29
+ <%= render 'shared/attributes/html', attribute: :action_text_value %>
30
+ <%# 🚅 stop any skipping we're doing now. %>
31
+ <%# 🚅 super scaffolding will insert new fields above this line. %>
32
+ <% end %>
33
+ <% end %>
34
+
35
+ <% p.content_for :actions do %>
36
+ <%= link_to t('.buttons.edit'), [:edit, :account, @tangible_thing], class: first_button_primary if can? :edit, @tangible_thing %>
37
+ <%= button_to t('.buttons.destroy'), [:account, @tangible_thing], method: :delete, class: first_button_primary, data: { confirm: t('.buttons.confirmations.destroy', model_locales(@tangible_thing)) } if can? :destroy, @tangible_thing %>
38
+ <%= link_to t('global.buttons.back'), [:account, @absolutely_abstract_creative_concept, :completely_concrete_tangible_things], class: first_button_primary %>
39
+ <% end %>
40
+ <% end %>
41
+
42
+ <%# 🚅 super scaffolding will insert new children above this line. %>
43
+ <% end %>
44
+ <% end %>
@@ -0,0 +1 @@
1
+ json.partial! "scaffolding/completely_concrete/tangible_things/tangible_thing", tangible_thing: @tangible_thing
@@ -0,0 +1,98 @@
1
+ en:
2
+ scaffolding/absolutely_abstract/creative_concepts/collaborators: &collaborators
3
+ label: &label Collaborators
4
+ breadcrumbs:
5
+ label: *label
6
+ navigation:
7
+ label: *label
8
+ icon: fal fa-puzzle-piece
9
+ buttons: &buttons
10
+ new: Add New Collaborator
11
+ create: Create Collaborator
12
+ edit: Edit Collaborator
13
+ update: Update Collaborator
14
+ destroy: Remove Collaborator
15
+ shorthand:
16
+ edit: Edit
17
+ destroy: Delete
18
+ confirmations:
19
+ # TODO customize for your use-case.
20
+ destroy: Are you sure you want to remove %{collaborator_name}? This will also remove it's associated data. This can't be undone.
21
+ fields: &fields
22
+ membership_id: &membership
23
+ name: &membership_id Membership
24
+ label: *membership_id
25
+ heading: *membership_id
26
+ placeholder: Select a Membership
27
+
28
+ membership: *membership
29
+
30
+ role_ids:
31
+ name: &roles Privileges
32
+ label: *roles
33
+ heading: *roles
34
+ options:
35
+ default:
36
+ label: Observer
37
+ description: Can view all data
38
+ editor:
39
+ label: Editor
40
+ description: Can edit but not delet this object
41
+ admin:
42
+ label: Admin
43
+ description: Can manage all data
44
+ none: Observer
45
+
46
+ # 🚅 super scaffolding will insert new fields above this line.
47
+ created_at:
48
+ name: &created_at Added
49
+ label: *created_at
50
+ heading: *created_at
51
+ updated_at:
52
+ name: &updated_at Updated
53
+ label: *updated_at
54
+ heading: *updated_at
55
+ index:
56
+ section: "%{creative_concepts_possessive} Collaborators"
57
+ contexts:
58
+ scaffolding/absolutely_abstract/creative_concept:
59
+ header: Additional Collaborators
60
+ description: All %{team_name} Administrators can collaborate on %{creative_concept_name} by default. Below is a list of additional Collaborators that have been added for %{creative_concept_name}. Only %{team_name} and %{creative_concept_name} Administrators can manage Collaborators below.
61
+ fields: *fields
62
+ buttons: *buttons
63
+ show:
64
+ section: "%{collaborator_name}"
65
+ header: Collaborator Details
66
+ description: Below are the details we have for %{collaborator_name}. You'll also find options for updating these details or removing %{collaborator_name} from %{creative_concept_name} entirely.
67
+ fields: *fields
68
+ buttons: *buttons
69
+ form: &form
70
+ buttons: *buttons
71
+ fields: *fields
72
+ new:
73
+ section: "New Collaborator for %{creative_concept_name}"
74
+ header: New Collaborator Details
75
+ description: Please provide the details of the new Collaborator you'd like to add to %{creative_concept_name}.
76
+ form: *form
77
+ edit:
78
+ section: "%{collaborator_name}"
79
+ header: Edit Collaborator Details
80
+ description: You can update the details or settings for %{collaborator_name} below.
81
+ form: *form
82
+ notifications:
83
+ created: Collaborator was successfully created.
84
+ updated: Collaborator was successfully updated.
85
+ destroyed: Collaborator was successfully destroyed.
86
+ account:
87
+ scaffolding:
88
+ absolutely_abstract:
89
+ creative_concepts:
90
+ collaborators: *collaborators
91
+ activerecord:
92
+ attributes:
93
+ scaffolding/absolutely_abstract/creative_concepts/collaborator:
94
+ membership_id: *membership_id
95
+ roles: *roles
96
+ # 🚅 super scaffolding will insert new activerecord attributes above this line.
97
+ created_at: *created_at
98
+ updated_at: *updated_at
@@ -0,0 +1,111 @@
1
+ en:
2
+ scaffolding/absolutely_abstract/creative_concepts: &creative_concepts
3
+ label: &label Creative Concepts
4
+ breadcrumbs:
5
+ label: *label
6
+ navigation:
7
+ label: *label
8
+ icon: fal fa-dice-d6 ti ti-thought
9
+ buttons: &buttons
10
+ new: Add New Creative Concept
11
+ create: Create Creative Concept
12
+ edit: Edit Creative Concept
13
+ update: Update Creative Concept
14
+ destroy: Remove Creative Concept
15
+ shorthand:
16
+ edit: Edit
17
+ destroy: Delete
18
+ confirmations:
19
+ # TODO customize for your use-case.
20
+ destroy: Are you sure you want to remove %{creative_concept_name}? This will also remove it's associated data. This can't be undone.
21
+ fields: &fields
22
+ id:
23
+ heading: Creative Concept ID
24
+ team_id:
25
+ heading: Team ID
26
+ name:
27
+ name: &name Name
28
+ label: *name
29
+ heading: *name
30
+ description:
31
+ name: &description Description
32
+ label: *description
33
+ heading: *description
34
+ all_collaborators:
35
+ heading: Collaborators
36
+ admins:
37
+ heading: Administrators
38
+ editors:
39
+ heading: Editors
40
+ viewers:
41
+ heading: Viewers
42
+ # 🚅 super scaffolding will insert new fields above this line.
43
+ created_at:
44
+ name: &created_at Added
45
+ label: *created_at
46
+ heading: *created_at
47
+ updated_at:
48
+ name: &updated_at Updated
49
+ label: *updated_at
50
+ heading: *updated_at
51
+ api:
52
+ team_id: Team ID
53
+ collection_actions: "Collection Actions for Creative Concepts"
54
+ index: "List Creative Concepts"
55
+ create: "Add a New Creative Concept"
56
+ member_actions: "Actions for an Individual Creative Concept"
57
+ show: "Retrieve a Creative Concept"
58
+ update: "Update a Creative Concept"
59
+ destroy: "Delete a Creative Concept"
60
+ fields: *fields
61
+ index:
62
+ section: "%{teams_possessive} Creative Concepts"
63
+ contexts:
64
+ team:
65
+ header: Creative Concepts
66
+ description_admin: Below is a list of all Creative Concepts for %{team_name}. You can manage them with the options below.
67
+ description: Below is a list of Creative Concepts you can see on %{team_name}. You can manage them with the options below.
68
+ description_empty_admin: No Creative Concepts have been added for %{team_name} yet. To get started, use the button below!
69
+ description_empty: There are no Creative Concepts for you to see on %{team_name} yet. To add your own, use the button below!
70
+ fields: *fields
71
+ buttons: *buttons
72
+ commentary:
73
+ If you're wondering what a "Creative Concept" is, don't worry, there's nothing to understand here!
74
+ <code>Scaffolding::AbsolutelyAbstract::CreativeConcept</code> is a model that exists by default in Bullet Train to serve as part of Super Scaffolding's template system.
75
+ It also provides an example of what a scaffolded model looks like by default.
76
+ Yes, the class has a very weird name, but the weird name serves an important purpose when we're generating code.
77
+ For more details and instructions on how to hide this, see "<a href="https://tailwind.bullettrain.co/docs/super-scaffolding">Code Generation with Super Scaffolding</a>".
78
+ show:
79
+ section: "%{creative_concept_name}"
80
+ header: Creative Concept Details
81
+ description: Below are the details we have for %{creative_concept_name}.
82
+ fields: *fields
83
+ buttons: *buttons
84
+ form: &form
85
+ buttons: *buttons
86
+ new:
87
+ section: "New Creative Concept for %{team_name}"
88
+ header: New Creative Concept Details
89
+ description: Please provide the details of the new Creative Concept you'd like to add to %{team_name}.
90
+ form: *form
91
+ edit:
92
+ section: "%{creative_concept_name}"
93
+ header: Edit Creative Concept Details
94
+ description: You can update the details or settings for %{creative_concept_name} below.
95
+ form: *form
96
+ notifications:
97
+ created: Creative Concept was successfully created.
98
+ updated: Creative Concept was successfully updated.
99
+ destroyed: Creative Concept was successfully destroyed.
100
+ account:
101
+ scaffolding:
102
+ absolutely_abstract:
103
+ creative_concepts: *creative_concepts
104
+ activerecord:
105
+ attributes:
106
+ scaffolding/absolutely_abstract/creative_concept:
107
+ name: *name
108
+ description: *description
109
+ # 🚅 super scaffolding will insert new activerecord attributes above this line.
110
+ created_at: *created_at
111
+ updated_at: *updated_at
@@ -0,0 +1,224 @@
1
+ en:
2
+ scaffolding/completely_concrete/tangible_things: &tangible_things
3
+ label: &label Tangible Things
4
+ breadcrumbs:
5
+ label: *label
6
+ navigation:
7
+ label: *label
8
+ icon: fal fa-puzzle-piece
9
+ buttons: &buttons
10
+ new: Add New Tangible Thing
11
+ create: Create Tangible Thing
12
+ edit: Edit Tangible Thing
13
+ update: Update Tangible Thing
14
+ destroy: Remove Tangible Thing
15
+ shorthand:
16
+ edit: Edit
17
+ destroy: Delete
18
+ confirmations:
19
+ # TODO customize for your use-case.
20
+ destroy: Are you sure you want to remove %{tangible_thing_name}? This will also remove it's associated data. This can't be undone.
21
+ fields: &fields
22
+ id:
23
+ heading: Tangible Thing ID
24
+ absolutely_abstract_creative_concept_id:
25
+ heading: Creative Concept ID
26
+ # 🚅 skip this section when scaffolding.
27
+ text_field_value:
28
+ _: &text_field_value Text Field Value
29
+ label: *text_field_value
30
+ heading: *text_field_value
31
+ button_value:
32
+ _: &button_value Button Value
33
+ label: *button_value
34
+ heading: *button_value
35
+ options:
36
+ one: One
37
+ two: Two
38
+ three: Three
39
+ multiple_button_values:
40
+ _: &multiple_button_values Multiple Button Values
41
+ label: *multiple_button_values
42
+ heading: *multiple_button_values
43
+ options:
44
+ four: Four
45
+ five: Five
46
+ six: Six
47
+ boolean_button_value:
48
+ _: &boolean_button_value Boolean Button Value
49
+ label: *boolean_button_value
50
+ heading: *boolean_button_value
51
+ options:
52
+ true: "Yes"
53
+ false: "No"
54
+ color_picker_value:
55
+ _: &color_picker_value Color Picker Value
56
+ label: *color_picker_value
57
+ heading: *color_picker_value
58
+ options:
59
+ - '#9C73D2'
60
+ - '#48CDFE'
61
+ - '#53F3ED'
62
+ - '#47E37F'
63
+ - '#F2593D'
64
+ - '#F68421'
65
+ - '#F9DE00'
66
+ - '#929292'
67
+ cloudinary_image_value:
68
+ _: &cloudinary_image_value Cloudinary Image Value
69
+ label: *cloudinary_image_value
70
+ heading: *cloudinary_image_value
71
+ date_field_value:
72
+ _: &date_field_value Date Field Value
73
+ label: *date_field_value
74
+ heading: *date_field_value
75
+ date_and_time_field_value:
76
+ _: &date_and_time_field_value Date and Time Field Value
77
+ label: *date_and_time_field_value
78
+ heading: *date_and_time_field_value
79
+ other_time_zone: Other
80
+ email_field_value:
81
+ _: &email_field_value Email Field Value
82
+ label: *email_field_value
83
+ heading: *email_field_value
84
+ file_field_value:
85
+ _: &file_field_value File Field Value
86
+ label: *file_field_value
87
+ heading: *file_field_value
88
+ password_field_value:
89
+ _: &password_field_value Password Field Value
90
+ label: *password_field_value
91
+ heading: *password_field_value
92
+ phone_field_value:
93
+ _: &phone_field_value Phone Field Value
94
+ label: *phone_field_value
95
+ heading: *phone_field_value
96
+ option_value:
97
+ _: &option_value Option Value
98
+ label: *option_value
99
+ heading: *option_value
100
+ options:
101
+ one: One
102
+ two: Two
103
+ three: Three
104
+ options_help:
105
+ one: Lorem ipsum dolor sit amet, consectetur adipiscing elit. sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
106
+ two: Ut enim ad minim veniam, quis nostrud exercitation. ullamco laboris nisi ut aliquip ex ea commodo consequat.
107
+ three: Duis aute irure dolor in reprehenderit in voluptate. velit esse cillum dolore eu fugiat nulla pariatur.
108
+ multiple_option_values:
109
+ _: &multiple_option_values Multiple Option Values
110
+ label: *multiple_option_values
111
+ heading: *multiple_option_values
112
+ options:
113
+ four: Four
114
+ five: Five
115
+ six: Six
116
+ options_help:
117
+ four: Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium quis nostrud exercitation. ullamco laboris.
118
+ five: Quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo ex ea commodo consequat.
119
+ six: Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, fugiat nulla pariatur.
120
+ super_select_value:
121
+ _: &super_select_value Super Select Value
122
+ label: *super_select_value
123
+ heading: *super_select_value
124
+ options:
125
+ one: One
126
+ two: Two
127
+ three: Three
128
+ multiple_super_select_values:
129
+ _: &multiple_super_select_values Multiple Super Select Values
130
+ label: *multiple_super_select_values
131
+ heading: *multiple_super_select_values
132
+ options:
133
+ four: Four
134
+ five: Five
135
+ six: Six
136
+ text_area_value:
137
+ _: &text_area_value Text Area Value
138
+ label: *text_area_value
139
+ heading: *text_area_value
140
+ action_text_value:
141
+ _: &action_text_value Trix Editor Value
142
+ label: *action_text_value
143
+ heading: *action_text_value
144
+ # 🚅 stop any skipping we're doing now.
145
+ # 🚅 super scaffolding will insert new fields above this line.
146
+ created_at:
147
+ _: &created_at Added
148
+ label: *created_at
149
+ heading: *created_at
150
+ updated_at:
151
+ _: &updated_at Updated
152
+ label: *updated_at
153
+ heading: *updated_at
154
+ api:
155
+ collection_actions: "Collection Actions for Tangible Things"
156
+ index: "List Tangible Things"
157
+ create: "Add a New Tangible Thing"
158
+ member_actions: "Actions for an Individual Tangible Thing"
159
+ show: "Retrieve a Tangible Thing"
160
+ update: "Update a Tangible Thing"
161
+ destroy: "Delete a Tangible Thing"
162
+ fields: *fields
163
+ index:
164
+ section: "%{creative_concepts_possessive} Tangible Things"
165
+ contexts:
166
+ scaffolding/absolutely_abstract/creative_concept:
167
+ header: Tangible Things
168
+ description: Below is a list of Tangible Things that have been added for %{creative_concept_name}.
169
+ description_empty: No Tangible Things have been added for %{creative_concept_name}.
170
+ fields: *fields
171
+ buttons: *buttons
172
+ show:
173
+ section: "%{tangible_thing_name}"
174
+ header: Tangible Thing Details
175
+ description: Below are the details we have for %{tangible_thing_name}.
176
+ manage_description: You'll also find options for updating these details or removing %{tangible_thing_name} from %{creative_concept_name} entirely.
177
+ fields: *fields
178
+ buttons: *buttons
179
+ form: &form
180
+ buttons: *buttons
181
+ fields: *fields
182
+ new:
183
+ section: "New Tangible Thing for %{creative_concept_name}"
184
+ header: New Tangible Thing Details
185
+ description: Please provide the details of the new Tangible Thing you'd like to add to %{creative_concept_name}.
186
+ form: *form
187
+ edit:
188
+ section: "%{tangible_thing_name}"
189
+ header: Edit Tangible Thing Details
190
+ description: You can update the details or settings for %{tangible_thing_name} below.
191
+ form: *form
192
+ notifications:
193
+ created: Tangible Thing was successfully created.
194
+ updated: Tangible Thing was successfully updated.
195
+ destroyed: Tangible Thing was successfully destroyed.
196
+ account:
197
+ # 🚅 skip this section when scaffolding.
198
+ scaffolding:
199
+ completely_concrete:
200
+ tangible_things: *tangible_things
201
+ # 🚅 stop any skipping we're doing now.
202
+ # 🚅 super scaffolding will insert the export for the locale view helper here.
203
+ activerecord:
204
+ attributes:
205
+ scaffolding/completely_concrete/tangible_thing:
206
+ # 🚅 skip this section when scaffolding.
207
+ text_field_value: *text_field_value
208
+ button_value: *button_value
209
+ boolean_button_value: *boolean_button_value
210
+ cloudinary_image_value: *cloudinary_image_value
211
+ date_field_value: *date_field_value
212
+ email_field_value: *email_field_value
213
+ file_field_value: *file_field_value
214
+ password_field_value: *password_field_value
215
+ phone_field_value: *phone_field_value
216
+ option_value: *option_value
217
+ multiple_option_values: *multiple_option_values
218
+ super_select_value: *super_select_value
219
+ text_area_value: *text_area_value
220
+ action_text_value: *action_text_value
221
+ # 🚅 stop any skipping we're doing now.
222
+ # 🚅 super scaffolding will insert new activerecord attributes above this line.
223
+ created_at: *created_at
224
+ updated_at: *updated_at
data/config/routes.rb CHANGED
@@ -1,2 +1,30 @@
1
1
  Rails.application.routes.draw do
2
+ collection_actions = [:index, :new, :create]
3
+
4
+ namespace :account do
5
+ shallow do
6
+ resources :teams do
7
+ unless scaffolding_things_disabled?
8
+ namespace :scaffolding do
9
+ namespace :absolutely_abstract do
10
+ resources :creative_concepts do
11
+ scope module: "creative_concepts" do
12
+ resources :collaborators, only: collection_actions
13
+ end
14
+
15
+ namespace :creative_concepts do
16
+ resources :collaborators, except: collection_actions
17
+ end
18
+ end
19
+ end
20
+ resources :absolutely_abstract_creative_concepts, path: "absolutely_abstract/creative_concepts" do
21
+ namespace :completely_concrete do
22
+ resources :tangible_things
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
2
30
  end
@@ -0,0 +1,5 @@
1
+ class AddCsvImportToScaffoldingThings < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_reference :scaffolding_things, :csv_import, foreign_key: {to_table: :imports_csv_imports}
4
+ end
5
+ end