From e492cd7af6aab71eb25a821e7052015813974a00 Mon Sep 17 00:00:00 2001 From: andrew nimmo Date: Sun, 24 Mar 2024 14:52:49 -0700 Subject: [PATCH 1/6] Adjust form templates, use simplified matrix boxes for "current"/"last" --- .../field_slips/_field_slip.html.erb | 3 +- .../field_slips/_field_slip.json.jbuilder | 0 .../controllers/field_slips/_form.html.erb | 49 ++++++++++++++ .../field_slips/edit.html.erb | 0 .../field_slips/index.html.erb | 0 .../field_slips/index.json.jbuilder | 0 .../field_slips/new.html.erb | 0 .../field_slips/show.html.erb | 0 .../field_slips/show.json.jbuilder | 0 app/views/controllers/shared/_matrix_box.erb | 6 +- app/views/field_slips/_form.html.erb | 65 ------------------- 11 files changed, 55 insertions(+), 68 deletions(-) rename app/views/{ => controllers}/field_slips/_field_slip.html.erb (87%) rename app/views/{ => controllers}/field_slips/_field_slip.json.jbuilder (100%) create mode 100644 app/views/controllers/field_slips/_form.html.erb rename app/views/{ => controllers}/field_slips/edit.html.erb (100%) rename app/views/{ => controllers}/field_slips/index.html.erb (100%) rename app/views/{ => controllers}/field_slips/index.json.jbuilder (100%) rename app/views/{ => controllers}/field_slips/new.html.erb (100%) rename app/views/{ => controllers}/field_slips/show.html.erb (100%) rename app/views/{ => controllers}/field_slips/show.json.jbuilder (100%) delete mode 100644 app/views/field_slips/_form.html.erb diff --git a/app/views/field_slips/_field_slip.html.erb b/app/views/controllers/field_slips/_field_slip.html.erb similarity index 87% rename from app/views/field_slips/_field_slip.html.erb rename to app/views/controllers/field_slips/_field_slip.html.erb index eb797180c4..1b38068074 100644 --- a/app/views/field_slips/_field_slip.html.erb +++ b/app/views/controllers/field_slips/_field_slip.html.erb @@ -16,7 +16,8 @@ <%= link_to(field_slip.observation.unique_format_name.t, observation_path(field_slip.observation)) %> <% else %> <%= :field_slip_no_observation.t %> diff --git a/app/views/field_slips/_field_slip.json.jbuilder b/app/views/controllers/field_slips/_field_slip.json.jbuilder similarity index 100% rename from app/views/field_slips/_field_slip.json.jbuilder rename to app/views/controllers/field_slips/_field_slip.json.jbuilder diff --git a/app/views/controllers/field_slips/_form.html.erb b/app/views/controllers/field_slips/_form.html.erb new file mode 100644 index 0000000000..689a3678c1 --- /dev/null +++ b/app/views/controllers/field_slips/_form.html.erb @@ -0,0 +1,49 @@ +<%= form_with(model: field_slip) do |form| %> + <% if field_slip.errors.any? %> +
+ <%= "#{pluralize(field_slip.errors.count, + :error.t, plural: :errors.t)} #{:field_slip_errors.t}" %>: + +
+ <% end %> + + <%= text_field_with_label(form: form, field: :code) %> + + <% if @field_slip.projects %> + <%= select_with_label(form: form, field: :project_id, + options: @field_slip.projects) %> + <% end %> + +
+ <% if field_slip.observation %> +
+ <% btn = submit_button(form: form, button: :field_slip_keep_obs.t) %> +
    + <%= render(partial: "shared/matrix_box", + locals: { object: field_slip.observation, votes: false, + footer: panel_block_footer(footer: btn), + columns: "col-xs-12" }) %> +
+
+ <% end %> + <% if last_observation %> +
+ <% btn = submit_button(form: form, button: :field_slip_last_obs.t) %> +
    + <%= render(partial: "shared/matrix_box", + locals: { object: last_observation, votes: false, + footer: panel_block_footer(footer: btn), + columns: "col-xs-12" }) %> +
+
+ <% end %> +
+ + <%= submit_button(form: form, button: :field_slip_create_obs.t, + class: "my-5") %> + +<% end %> diff --git a/app/views/field_slips/edit.html.erb b/app/views/controllers/field_slips/edit.html.erb similarity index 100% rename from app/views/field_slips/edit.html.erb rename to app/views/controllers/field_slips/edit.html.erb diff --git a/app/views/field_slips/index.html.erb b/app/views/controllers/field_slips/index.html.erb similarity index 100% rename from app/views/field_slips/index.html.erb rename to app/views/controllers/field_slips/index.html.erb diff --git a/app/views/field_slips/index.json.jbuilder b/app/views/controllers/field_slips/index.json.jbuilder similarity index 100% rename from app/views/field_slips/index.json.jbuilder rename to app/views/controllers/field_slips/index.json.jbuilder diff --git a/app/views/field_slips/new.html.erb b/app/views/controllers/field_slips/new.html.erb similarity index 100% rename from app/views/field_slips/new.html.erb rename to app/views/controllers/field_slips/new.html.erb diff --git a/app/views/field_slips/show.html.erb b/app/views/controllers/field_slips/show.html.erb similarity index 100% rename from app/views/field_slips/show.html.erb rename to app/views/controllers/field_slips/show.html.erb diff --git a/app/views/field_slips/show.json.jbuilder b/app/views/controllers/field_slips/show.json.jbuilder similarity index 100% rename from app/views/field_slips/show.json.jbuilder rename to app/views/controllers/field_slips/show.json.jbuilder diff --git a/app/views/controllers/shared/_matrix_box.erb b/app/views/controllers/shared/_matrix_box.erb index ba3b65c23e..d8dba76437 100644 --- a/app/views/controllers/shared/_matrix_box.erb +++ b/app/views/controllers/shared/_matrix_box.erb @@ -18,6 +18,9 @@ if presenter else image_args = {} end + footer_components = passed_args[:footer].presence || + [matrix_box_log_footer(presenter), + matrix_box_identify_footer(identify, presenter.id)] %> <%= matrix_box(columns: columns, id: object_id) do @@ -29,8 +32,7 @@ if presenter matrix_box_details(presenter, object_id, identify), ].safe_join end, - matrix_box_log_footer(presenter), - matrix_box_identify_footer(identify, presenter.id) + *footer_components ].safe_join end end %> diff --git a/app/views/field_slips/_form.html.erb b/app/views/field_slips/_form.html.erb deleted file mode 100644 index 67f9c2e83b..0000000000 --- a/app/views/field_slips/_form.html.erb +++ /dev/null @@ -1,65 +0,0 @@ -<%= form_with(model: field_slip) do |form| %> - <% if field_slip.errors.any? %> -
- <%= "#{pluralize(field_slip.errors.count, - :error.t, plural: :errors.t)} #{:field_slip_errors.t}" %>: - -
- <% end %> - -
- <%= text_field_with_label(form: form, field: :code) %> -
- - <% if @field_slip.projects %> -
- <%= select_with_label(form: form, field: :project_id, options: @field_slip.projects) %> -
- <% end %> - - <% if field_slip&.observation - current = field_slip.observation %> -
- Current Observation:
- <% if current.thumb_image_id %> - <%= image_tag(Image.url(:thumbnail, current.thumb_image_id)) %>
- <% end %> - <%= link_to(current.unique_format_name.t, observation_path(current)) %> -
-
- <%= submit_button(form: form, button: :field_slip_keep_obs.t) %> -
-
- <% end %> - -
- -
- <%= submit_button(form: form, button: :field_slip_create_obs.t) %> -
- -
-
- - <% obs = last_observation - if obs %> -
- Last Observation:
- <% if obs.thumb_image_id %> - <%= image_tag(Image.url(:thumbnail, obs.thumb_image_id)) %>
- <% end %> - <%= link_to(obs.unique_format_name.t, observation_path(obs)) %> -
- -
- -
- <%= submit_button(form: form, button: :field_slip_last_obs.t) %> -
- - <% end %> -<% end %> From dbd283517a0c7b5d3c756b85b4d2e9bc57e9bcd6 Mon Sep 17 00:00:00 2001 From: andrew nimmo Date: Sun, 24 Mar 2024 15:13:30 -0700 Subject: [PATCH 2/6] Update _matrix_box.erb Make header/footer more flexible --- app/views/controllers/shared/_matrix_box.erb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/views/controllers/shared/_matrix_box.erb b/app/views/controllers/shared/_matrix_box.erb index d8dba76437..2559af3fdb 100644 --- a/app/views/controllers/shared/_matrix_box.erb +++ b/app/views/controllers/shared/_matrix_box.erb @@ -18,14 +18,21 @@ if presenter else image_args = {} end - footer_components = passed_args[:footer].presence || - [matrix_box_log_footer(presenter), - matrix_box_identify_footer(identify, presenter.id)] + header_components = passed_args[:header].presence || [] + footer_components = + if passed_args[:footer] == false + [] + else + passed_args[:footer].presence || + [matrix_box_log_footer(presenter), + matrix_box_identify_footer(identify, presenter.id)] + end %> <%= matrix_box(columns: columns, id: object_id) do tag.div(class: "panel panel-default") do [ + *header_components, tag.div(class: "panel-sizing") do [ matrix_box_image(image, **image_args), From 9ee319c1173cf7a454e711be0da4ea699d34a683 Mon Sep 17 00:00:00 2001 From: andrew nimmo Date: Sun, 24 Mar 2024 15:54:57 -0700 Subject: [PATCH 3/6] Use simpler markup, but DRY --- .../controllers/field_slips/_obs_thumbnail.erb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/views/controllers/field_slips/_obs_thumbnail.erb diff --git a/app/views/controllers/field_slips/_obs_thumbnail.erb b/app/views/controllers/field_slips/_obs_thumbnail.erb new file mode 100644 index 0000000000..bde2bc60e4 --- /dev/null +++ b/app/views/controllers/field_slips/_obs_thumbnail.erb @@ -0,0 +1,14 @@ + <%= tag.div(class: "panel panel-default") do + [ + panel_block_heading( + heading: submit_button(form: form, button: button) + ), + tag.div(class: "thumbnail-container") do + interactive_image(obs.thumb_image_id, votes: false, + class: "img-responsive") + end, + tag.div(class: "panel-body") do + link_to(obs.unique_format_name.t, observation_path(obs)) + end + ].safe_join + end %> From 09f445855fae8f38ae545dc073e9001e990a7597 Mon Sep 17 00:00:00 2001 From: andrew nimmo Date: Sun, 24 Mar 2024 15:55:05 -0700 Subject: [PATCH 4/6] Update _form.html.erb --- .../controllers/field_slips/_form.html.erb | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/app/views/controllers/field_slips/_form.html.erb b/app/views/controllers/field_slips/_form.html.erb index 689a3678c1..5cc8ace361 100644 --- a/app/views/controllers/field_slips/_form.html.erb +++ b/app/views/controllers/field_slips/_form.html.erb @@ -18,32 +18,24 @@ options: @field_slip.projects) %> <% end %> + <%= submit_button(form: form, button: :field_slip_create_obs.t, + class: "my-5") %> +
<% if field_slip.observation %>
- <% btn = submit_button(form: form, button: :field_slip_keep_obs.t) %> -
    - <%= render(partial: "shared/matrix_box", - locals: { object: field_slip.observation, votes: false, - footer: panel_block_footer(footer: btn), - columns: "col-xs-12" }) %> -
+ <%= render(partial: "field_slips/obs_thumbnail", + locals: { obs: field_slip.observation, form: form, + button: :field_slip_keep_obs.t }) %>
<% end %> <% if last_observation %>
- <% btn = submit_button(form: form, button: :field_slip_last_obs.t) %> -
    - <%= render(partial: "shared/matrix_box", - locals: { object: last_observation, votes: false, - footer: panel_block_footer(footer: btn), - columns: "col-xs-12" }) %> -
+ <%= render(partial: "field_slips/obs_thumbnail", + locals: { obs: last_observation, form: form, + button: :field_slip_last_obs.t }) %>
<% end %>
- <%= submit_button(form: form, button: :field_slip_create_obs.t, - class: "my-5") %> - <% end %> From e81abcd7a5a6b917450efd8051a26db3ba8c2134 Mon Sep 17 00:00:00 2001 From: Nathan Wilson Date: Sun, 24 Mar 2024 20:12:43 -0400 Subject: [PATCH 5/6] Change the name of the link due to the page rearrangement --- config/locales/en.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/en.txt b/config/locales/en.txt index 4b81c3093b..6756b855bd 100644 --- a/config/locales/en.txt +++ b/config/locales/en.txt @@ -2772,7 +2772,7 @@ field_slip_editing: Editing Field Slip field_slip_errors: prohibited this field_slip from being saved field_slip_index: Back to field slips - field_slip_keep_obs: Keep Above + field_slip_keep_obs: Keep Current field_slip_last_obs: Use Last Observation field_slip_new: Record Field Slip field_slip_no_observation: Observation not found From 0702ccd4c5e5f9ec0669175c2a93e8bf591517de Mon Sep 17 00:00:00 2001 From: andrew nimmo Date: Sun, 24 Mar 2024 23:21:44 -0700 Subject: [PATCH 6/6] Different order for new/edit, fix image link bug --- .../controllers/field_slips/_form.html.erb | 11 ++++++++-- .../field_slips/_obs_thumbnail.erb | 22 +++++++++---------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/views/controllers/field_slips/_form.html.erb b/app/views/controllers/field_slips/_form.html.erb index 5cc8ace361..59bc645288 100644 --- a/app/views/controllers/field_slips/_form.html.erb +++ b/app/views/controllers/field_slips/_form.html.erb @@ -1,3 +1,7 @@ +<% +action = controller.action_name +%> + <%= form_with(model: field_slip) do |form| %> <% if field_slip.errors.any? %>
@@ -19,9 +23,9 @@ <% end %> <%= submit_button(form: form, button: :field_slip_create_obs.t, - class: "my-5") %> + class: "mt-5") if action == "new" %> -
+
<% if field_slip.observation %>
<%= render(partial: "field_slips/obs_thumbnail", @@ -38,4 +42,7 @@ <% end %>
+ <%= submit_button(form: form, button: :field_slip_create_obs.t, + class: "my-5") if action == "edit" %> + <% end %> diff --git a/app/views/controllers/field_slips/_obs_thumbnail.erb b/app/views/controllers/field_slips/_obs_thumbnail.erb index bde2bc60e4..92683315e8 100644 --- a/app/views/controllers/field_slips/_obs_thumbnail.erb +++ b/app/views/controllers/field_slips/_obs_thumbnail.erb @@ -1,14 +1,12 @@ <%= tag.div(class: "panel panel-default") do - [ - panel_block_heading( - heading: submit_button(form: form, button: button) - ), - tag.div(class: "thumbnail-container") do - interactive_image(obs.thumb_image_id, votes: false, - class: "img-responsive") - end, - tag.div(class: "panel-body") do - link_to(obs.unique_format_name.t, observation_path(obs)) - end - ].safe_join + concat(panel_block_heading( + heading: submit_button(form: form, button: button) + )) + concat(tag.div(class: "thumbnail-container") do + interactive_image(obs.thumb_image_id, votes: false, + image_link: observation_path(obs)) + end) if obs.thumb_image_id.present? + concat(tag.div(class: "panel-body") do + link_to(obs.unique_format_name.t, observation_path(obs)) + end) end %>