fix moving ammo between containers

This commit is contained in:
shibao 2022-11-10 21:45:50 -05:00
parent 0dbd1af553
commit 1c7721887f
24 changed files with 134 additions and 115 deletions

View File

@ -16,6 +16,7 @@
- Add ammo cloning
- Add ammo type cloning
- Add container cloning
- Fix bug with moving ammo packs between containers
- Update project dependencies
# v0.5.4

View File

@ -607,8 +607,12 @@ defmodule Cannery.Ammo do
"""
@spec update_ammo_group(AmmoGroup.t(), attrs :: map(), User.t()) ::
{:ok, AmmoGroup.t()} | {:error, Changeset.t(AmmoGroup.t())}
def update_ammo_group(%AmmoGroup{user_id: user_id} = ammo_group, attrs, %User{id: user_id}),
do: ammo_group |> AmmoGroup.update_changeset(attrs) |> Repo.update()
def update_ammo_group(
%AmmoGroup{user_id: user_id} = ammo_group,
attrs,
%User{id: user_id} = user
),
do: ammo_group |> AmmoGroup.update_changeset(attrs, user) |> Repo.update()
@doc """
Deletes a ammo_group.

View File

@ -10,7 +10,7 @@ defmodule Cannery.Ammo.AmmoGroup do
import CanneryWeb.Gettext
import Ecto.Changeset
alias Cannery.Ammo.{AmmoGroup, AmmoType}
alias Cannery.{Accounts.User, ActivityLog.ShotGroup, Containers.Container}
alias Cannery.{Accounts.User, ActivityLog.ShotGroup, Containers, Containers.Container}
alias Ecto.{Changeset, UUID}
@derive {Jason.Encoder,
@ -95,13 +95,24 @@ defmodule Cannery.Ammo.AmmoGroup do
end
@doc false
@spec update_changeset(t() | new_ammo_group(), attrs :: map()) ::
@spec update_changeset(t() | new_ammo_group(), attrs :: map(), User.t()) ::
Changeset.t(t() | new_ammo_group())
def update_changeset(ammo_group, attrs) do
def update_changeset(ammo_group, attrs, user) do
ammo_group
|> cast(attrs, [:count, :price_paid, :notes, :staged])
|> cast(attrs, [:count, :price_paid, :notes, :staged, :container_id])
|> validate_number(:count, greater_than_or_equal_to: 0)
|> validate_required([:count, :staged])
|> validate_container_id(user)
|> validate_required([:count, :staged, :container_id])
end
defp validate_container_id(changeset, user) do
container_id = changeset |> Changeset.get_field(:container_id)
if container_id do
Containers.get_container!(container_id, user)
end
changeset
end
@doc """

View File

@ -22,7 +22,7 @@ defmodule CanneryWeb.Components.MoveAmmoGroupComponent do
assigns,
socket
) do
changeset = ammo_group |> AmmoGroup.update_changeset(%{})
changeset = ammo_group |> AmmoGroup.update_changeset(%{}, current_user)
containers =
Containers.list_containers(current_user)

View File

@ -94,7 +94,7 @@ defmodule CanneryWeb.AmmoGroupLive.FormComponent do
ammo_group |> AmmoGroup.create_changeset(ammo_type, container, user, ammo_group_params)
action == :edit ->
ammo_group |> AmmoGroup.update_changeset(ammo_group_params)
ammo_group |> AmmoGroup.update_changeset(ammo_group_params, user)
end
changeset =

View File

@ -9,12 +9,12 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
@impl true
def mount(_params, _session, socket) do
{:ok, socket |> assign(show_used: false) |> display_ammo_groups()}
{:ok, socket |> assign(show_used: false)}
end
@impl true
def handle_params(params, _url, %{assigns: %{live_action: live_action}} = socket) do
{:noreply, apply_action(socket, live_action, params)}
{:noreply, apply_action(socket, live_action, params) |> display_ammo_groups()}
end
defp apply_action(
@ -52,7 +52,9 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
end
defp apply_action(socket, :index, _params) do
socket |> assign(:page_title, gettext("Ammo groups")) |> assign(:ammo_group, nil)
socket
|> assign(:page_title, gettext("Ammo groups"))
|> assign(:ammo_group, nil)
end
@impl true
@ -87,7 +89,8 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
%{assigns: %{current_user: current_user, show_used: show_used}} = socket
) do
ammo_groups =
Ammo.list_ammo_groups(current_user, show_used) |> Repo.preload([:ammo_type, :container])
Ammo.list_ammo_groups(current_user, show_used)
|> Repo.preload([:ammo_type, :container], force: true)
ammo_types_count = Ammo.get_ammo_types_count!(current_user)
containers_count = Containers.get_containers_count!(current_user)

View File

@ -156,7 +156,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:196
#: lib/cannery_web/live/ammo_group_live/index.ex:199
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format

View File

@ -169,7 +169,7 @@ msgstr "Munition markieren"
msgid "Why not get some ready to shoot?"
msgstr "Warum nicht einige für den Schießstand auswählen?"
#: lib/cannery_web/live/ammo_group_live/index.ex:196
#: lib/cannery_web/live/ammo_group_live/index.ex:199
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format

View File

@ -53,7 +53,7 @@ msgid "Ammo"
msgstr "Munition"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#: lib/cannery_web/live/ammo_group_live/index.ex:96
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr "Munitionsarten"
@ -118,7 +118,7 @@ msgstr "Gehäusematerial"
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Behälter"
@ -139,7 +139,7 @@ msgid "Corrosive"
msgstr "Korrosiv"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:97
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr "Anzahl"
@ -366,7 +366,7 @@ msgid "Pressure"
msgstr "Druck"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#: lib/cannery_web/live/ammo_group_live/index.ex:98
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr "Kaufpreis"
@ -500,7 +500,7 @@ msgid "No tags for this container"
msgstr "Keine Tags für diesen Behälter"
#: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr "Schießplatz"
@ -532,7 +532,7 @@ msgstr "Keine Munition selektiert"
msgid "Record shots"
msgstr "Schüsse dokumentieren"
#: lib/cannery_web/live/ammo_group_live/index.ex:55
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr "Munitionsgruppen"
@ -580,7 +580,7 @@ msgstr "Schießkladde"
msgid "Move Ammo group"
msgstr "Munitionsgruppe verschieben"
#: lib/cannery_web/live/ammo_group_live/index.ex:267
#: lib/cannery_web/live/ammo_group_live/index.ex:270
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr "Munition verschieben"
@ -596,7 +596,7 @@ msgid "Shot log"
msgstr "Schießkladde"
#: lib/cannery_web/components/ammo_group_card.ex:63
#: lib/cannery_web/live/ammo_group_live/index.ex:151
#: lib/cannery_web/live/ammo_group_live/index.ex:154
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -661,12 +661,12 @@ msgstr "Derzeitiges Passwort"
msgid "New password"
msgstr "Neues Passwort"
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr "Markiert"
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr "Demarkiert"
@ -718,7 +718,7 @@ msgstr "Zeige %{name}"
msgid "No cost information"
msgstr "Keine Preisinformationen"
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#, elixir-autogen, elixir-format
msgid "% left"
msgstr "% verbleibend"
@ -789,7 +789,7 @@ msgstr "Kopien"
msgid "Ammo types"
msgstr "Munitionsart"
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#: lib/cannery_web/live/ammo_group_live/index.ex:105
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr "Hinzugefügt am"
@ -915,7 +915,7 @@ msgstr "Behälter"
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:107
#: lib/cannery_web/live/ammo_group_live/index.ex:110
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@ -925,7 +925,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:203
#: lib/cannery_web/live/ammo_group_live/index.ex:206
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"

View File

@ -74,7 +74,7 @@ msgstr "%{name} erfolgreich aktualisiert"
msgid "A link to confirm your email change has been sent to the new address."
msgstr "Eine Mail zum Bestätigen ihre Mailadresse wurde Ihnen zugesandt."
#: lib/cannery_web/live/ammo_group_live/index.ex:62
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr "Munitionsgruppe erfolgreich gelöscht"
@ -100,7 +100,7 @@ msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?"
#: lib/cannery_web/live/ammo_group_live/index.ex:239
#: lib/cannery_web/live/ammo_group_live/index.ex:242
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"

View File

@ -38,7 +38,7 @@ msgid "Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#: lib/cannery_web/live/ammo_group_live/index.ex:96
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr ""
@ -103,7 +103,7 @@ msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -124,7 +124,7 @@ msgid "Corrosive"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:97
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@ -351,7 +351,7 @@ msgid "Pressure"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#: lib/cannery_web/live/ammo_group_live/index.ex:98
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@ -483,7 +483,7 @@ msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@ -515,7 +515,7 @@ msgstr ""
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:55
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr ""
@ -563,7 +563,7 @@ msgstr ""
msgid "Move Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:267
#: lib/cannery_web/live/ammo_group_live/index.ex:270
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -579,7 +579,7 @@ msgid "Shot log"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#: lib/cannery_web/live/ammo_group_live/index.ex:151
#: lib/cannery_web/live/ammo_group_live/index.ex:154
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -644,12 +644,12 @@ msgstr ""
msgid "New password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
@ -701,7 +701,7 @@ msgstr ""
msgid "No cost information"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@ -772,7 +772,7 @@ msgstr ""
msgid "Ammo types"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#: lib/cannery_web/live/ammo_group_live/index.ex:105
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
@ -898,7 +898,7 @@ msgstr ""
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:107
#: lib/cannery_web/live/ammo_group_live/index.ex:110
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@ -908,7 +908,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:203
#: lib/cannery_web/live/ammo_group_live/index.ex:206
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"

View File

@ -157,7 +157,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:196
#: lib/cannery_web/live/ammo_group_live/index.ex:199
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format

View File

@ -39,7 +39,7 @@ msgid "Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#: lib/cannery_web/live/ammo_group_live/index.ex:96
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr ""
@ -104,7 +104,7 @@ msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -125,7 +125,7 @@ msgid "Corrosive"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:97
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@ -352,7 +352,7 @@ msgid "Pressure"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#: lib/cannery_web/live/ammo_group_live/index.ex:98
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@ -484,7 +484,7 @@ msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@ -516,7 +516,7 @@ msgstr ""
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:55
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr ""
@ -564,7 +564,7 @@ msgstr ""
msgid "Move Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:267
#: lib/cannery_web/live/ammo_group_live/index.ex:270
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -580,7 +580,7 @@ msgid "Shot log"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#: lib/cannery_web/live/ammo_group_live/index.ex:151
#: lib/cannery_web/live/ammo_group_live/index.ex:154
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -645,12 +645,12 @@ msgstr ""
msgid "New password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
@ -702,7 +702,7 @@ msgstr ""
msgid "No cost information"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@ -773,7 +773,7 @@ msgstr ""
msgid "Ammo types"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#: lib/cannery_web/live/ammo_group_live/index.ex:105
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
@ -899,7 +899,7 @@ msgstr ""
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:107
#: lib/cannery_web/live/ammo_group_live/index.ex:110
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@ -909,7 +909,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:203
#: lib/cannery_web/live/ammo_group_live/index.ex:206
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"

View File

@ -62,7 +62,7 @@ msgstr ""
msgid "A link to confirm your email change has been sent to the new address."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:62
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr ""
@ -86,7 +86,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:239
#: lib/cannery_web/live/ammo_group_live/index.ex:242
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"

View File

@ -169,7 +169,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:196
#: lib/cannery_web/live/ammo_group_live/index.ex:199
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format

View File

@ -53,7 +53,7 @@ msgid "Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#: lib/cannery_web/live/ammo_group_live/index.ex:96
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr ""
@ -118,7 +118,7 @@ msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -139,7 +139,7 @@ msgid "Corrosive"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:97
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@ -366,7 +366,7 @@ msgid "Pressure"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#: lib/cannery_web/live/ammo_group_live/index.ex:98
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@ -498,7 +498,7 @@ msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@ -530,7 +530,7 @@ msgstr ""
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:55
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr ""
@ -578,7 +578,7 @@ msgstr ""
msgid "Move Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:267
#: lib/cannery_web/live/ammo_group_live/index.ex:270
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -594,7 +594,7 @@ msgid "Shot log"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#: lib/cannery_web/live/ammo_group_live/index.ex:151
#: lib/cannery_web/live/ammo_group_live/index.ex:154
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -659,12 +659,12 @@ msgstr ""
msgid "New password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
@ -716,7 +716,7 @@ msgstr ""
msgid "No cost information"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@ -787,7 +787,7 @@ msgstr ""
msgid "Ammo types"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#: lib/cannery_web/live/ammo_group_live/index.ex:105
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
@ -913,7 +913,7 @@ msgstr ""
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:107
#: lib/cannery_web/live/ammo_group_live/index.ex:110
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@ -923,7 +923,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:203
#: lib/cannery_web/live/ammo_group_live/index.ex:206
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"

View File

@ -76,7 +76,7 @@ msgstr ""
"Un enlace para confirmar el correo electrónico ha sido enviado a la nueva "
"dirección."
#: lib/cannery_web/live/ammo_group_live/index.ex:62
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr "Grupo de Munición borrado exitosamente"
@ -100,7 +100,7 @@ msgstr "Está seguro que desea eliminar %{name}?"
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Está seguro que quiere eliminar la invitación para %{name}?"
#: lib/cannery_web/live/ammo_group_live/index.ex:239
#: lib/cannery_web/live/ammo_group_live/index.ex:242
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"

View File

@ -169,7 +169,7 @@ msgstr "Munition préparée"
msgid "Why not get some ready to shoot?"
msgstr "Pourquoi pas en préparer pour tirer?"
#: lib/cannery_web/live/ammo_group_live/index.ex:196
#: lib/cannery_web/live/ammo_group_live/index.ex:199
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format

View File

@ -53,7 +53,7 @@ msgid "Ammo"
msgstr "Munition"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#: lib/cannery_web/live/ammo_group_live/index.ex:96
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr "Type de munition"
@ -118,7 +118,7 @@ msgstr "Matériau de la caisse"
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Conteneur"
@ -139,7 +139,7 @@ msgid "Corrosive"
msgstr "Corrosive"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:97
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr "Quantité"
@ -366,7 +366,7 @@ msgid "Pressure"
msgstr "Pression"
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#: lib/cannery_web/live/ammo_group_live/index.ex:98
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr "Prix payé"
@ -502,7 +502,7 @@ msgid "No tags for this container"
msgstr "Aucun tag pour ce conteneur"
#: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr "Portée"
@ -534,7 +534,7 @@ msgstr "Aucune munition sélectionnée"
msgid "Record shots"
msgstr "Tirs enregistrés"
#: lib/cannery_web/live/ammo_group_live/index.ex:55
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr "Groupes de munition"
@ -582,7 +582,7 @@ msgstr "Enregistrements de tir"
msgid "Move Ammo group"
msgstr "Déplacer le groupe de munition"
#: lib/cannery_web/live/ammo_group_live/index.ex:267
#: lib/cannery_web/live/ammo_group_live/index.ex:270
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr "Déplacer munition"
@ -598,7 +598,7 @@ msgid "Shot log"
msgstr "Évènements de tir"
#: lib/cannery_web/components/ammo_group_card.ex:63
#: lib/cannery_web/live/ammo_group_live/index.ex:151
#: lib/cannery_web/live/ammo_group_live/index.ex:154
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -663,12 +663,12 @@ msgstr "Mot de passe actuel"
msgid "New password"
msgstr "Nouveau mot de passe"
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr "Sélectionné"
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr "Désélectionner"
@ -720,7 +720,7 @@ msgstr "Montrer %{name}"
msgid "No cost information"
msgstr "Aucune information de prix"
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#, elixir-autogen, elixir-format
msgid "% left"
msgstr "%restante"
@ -791,7 +791,7 @@ msgstr "Exemplaires"
msgid "Ammo types"
msgstr "Types de munition"
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#: lib/cannery_web/live/ammo_group_live/index.ex:105
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr "Ajouté le"
@ -918,7 +918,7 @@ msgstr "Conteneur"
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:107
#: lib/cannery_web/live/ammo_group_live/index.ex:110
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@ -928,7 +928,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:203
#: lib/cannery_web/live/ammo_group_live/index.ex:206
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"

View File

@ -76,7 +76,7 @@ msgstr ""
"Un lien pour confirmer votre changement de mél a été envoyé à la nouvelle "
"adresse."
#: lib/cannery_web/live/ammo_group_live/index.ex:62
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr "Groupe de munition supprimé avec succès"
@ -101,7 +101,7 @@ msgstr "Êtes-vous certain·e de supprimer %{name}?"
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Êtes-vous certain·e de supprimer linvitation pour %{name}?"
#: lib/cannery_web/live/ammo_group_live/index.ex:239
#: lib/cannery_web/live/ammo_group_live/index.ex:242
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"

View File

@ -167,7 +167,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:196
#: lib/cannery_web/live/ammo_group_live/index.ex:199
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format

View File

@ -49,7 +49,7 @@ msgid "Ammo"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
#: lib/cannery_web/live/ammo_group_live/index.ex:96
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr ""
@ -114,7 +114,7 @@ msgstr ""
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@ -135,7 +135,7 @@ msgid "Corrosive"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:97
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@ -362,7 +362,7 @@ msgid "Pressure"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
#: lib/cannery_web/live/ammo_group_live/index.ex:98
#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@ -494,7 +494,7 @@ msgid "No tags for this container"
msgstr ""
#: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@ -526,7 +526,7 @@ msgstr ""
msgid "Record shots"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:55
#: lib/cannery_web/live/ammo_group_live/index.ex:56
#, elixir-autogen, elixir-format
msgid "Ammo groups"
msgstr ""
@ -574,7 +574,7 @@ msgstr ""
msgid "Move Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:267
#: lib/cannery_web/live/ammo_group_live/index.ex:270
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@ -590,7 +590,7 @@ msgid "Shot log"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
#: lib/cannery_web/live/ammo_group_live/index.ex:151
#: lib/cannery_web/live/ammo_group_live/index.ex:154
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:179
@ -655,12 +655,12 @@ msgstr ""
msgid "New password"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:189
#: lib/cannery_web/live/ammo_group_live/index.ex:192
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
@ -712,7 +712,7 @@ msgstr ""
msgid "No cost information"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:99
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@ -783,7 +783,7 @@ msgstr ""
msgid "Ammo types"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:102
#: lib/cannery_web/live/ammo_group_live/index.ex:105
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
@ -909,7 +909,7 @@ msgstr ""
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:107
#: lib/cannery_web/live/ammo_group_live/index.ex:110
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@ -919,7 +919,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:203
#: lib/cannery_web/live/ammo_group_live/index.ex:206
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"

View File

@ -72,7 +72,7 @@ msgstr ""
msgid "A link to confirm your email change has been sent to the new address."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:62
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr ""
@ -96,7 +96,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:239
#: lib/cannery_web/live/ammo_group_live/index.ex:242
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"

View File

@ -61,7 +61,7 @@ msgstr ""
msgid "A link to confirm your email change has been sent to the new address."
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:62
#: lib/cannery_web/live/ammo_group_live/index.ex:64
#, elixir-autogen, elixir-format
msgid "Ammo group deleted succesfully"
msgstr ""
@ -85,7 +85,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:239
#: lib/cannery_web/live/ammo_group_live/index.ex:242
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"