From 67bf0e0953bd33360405e5b09b254ddbe6bc7e25 Mon Sep 17 00:00:00 2001 From: Jason Fleetwood-Boldt Date: Sat, 4 Jan 2025 14:07:33 -0600 Subject: [PATCH 1/2] removing optionalization --- lib/generators/hot_glue/scaffold_generator.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/generators/hot_glue/scaffold_generator.rb b/lib/generators/hot_glue/scaffold_generator.rb index 84fc519a..a44e308d 100644 --- a/lib/generators/hot_glue/scaffold_generator.rb +++ b/lib/generators/hot_glue/scaffold_generator.rb @@ -1069,7 +1069,7 @@ def form_path_new_helper HotGlue.optionalized_ternary(namespace: @namespace, target: @controller_build_folder, nested_set: @nested_set, - with_params: true, + with_params: false, top_level: false) end @@ -1077,7 +1077,7 @@ def form_path_edit_helper HotGlue.optionalized_ternary(namespace: @namespace, target: @singular, nested_set: @nested_set, - with_params: true, + with_params: false, put_form: true, top_level: false) end @@ -1086,7 +1086,7 @@ def delete_path_helper HotGlue.optionalized_ternary(namespace: @namespace, target: @singular, nested_set: @nested_set, - with_params: true, + with_params: false, put_form: true) end @@ -1095,7 +1095,7 @@ def edit_path_helper target: @singular, nested_set: @nested_set, modifier: "edit_", - with_params: true, + with_params: false, put_form: true) end @@ -1124,7 +1124,7 @@ def new_path_name target: singular, nested_set: @nested_set, modifier: "new_", - with_params: true) + with_params: false) end def nested_assignments @@ -1222,7 +1222,7 @@ def magic_button_output path: HotGlue.optionalized_ternary( namespace: @namespace, target: @singular, nested_set: @nested_set, - with_params: true, + with_params: false, put_form: true), big_edit: @big_edit, singular: singular, From 9f1a56f535e08356e5bf7d08da0c96acf34c1ac5 Mon Sep 17 00:00:00 2001 From: Jason Fleetwood-Boldt Date: Tue, 7 Jan 2025 01:08:45 -0600 Subject: [PATCH 2/2] adds options for --downnest-shows-heading and --new-button-position --- lib/generators/hot_glue/scaffold_generator.rb | 7 ++++++- lib/generators/hot_glue/templates/erb/_list.erb | 7 +++++++ lib/generators/hot_glue/templates/erb/_show.erb | 7 ++++++- lib/generators/hot_glue/templates/erb/edit.erb | 6 +++++- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/lib/generators/hot_glue/scaffold_generator.rb b/lib/generators/hot_glue/scaffold_generator.rb index a44e308d..76100016 100644 --- a/lib/generators/hot_glue/scaffold_generator.rb +++ b/lib/generators/hot_glue/scaffold_generator.rb @@ -98,7 +98,8 @@ class HotGlue::ScaffoldGenerator < Erb::Generators::ScaffoldGenerator class_option :code_after_update, default: nil class_option :record_scope, default: nil class_option :no_nav_menu, type: :boolean, default: false # suppress writing to _nav template - + class_option :new_button_position, type: :string, default: 'above' + class_option :downnest_shows_headings, type: :boolean, default: nil # SEARCH OPTIONS @@ -337,6 +338,9 @@ def initialize(*meta_args) @smart_layout = options['smart_layout'] @record_scope = options['record_scope'] + @downnest_shows_headings = options['downnest_shows_headings'] + @new_button_position = options['new_button_position'] + @pundit = options['pundit'] @@ -463,6 +467,7 @@ def initialize(*meta_args) identify_object_owner setup_fields + if (@columns - @show_only - (@ownership_field ? [@ownership_field.to_sym] : [])).empty? @no_field_form = true end diff --git a/lib/generators/hot_glue/templates/erb/_list.erb b/lib/generators/hot_glue/templates/erb/_list.erb index 3c99039e..1d55d258 100644 --- a/lib/generators/hot_glue/templates/erb/_list.erb +++ b/lib/generators/hot_glue/templates/erb/_list.erb @@ -7,7 +7,9 @@ <% end %> <% end %> + <% if @new_button_position == 'above' %> <% unless @no_create %><%= '<%= render partial: "' + ((@namespace+"/" if @namespace) || "") + @controller_build_folder + '/new_button", locals: {}' + @nested_set.collect{|arg| ".merge(defined?(#{arg[:singular]}) ? {#{arg[:singular]}: #{arg[:singular]}} : {})"}.join() + ' %\>'.gsub('\\',"") %>
<% end %> + <% end %> <% unless @no_list %> <% unless @no_list_heading %> @@ -66,5 +68,10 @@ <% end %> <%= @no_paginate ? "" : paginate %> <% end %> + + + <% if @new_button_position == 'below' %> + <% unless @no_create %><%= '<%= render partial: "' + ((@namespace+"/" if @namespace) || "") + @controller_build_folder + '/new_button", locals: {}' + @nested_set.collect{|arg| ".merge(defined?(#{arg[:singular]}) ? {#{arg[:singular]}: #{arg[:singular]}} : {})"}.join() + ' %\>'.gsub('\\',"") %>
<% end %> + <% end %> <\% end %> diff --git a/lib/generators/hot_glue/templates/erb/_show.erb b/lib/generators/hot_glue/templates/erb/_show.erb index 1bd1b425..0155dc30 100644 --- a/lib/generators/hot_glue/templates/erb/_show.erb +++ b/lib/generators/hot_glue/templates/erb/_show.erb @@ -12,7 +12,12 @@ <% downnest_object_name = eval("#{downnest_class}.table_name") %> <% downnest_style = @layout_strategy.downnest_style %> <% if !@stacked_downnesting %>
><% end %> - <\%= render partial: "<%= namespace_with_trailing_dash %><%= downnest_object_name %>/list", locals: { + <% if @downnest_shows_headings %> +

+ <%= downnest_object_name.pluralize.humanize %> +

+ <% end %> + <\%= render partial: "<%= namespace_with_trailing_dash %><%= downnest_object_name %>/list", locals: { <%= @singular %>: <%= @singular %>, <%= downnest_object_name %>: <%= @singular %>.<%= downnest %> } diff --git a/lib/generators/hot_glue/templates/erb/edit.erb b/lib/generators/hot_glue/templates/erb/edit.erb index 7b383a78..ede564c8 100644 --- a/lib/generators/hot_glue/templates/erb/edit.erb +++ b/lib/generators/hot_glue/templates/erb/edit.erb @@ -20,7 +20,11 @@ <% downnest_class = downnest_object.class_name %> <% downnest_object_name = eval("#{downnest_class}.table_name") %> <% downnest_style = @layout_strategy.downnest_style %> - + <% if @downnest_shows_headings %> +

+ <%= downnest_class.humanize %> +

+ <% end %> <\%= render partial: "<%= namespace_with_trailing_dash %><%= downnest_object_name %>/list", locals: {<%= @singular %>: @<%= @singular %>, <%= downnest_object_name %>: @<%= @singular %>.<%= downnest %><% if @nested_set.any? %>, <%= @nested_set.collect{|x| "#{x[:singular]}: @#{x[:singular]}"}.join(", ") %>, nested_for: "<%= @nested_set.collect{|x| "#{x[:singular]}-" + "\#{" + "@#{x[:singular]}.id}"}.join("__") %>__<%= singular %>-#{@<%= @singular %>.id}" <% end %> } \%>