From 2ac379adafa232c738646479c38b10f44e2d4818 Mon Sep 17 00:00:00 2001 From: shibao Date: Tue, 15 Feb 2022 22:33:36 -0500 Subject: [PATCH] add more ammo type fields, filter index columns --- lib/cannery/ammo/ammo_type.ex | 18 ++- lib/cannery_web/components/ammo_group_card.ex | 3 +- .../live/ammo_group_live/show.html.heex | 3 +- .../ammo_type_live/form_component.html.heex | 40 +++++- lib/cannery_web/live/ammo_type_live/index.ex | 32 ++++- .../live/ammo_type_live/index.html.heex | 56 ++------ .../live/ammo_type_live/show.html.heex | 6 +- priv/gettext/actions.pot | 6 +- priv/gettext/default.pot | 124 ++++++++++++------ priv/gettext/prompts.pot | 6 +- .../20210903015537_create_ammo_types.exs | 6 +- 11 files changed, 192 insertions(+), 108 deletions(-) diff --git a/lib/cannery/ammo/ammo_type.ex b/lib/cannery/ammo/ammo_type.ex index 06d71e4e..71e8eef6 100644 --- a/lib/cannery/ammo/ammo_type.ex +++ b/lib/cannery/ammo/ammo_type.ex @@ -23,6 +23,10 @@ defmodule Cannery.Ammo.AmmoType do field :cartridge, :string field :caliber, :string field :case_material, :string + field :jacket_type, :string + field :muzzle_velocity, :integer + field :powder_type, :string + field :powder_grains_per_charge, :integer field :grains, :integer field :pressure, :string field :primer_type, :string @@ -33,7 +37,7 @@ defmodule Cannery.Ammo.AmmoType do field :corrosive, :boolean, null: false, default: false field :manufacturer, :string - field :sku, :string + field :upc, :string belongs_to :user, User @@ -51,6 +55,10 @@ defmodule Cannery.Ammo.AmmoType do cartridge: String.t() | nil, caliber: String.t() | nil, case_material: String.t() | nil, + jacket_type: String.t() | nil, + muzzle_velocity: integer() | nil, + powder_type: String.t() | nil, + powder_grains_per_charge: integer() | nil, grains: integer() | nil, pressure: String.t() | nil, primer_type: String.t() | nil, @@ -60,7 +68,7 @@ defmodule Cannery.Ammo.AmmoType do blank: boolean(), corrosive: boolean(), manufacturer: String.t() | nil, - sku: String.t() | nil, + upc: String.t() | nil, user_id: User.id(), user: User.t() | nil, ammo_groups: [AmmoGroup.t()] | nil, @@ -80,6 +88,10 @@ defmodule Cannery.Ammo.AmmoType do :cartridge, :caliber, :case_material, + :jacket_type, + :muzzle_velocity, + :powder_type, + :powder_grains_per_charge, :grains, :pressure, :primer_type, @@ -89,7 +101,7 @@ defmodule Cannery.Ammo.AmmoType do :blank, :corrosive, :manufacturer, - :sku + :upc ] @doc false diff --git a/lib/cannery_web/components/ammo_group_card.ex b/lib/cannery_web/components/ammo_group_card.ex index 478ce53e..88f4fcc5 100644 --- a/lib/cannery_web/components/ammo_group_card.ex +++ b/lib/cannery_web/components/ammo_group_card.ex @@ -38,7 +38,8 @@ defmodule CanneryWeb.Components.AmmoGroupCard do <%= if @ammo_group.price_paid do %> - <%= gettext("Price paid:") %> <%= gettext("$%{amount}", amount: @ammo_group.price_paid |> :erlang.float_to_binary(decimals: 2)) %> + <%= gettext("Price paid:") %> + <%= gettext("$%{amount}", amount: @ammo_group.price_paid |> :erlang.float_to_binary(decimals: 2)) %> <% end %> diff --git a/lib/cannery_web/live/ammo_group_live/show.html.heex b/lib/cannery_web/live/ammo_group_live/show.html.heex index 66b2cddd..33c4525a 100644 --- a/lib/cannery_web/live/ammo_group_live/show.html.heex +++ b/lib/cannery_web/live/ammo_group_live/show.html.heex @@ -18,7 +18,8 @@ <%= if @ammo_group.price_paid do %> - <%= gettext("Price paid:") %> <%= gettext("$%{amount}", amount: @ammo_group.price_paid |> :erlang.float_to_binary(decimals: 2)) %> + <%= gettext("Price paid:") %> + <%= gettext("$%{amount}", amount: @ammo_group.price_paid |> :erlang.float_to_binary(decimals: 2)) %> <% end %> diff --git a/lib/cannery_web/live/ammo_type_live/form_component.html.heex b/lib/cannery_web/live/ammo_type_live/form_component.html.heex index 3fe52544..e1fce8a0 100644 --- a/lib/cannery_web/live/ammo_type_live/form_component.html.heex +++ b/lib/cannery_web/live/ammo_type_live/form_component.html.heex @@ -69,6 +69,40 @@ ) %> <%= error_tag(f, :case_material, "col-span-3 text-center") %> + <%= label(f, :jacket_type, gettext("Jacket type"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :jacket_type, + class: "text-center col-span-2 input input-primary", + placeholder: gettext("Bimetal") + ) %> + <%= error_tag(f, :case_material, "col-span-3 text-center") %> + + <%= label(f, :muzzle_velocity, gettext("Muzzle velocity"), + class: "mr-4 title text-lg text-primary-500" + ) %> + <%= number_input(f, :muzzle_velocity, + step: "1", + class: "text-center col-span-2 input input-primary", + min: 1 + ) %> + <%= error_tag(f, :muzzle_velocity, "col-span-3 text-center") %> + + <%= label(f, :powder_type, gettext("Powder type"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :powder_type, + class: "text-center col-span-2 input input-primary", + placeholder: gettext("Brass") + ) %> + <%= error_tag(f, :powder_type, "col-span-3 text-center") %> + + <%= label(f, :powder_grains_per_charge, gettext("Powder grains per charge"), + class: "mr-4 title text-lg text-primary-500" + ) %> + <%= number_input(f, :powder_grains_per_charge, + step: "1", + class: "text-center col-span-2 input input-primary", + min: 1 + ) %> + <%= error_tag(f, :powder_grains_per_charge, "col-span-3 text-center") %> + <%= label(f, :grains, gettext("Grains"), class: "mr-4 title text-lg text-primary-500") %> <%= number_input(f, :grains, step: "1", @@ -115,9 +149,9 @@ <%= text_input(f, :manufacturer, class: "text-center col-span-2 input input-primary") %> <%= error_tag(f, :manufacturer, "col-span-3 text-center") %> - <%= label(f, :sku, gettext("SKU"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :sku, class: "text-center col-span-2 input input-primary") %> - <%= error_tag(f, :sku, "col-span-3 text-center") %> + <%= label(f, :upc, gettext("UPC"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :upc, class: "text-center col-span-2 input input-primary") %> + <%= error_tag(f, :upc, "col-span-3 text-center") %> <%= submit(dgettext("actions", "Save"), phx_disable_with: dgettext("prompts", "Saving..."), diff --git a/lib/cannery_web/live/ammo_type_live/index.ex b/lib/cannery_web/live/ammo_type_live/index.ex index e2378488..e506db3e 100644 --- a/lib/cannery_web/live/ammo_type_live/index.ex +++ b/lib/cannery_web/live/ammo_type_live/index.ex @@ -44,6 +44,36 @@ defmodule CanneryWeb.AmmoTypeLive.Index do end defp list_ammo_types(%{assigns: %{current_user: current_user}} = socket) do - socket |> assign(:ammo_types, Ammo.list_ammo_types(current_user)) + ammo_types = Ammo.list_ammo_types(current_user) + + columns_to_display = + [ + {gettext("Name"), :name, :string}, + {gettext("Bullet type"), :bullet_type, :string}, + {gettext("Bullet core"), :bullet_core, :string}, + {gettext("Cartridge"), :cartridge, :string}, + {gettext("Caliber"), :caliber, :string}, + {gettext("Case material"), :case_material, :string}, + {gettext("Jacket type"), :jacket_type, :string}, + {gettext("Muzzle velocity"), :muzzle_velocity, :string}, + {gettext("Powder type"), :powder_type, :string}, + {gettext("Powder grains per charge"), :powder_grains_per_charge, :string}, + {gettext("Grains"), :grains, :string}, + {gettext("Pressure"), :pressure, :string}, + {gettext("Primer type"), :primer_type, :string}, + {gettext("Rimfire"), :rimfire, :boolean}, + {gettext("Tracer"), :tracer, :boolean}, + {gettext("Incendiary"), :incendiary, :boolean}, + {gettext("Blank"), :blank, :boolean}, + {gettext("Corrosive"), :corrosive, :boolean}, + {gettext("Manufacturer"), :manufacturer, :string}, + {gettext("UPC"), :upc, :string} + ] + # filter columns to only used ones + |> Enum.filter(fn {_label, field, _type} -> + ammo_types |> Enum.any?(fn ammo_type -> not (ammo_type |> Map.get(field) |> is_nil()) end) + end) + + socket |> assign(ammo_types: ammo_types, columns_to_display: columns_to_display) end end diff --git a/lib/cannery_web/live/ammo_type_live/index.html.heex b/lib/cannery_web/live/ammo_type_live/index.html.heex index cfd69595..278b8657 100644 --- a/lib/cannery_web/live/ammo_type_live/index.html.heex +++ b/lib/cannery_web/live/ammo_type_live/index.html.heex @@ -22,24 +22,7 @@ - <%= for field_name <- [ - gettext("Name"), - gettext("Bullet type"), - gettext("Bullet core"), - gettext("Cartridge"), - gettext("Caliber"), - gettext("Case material"), - gettext("Grains"), - gettext("Pressure"), - gettext("Primer type"), - gettext("Rimfire"), - gettext("Tracer"), - gettext("Incendiary"), - gettext("Blank"), - gettext("Corrosive"), - gettext("Manufacturer"), - gettext("Sku") - ] do %> + <%= for {field_name, _field, _type} <- @columns_to_display do %> @@ -51,37 +34,14 @@ <%= for ammo_type <- @ammo_types do %> - <%= for field <- [ - :name, - :bullet_type, - :bullet_core, - :cartridge, - :caliber, - :case_material, - :grains, - :pressure, - :primer_type - ] do %> + <%= for {_label, field, type} <- @columns_to_display do %> - <% end %> - - <%= for field <- [ - :rimfire, - :tracer, - :incendiary, - :blank, - :corrosive - ] do %> - - <% end %> - - <%= for field <- [:manufacturer, :sku] do %> - <% end %> diff --git a/lib/cannery_web/live/ammo_type_live/show.html.heex b/lib/cannery_web/live/ammo_type_live/show.html.heex index 51aa4558..d16742d2 100644 --- a/lib/cannery_web/live/ammo_type_live/show.html.heex +++ b/lib/cannery_web/live/ammo_type_live/show.html.heex @@ -38,6 +38,10 @@ {gettext("Cartridge"), :cartridge}, {gettext("Caliber"), :caliber}, {gettext("Case material"), :case_material}, + {gettext("Jacket type"), :jacket_type}, + {gettext("Muzzle velocity"), :muzzle_velocity}, + {gettext("Powder type"), :powder_type}, + {gettext("Powder grains per charge"), :powder_grains_per_charge}, {gettext("Grains"), :grains}, {gettext("Pressure"), :pressure}, {gettext("Primer type"), :primer_type} @@ -69,7 +73,7 @@ <% end %> - <%= for {field_name, field} <- [{"Manufacturer", :manufacturer}, {"Sku", :sku}] do %> + <%= for {field_name, field} <- [{"Manufacturer", :manufacturer}, {"UPC", :upc}] do %> <%= if @ammo_type |> Map.get(field) do %>

<%= field_name %> : diff --git a/priv/gettext/actions.pot b/priv/gettext/actions.pot index 23d14ef2..6ce7dbc8 100644 --- a/priv/gettext/actions.pot +++ b/priv/gettext/actions.pot @@ -126,7 +126,7 @@ msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/components/add_shot_group_component.html.heex:42 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:54 -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:122 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:156 #: lib/cannery_web/live/container_live/form_component.html.heex:50 #: lib/cannery_web/live/invite_live/form_component.html.heex:28 #: lib/cannery_web/live/range_live/form_component.html.heex:40 @@ -165,7 +165,7 @@ msgid "Record shots" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_group_live/show.html.heex:27 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:28 msgid "Ammo Details" msgstr "" @@ -175,7 +175,7 @@ msgid "Add another container!" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_group_live/show.html.heex:48 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:49 msgid "Move to different container" msgstr "" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 1600244b..566eba86 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -44,7 +44,7 @@ msgid "Ammo type" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/show.html.heex:86 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:90 msgid "Average Price paid" msgstr "" @@ -54,47 +54,48 @@ msgid "Background color" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:38 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 +#: lib/cannery_web/live/ammo_type_live/index.ex:67 msgid "Blank" msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:68 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:92 msgid "Brass" msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:28 +#: lib/cannery_web/live/ammo_type_live/index.ex:53 #: lib/cannery_web/live/ammo_type_live/show.html.heex:37 msgid "Bullet core" msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:27 +#: lib/cannery_web/live/ammo_type_live/index.ex:52 #: lib/cannery_web/live/ammo_type_live/show.html.heex:36 msgid "Bullet type" msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:30 +#: lib/cannery_web/live/ammo_type_live/index.ex:55 #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 msgid "Caliber" msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:29 +#: lib/cannery_web/live/ammo_type_live/index.ex:54 #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 msgid "Cartridge" msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:31 +#: lib/cannery_web/live/ammo_type_live/index.ex:56 #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 msgid "Case material" msgstr "" @@ -113,8 +114,8 @@ msgid "Containers" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:110 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 +#: lib/cannery_web/live/ammo_type_live/index.ex:68 msgid "Corrosive" msgstr "" @@ -196,15 +197,15 @@ msgid "FMJ" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:32 -#: lib/cannery_web/live/ammo_type_live/show.html.heex:41 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:106 +#: lib/cannery_web/live/ammo_type_live/index.ex:61 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:45 msgid "Grains" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:102 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:37 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 +#: lib/cannery_web/live/ammo_type_live/index.ex:66 msgid "Incendiary" msgstr "" @@ -277,8 +278,8 @@ msgid "Manage" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:114 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:40 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 +#: lib/cannery_web/live/ammo_type_live/index.ex:69 msgid "Manufacturer" msgstr "" @@ -294,7 +295,7 @@ msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:26 +#: lib/cannery_web/live/ammo_type_live/index.ex:51 #: lib/cannery_web/live/container_live/form_component.html.heex:20 #: lib/cannery_web/live/invite_live/form_component.html.heex:20 #: lib/cannery_web/live/tag_live/form_component.ex:50 @@ -332,7 +333,7 @@ msgid "No Ammo Types" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/show.html.heex:99 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:103 msgid "No ammo for this type" msgstr "" @@ -377,9 +378,9 @@ msgid "On the bookshelf" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:80 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 -#: lib/cannery_web/live/ammo_type_live/show.html.heex:42 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:114 +#: lib/cannery_web/live/ammo_type_live/index.ex:62 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:46 msgid "Pressure" msgstr "" @@ -396,9 +397,9 @@ msgid "Price paid:" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:87 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:34 -#: lib/cannery_web/live/ammo_type_live/show.html.heex:43 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:121 +#: lib/cannery_web/live/ammo_type_live/index.ex:63 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:47 msgid "Primer type" msgstr "" @@ -408,16 +409,11 @@ msgid "Public Signups" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:94 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:35 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:128 +#: lib/cannery_web/live/ammo_type_live/index.ex:64 msgid "Rimfire" msgstr "" -#, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 -msgid "SKU" -msgstr "" - #, elixir-format, ex-autogen #: lib/cannery_web/live/home_live.ex:63 msgid "Secure:" @@ -458,18 +454,13 @@ msgstr "" msgid "Simple:" msgstr "" -#, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/index.html.heex:41 -msgid "Sku" -msgstr "" - #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:47 msgid "Steel" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_group_live/show.html.heex:59 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:60 msgid "Stored in" msgstr "" @@ -496,13 +487,13 @@ msgid "The self-hosted firearm tracker website" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_group_live/show.html.heex:64 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:65 msgid "This ammo group is not in a container" msgstr "" #, elixir-format, ex-autogen -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:98 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:36 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 +#: lib/cannery_web/live/ammo_type_live/index.ex:65 msgid "Tracer" msgstr "" @@ -580,14 +571,14 @@ msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_group_live/index.html.heex:78 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:45 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:46 #: lib/cannery_web/live/range_live/index.html.heex:30 msgid "Stage for range" msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_group_live/index.html.heex:78 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:45 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:46 #: lib/cannery_web/live/range_live/index.html.heex:30 msgid "Unstage from range" msgstr "" @@ -674,3 +665,50 @@ msgstr "" #: lib/cannery_web/live/range_live/index.html.heex:49 msgid "Shot log" msgstr "" + +#, elixir-format, ex-autogen +#: lib/cannery_web/components/ammo_group_card.ex:42 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:63 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:22 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:94 +msgid "$%{amount}" +msgstr "" + +#, elixir-format, ex-autogen +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:75 +msgid "Bimetal" +msgstr "" + +#, elixir-format, ex-autogen +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 +#: lib/cannery_web/live/ammo_type_live/index.ex:57 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:41 +msgid "Jacket type" +msgstr "" + +#, elixir-format, ex-autogen +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 +#: lib/cannery_web/live/ammo_type_live/index.ex:58 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:42 +msgid "Muzzle velocity" +msgstr "" + +#, elixir-format, ex-autogen +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:96 +#: lib/cannery_web/live/ammo_type_live/index.ex:60 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:44 +msgid "Powder grains per charge" +msgstr "" + +#, elixir-format, ex-autogen +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 +#: lib/cannery_web/live/ammo_type_live/index.ex:59 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:43 +msgid "Powder type" +msgstr "" + +#, elixir-format, ex-autogen +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 +#: lib/cannery_web/live/ammo_type_live/index.ex:70 +msgid "UPC" +msgstr "" diff --git a/priv/gettext/prompts.pot b/priv/gettext/prompts.pot index 99718e82..fc09ad08 100644 --- a/priv/gettext/prompts.pot +++ b/priv/gettext/prompts.pot @@ -98,8 +98,8 @@ msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/live/ammo_group_live/index.html.heex:107 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:40 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:104 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:41 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:64 msgid "Are you sure you want to delete this ammo?" msgstr "" @@ -161,7 +161,7 @@ msgstr "" #, elixir-format, ex-autogen #: lib/cannery_web/components/add_shot_group_component.html.heex:44 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:55 -#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:123 +#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:157 #: lib/cannery_web/live/container_live/form_component.html.heex:52 #: lib/cannery_web/live/invite_live/form_component.html.heex:30 #: lib/cannery_web/live/range_live/form_component.html.heex:42 diff --git a/priv/repo/migrations/20210903015537_create_ammo_types.exs b/priv/repo/migrations/20210903015537_create_ammo_types.exs index e7116b5d..8e554af8 100644 --- a/priv/repo/migrations/20210903015537_create_ammo_types.exs +++ b/priv/repo/migrations/20210903015537_create_ammo_types.exs @@ -13,6 +13,10 @@ defmodule Cannery.Repo.Migrations.CreateAmmoTypes do add :cartridge, :string add :caliber, :string add :case_material, :string + add :jacket_type, :string + add :muzzle_velocity, :integer + add :powder_type, :string + add :powder_grains_per_charge, :integer add :grains, :integer add :pressure, :string add :primer_type, :string @@ -23,7 +27,7 @@ defmodule Cannery.Repo.Migrations.CreateAmmoTypes do add :corrosive, :boolean, null: false, default: false add :manufacturer, :string - add :sku, :string + add :upc, :string add :user_id, references(:users, on_delete: :delete_all, type: :binary_id)

<%= field_name %>
- <%= ammo_type |> Map.get(field) %> - - <%= ammo_type |> Map.get(field) |> humanize() %> - - <%= ammo_type |> Map.get(field) %> + <%= case type do %> + <% :boolean -> %> + <%= ammo_type |> Map.get(field) |> humanize() %> + <% _other -> %> + <%= ammo_type |> Map.get(field) %> + <% end %>