bullet_train-super_scaffolding 1.0.6 → 1.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/account/scaffolding/absolutely_abstract/creative_concepts/collaborators_controller.rb +81 -0
- data/app/controllers/account/scaffolding/absolutely_abstract/creative_concepts_controller.rb +82 -0
- data/app/controllers/account/scaffolding/completely_concrete/tangible_things_controller.rb +107 -0
- data/app/controllers/api/v1/scaffolding/absolutely_abstract/creative_concepts_endpoint.rb +103 -0
- data/app/controllers/api/v1/scaffolding/absolutely_abstract.rb +2 -0
- data/app/controllers/api/v1/scaffolding/completely_concrete/tangible_things_endpoint.rb +136 -0
- data/app/controllers/api/v1/scaffolding/completely_concrete.rb +2 -0
- data/app/controllers/api/v1/scaffolding.rb +2 -0
- data/app/controllers/api/v1.rb +2 -0
- data/app/controllers/api.rb +2 -0
- data/app/controllers/concerns/scaffolding/absolutely_abstract/creative_concepts/controller_support.rb +11 -0
- data/app/models/scaffolding/absolutely_abstract/creative_concept.rb +42 -0
- data/app/models/scaffolding/absolutely_abstract/creative_concepts/collaborator.rb +39 -0
- data/app/models/scaffolding/absolutely_abstract/creative_concepts.rb +5 -0
- data/app/models/scaffolding/absolutely_abstract.rb +5 -0
- data/app/models/scaffolding/completely_concrete/tangible_thing.rb +42 -0
- data/app/models/scaffolding/completely_concrete/tangible_things/assignment.rb +22 -0
- data/app/models/scaffolding/completely_concrete/tangible_things.rb +5 -0
- data/app/models/scaffolding/completely_concrete.rb +5 -0
- data/app/models/scaffolding.rb +5 -0
- data/app/serializers/api/v1/scaffolding/absolutely_abstract/creative_concept_serializer.rb +14 -0
- data/app/serializers/api/v1/scaffolding/completely_concrete/tangible_thing_serializer.rb +30 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_breadcrumbs.html.erb +8 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_creative_concept.json.jbuilder +8 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_form.html.erb +18 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_index.html.erb +56 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_menu_item.html.erb +10 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_breadcrumbs.html.erb +8 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_collaborator.json.jbuilder +9 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_form.html.erb +19 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_index.html.erb +69 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_menu_item.html.erb +10 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/edit.html.erb +12 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/index.html.erb +6 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/index.json.jbuilder +1 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/new.html.erb +12 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/show.html.erb +31 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/show.json.jbuilder +1 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/edit.html.erb +12 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/index.html.erb +6 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/index.json.jbuilder +1 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/new.html.erb +12 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/show.html.erb +65 -0
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/show.json.jbuilder +1 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/_breadcrumbs.html.erb +8 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/_form.html.erb +66 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/_index.html.erb +72 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/_menu_item.html.erb +10 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/_tangible_thing.json.jbuilder +23 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/edit.html.erb +12 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/index.html.erb +6 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/index.json.jbuilder +1 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/new.html.erb +12 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/show.html.erb +45 -0
- data/app/views/account/scaffolding/completely_concrete/tangible_things/show.json.jbuilder +1 -0
- data/config/locales/en/scaffolding/absolutely_abstract/creative_concepts/collaborators.en.yml +98 -0
- data/config/locales/en/scaffolding/absolutely_abstract/creative_concepts.en.yml +111 -0
- data/config/locales/en/scaffolding/completely_concrete/tangible_things.en.yml +229 -0
- data/config/routes.rb +28 -0
- data/db/migrate/20190124040656_add_csv_import_to_scaffolding_things.rb +5 -0
- data/db/migrate/20191021215724_add_example_fields_to_scaffolding_things.rb +14 -0
- data/db/migrate/20191021233425_add_ckeditor_value_to_scaffolding_things.rb +5 -0
- data/db/migrate/20191204020251_create_scaffolding_absolutely_abstract_creative_concepts.rb +11 -0
- data/db/migrate/20191204020913_create_scaffolding_completely_concrete_tangible_things.rb +21 -0
- data/db/migrate/20191225224034_add_sort_order_to_scaffolding_completely_concrete_tangible_things.rb +5 -0
- data/db/migrate/20200101203645_drop_scaffolding_things.rb +9 -0
- data/db/migrate/20210101210524_create_scaffolding_absolutely_abstract_creative_concepts_collaborators.rb +10 -0
- data/db/migrate/20210101231429_add_roles_to_scaffolding_absolutely_abstract_creative_concepts_collaborators.rb +5 -0
- data/db/migrate/20210224234445_remove_select_value_from_scaffolding_completely_concrete_tangible_things.rb +5 -0
- data/db/migrate/20210513013030_add_color_value_to_scaffolding_completely_concrete_tangible_things.rb +5 -0
- data/db/migrate/20210602230736_add_option_fields_to_scaffolding_completely_concrete_tangible_things.rb +6 -0
- data/lib/bullet_train/super_scaffolding/engine.rb +15 -0
- data/lib/bullet_train/super_scaffolding/scaffolders/crud_field_scaffolder.rb +1 -1
- data/lib/bullet_train/super_scaffolding/scaffolders/crud_scaffolder.rb +1 -3
- data/lib/bullet_train/super_scaffolding/version.rb +1 -1
- data/lib/bullet_train/super_scaffolding.rb +1 -1
- data/lib/scaffolding/transformer.rb +13 -12
- 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 %>
|
data/app/views/account/scaffolding/completely_concrete/tangible_things/_tangible_thing.json.jbuilder
ADDED
@@ -0,0 +1,23 @@
|
|
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
|
+
:ckeditor_value,
|
19
|
+
# 🚅 stop any skipping we're doing now.
|
20
|
+
# 🚅 super scaffolding will insert new fields above this line.
|
21
|
+
:created_at,
|
22
|
+
:updated_at
|
23
|
+
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 @@
|
|
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,45 @@
|
|
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/html', attribute: :ckeditor_value %>
|
19
|
+
<%= render 'shared/attributes/text', attribute: :cloudinary_image_value %>
|
20
|
+
<%= render 'shared/attributes/date', attribute: :date_field_value %>
|
21
|
+
<%= render 'shared/attributes/date_and_time', attribute: :date_and_time_field_value %>
|
22
|
+
<%= render 'shared/attributes/email', attribute: :email_field_value %>
|
23
|
+
<%= render 'shared/attributes/text', attribute: :password_field_value %>
|
24
|
+
<%= render 'shared/attributes/phone_number', attribute: :phone_field_value %>
|
25
|
+
<%= render 'shared/attributes/option', attribute: :option_value %>
|
26
|
+
<%= render 'shared/attributes/options', attribute: :multiple_option_values %>
|
27
|
+
<%= render 'shared/attributes/option', attribute: :super_select_value %>
|
28
|
+
<%= render 'shared/attributes/options', attribute: :multiple_super_select_values %>
|
29
|
+
<%= render 'shared/attributes/block', attribute: :text_area_value %>
|
30
|
+
<%= render 'shared/attributes/html', attribute: :action_text_value %>
|
31
|
+
<%# 🚅 stop any skipping we're doing now. %>
|
32
|
+
<%# 🚅 super scaffolding will insert new fields above this line. %>
|
33
|
+
<% end %>
|
34
|
+
<% end %>
|
35
|
+
|
36
|
+
<% p.content_for :actions do %>
|
37
|
+
<%= link_to t('.buttons.edit'), [:edit, :account, @tangible_thing], class: first_button_primary if can? :edit, @tangible_thing %>
|
38
|
+
<%= 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 %>
|
39
|
+
<%= link_to t('global.buttons.back'), [:account, @absolutely_abstract_creative_concept, :completely_concrete_tangible_things], class: first_button_primary %>
|
40
|
+
<% end %>
|
41
|
+
<% end %>
|
42
|
+
|
43
|
+
<%# 🚅 super scaffolding will insert new children above this line. %>
|
44
|
+
<% end %>
|
45
|
+
<% 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,229 @@
|
|
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
|
+
ckeditor_value:
|
145
|
+
_: &ckeditor_value CKEditor Value
|
146
|
+
label: *ckeditor_value
|
147
|
+
heading: *ckeditor_value
|
148
|
+
# 🚅 stop any skipping we're doing now.
|
149
|
+
# 🚅 super scaffolding will insert new fields above this line.
|
150
|
+
created_at:
|
151
|
+
_: &created_at Added
|
152
|
+
label: *created_at
|
153
|
+
heading: *created_at
|
154
|
+
updated_at:
|
155
|
+
_: &updated_at Updated
|
156
|
+
label: *updated_at
|
157
|
+
heading: *updated_at
|
158
|
+
api:
|
159
|
+
collection_actions: "Collection Actions for Tangible Things"
|
160
|
+
index: "List Tangible Things"
|
161
|
+
create: "Add a New Tangible Thing"
|
162
|
+
member_actions: "Actions for an Individual Tangible Thing"
|
163
|
+
show: "Retrieve a Tangible Thing"
|
164
|
+
update: "Update a Tangible Thing"
|
165
|
+
destroy: "Delete a Tangible Thing"
|
166
|
+
fields: *fields
|
167
|
+
index:
|
168
|
+
section: "%{creative_concepts_possessive} Tangible Things"
|
169
|
+
contexts:
|
170
|
+
scaffolding/absolutely_abstract/creative_concept:
|
171
|
+
header: Tangible Things
|
172
|
+
description: Below is a list of Tangible Things that have been added for %{creative_concept_name}.
|
173
|
+
description_empty: No Tangible Things have been added for %{creative_concept_name}.
|
174
|
+
fields: *fields
|
175
|
+
buttons: *buttons
|
176
|
+
show:
|
177
|
+
section: "%{tangible_thing_name}"
|
178
|
+
header: Tangible Thing Details
|
179
|
+
description: Below are the details we have for %{tangible_thing_name}.
|
180
|
+
manage_description: You'll also find options for updating these details or removing %{tangible_thing_name} from %{creative_concept_name} entirely.
|
181
|
+
fields: *fields
|
182
|
+
buttons: *buttons
|
183
|
+
form: &form
|
184
|
+
buttons: *buttons
|
185
|
+
fields: *fields
|
186
|
+
new:
|
187
|
+
section: "New Tangible Thing for %{creative_concept_name}"
|
188
|
+
header: New Tangible Thing Details
|
189
|
+
description: Please provide the details of the new Tangible Thing you'd like to add to %{creative_concept_name}.
|
190
|
+
form: *form
|
191
|
+
edit:
|
192
|
+
section: "%{tangible_thing_name}"
|
193
|
+
header: Edit Tangible Thing Details
|
194
|
+
description: You can update the details or settings for %{tangible_thing_name} below.
|
195
|
+
form: *form
|
196
|
+
notifications:
|
197
|
+
created: Tangible Thing was successfully created.
|
198
|
+
updated: Tangible Thing was successfully updated.
|
199
|
+
destroyed: Tangible Thing was successfully destroyed.
|
200
|
+
account:
|
201
|
+
# 🚅 skip this section when scaffolding.
|
202
|
+
scaffolding:
|
203
|
+
completely_concrete:
|
204
|
+
tangible_things: *tangible_things
|
205
|
+
# 🚅 stop any skipping we're doing now.
|
206
|
+
# 🚅 super scaffolding will insert the export for the locale view helper here.
|
207
|
+
activerecord:
|
208
|
+
attributes:
|
209
|
+
scaffolding/completely_concrete/tangible_thing:
|
210
|
+
# 🚅 skip this section when scaffolding.
|
211
|
+
text_field_value: *text_field_value
|
212
|
+
button_value: *button_value
|
213
|
+
boolean_button_value: *boolean_button_value
|
214
|
+
cloudinary_image_value: *cloudinary_image_value
|
215
|
+
date_field_value: *date_field_value
|
216
|
+
email_field_value: *email_field_value
|
217
|
+
file_field_value: *file_field_value
|
218
|
+
password_field_value: *password_field_value
|
219
|
+
phone_field_value: *phone_field_value
|
220
|
+
option_value: *option_value
|
221
|
+
multiple_option_values: *multiple_option_values
|
222
|
+
super_select_value: *super_select_value
|
223
|
+
text_area_value: *text_area_value
|
224
|
+
action_text_value: *action_text_value
|
225
|
+
ckeditor_value: *ckeditor_value
|
226
|
+
# 🚅 stop any skipping we're doing now.
|
227
|
+
# 🚅 super scaffolding will insert new activerecord attributes above this line.
|
228
|
+
created_at: *created_at
|
229
|
+
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
|