forked from shibao/cannery
add more text replacements
This commit is contained in:
parent
bdddf65685
commit
e0e7b25bc4
@ -13,8 +13,8 @@ The self-hosted firearm tracker website.
|
|||||||
# Features
|
# Features
|
||||||
|
|
||||||
- Create containers to store your ammunition, and tag them with custom tags
|
- Create containers to store your ammunition, and tag them with custom tags
|
||||||
- Add ammunition types to Cannery, and then ammunition groups to your containers
|
- Add ammunition types to Cannery, and then ammo packs to your containers
|
||||||
- Stage groups of ammo for range day and record your ammo usage
|
- Stage ammo packs for range day and track your usage with shot records
|
||||||
- Invitations via invite tokens or public registration
|
- Invitations via invite tokens or public registration
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<.form
|
<.form
|
||||||
:let={f}
|
:let={f}
|
||||||
for={@changeset}
|
for={@changeset}
|
||||||
id="shot-group-form"
|
id="shot-record-form"
|
||||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
@ -29,7 +29,7 @@
|
|||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="mx-2 my-1 text-sm btn btn-primary"
|
class="mx-2 my-1 text-sm btn btn-primary"
|
||||||
phx-click={JS.dispatch("cannery:set-zero", to: "#shot-group-form_ammo_left")}
|
phx-click={JS.dispatch("cannery:set-zero", to: "#shot-record-form_ammo_left")}
|
||||||
>
|
>
|
||||||
<%= gettext("Used up!") %>
|
<%= gettext("Used up!") %>
|
||||||
</button>
|
</button>
|
||||||
@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
|
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
|
||||||
<%= textarea(f, :notes,
|
<%= textarea(f, :notes,
|
||||||
id: "add-shot-group-form-notes",
|
id: "add-shot-record-form-notes",
|
||||||
class: "input input-primary col-span-2",
|
class: "input input-primary col-span-2",
|
||||||
maxlength: 255,
|
maxlength: 255,
|
||||||
placeholder: gettext("Really great weather"),
|
placeholder: gettext("Really great weather"),
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
|
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
|
||||||
<%= textarea(f, :notes,
|
<%= textarea(f, :notes,
|
||||||
id: "ammo-group-form-notes",
|
id: "pack-form-notes",
|
||||||
class: "text-center col-span-2 input input-primary",
|
class: "text-center col-span-2 input input-primary",
|
||||||
phx_hook: "MaintainAttrs",
|
phx_hook: "MaintainAttrs",
|
||||||
phx_update: "ignore"
|
phx_update: "ignore"
|
||||||
|
@ -97,7 +97,7 @@
|
|||||||
<% else %>
|
<% else %>
|
||||||
<.live_component
|
<.live_component
|
||||||
module={CanneryWeb.Components.PackTableComponent}
|
module={CanneryWeb.Components.PackTableComponent}
|
||||||
id="ammo-group-index-table"
|
id="pack-index-table"
|
||||||
packs={@packs}
|
packs={@packs}
|
||||||
current_user={@current_user}
|
current_user={@current_user}
|
||||||
show_used={@show_used}
|
show_used={@show_used}
|
||||||
|
@ -39,7 +39,7 @@ defmodule CanneryWeb.PackLive.Show do
|
|||||||
end
|
end
|
||||||
|
|
||||||
defp page_title(:add_shot_record), do: gettext("Record Shots")
|
defp page_title(:add_shot_record), do: gettext("Record Shots")
|
||||||
defp page_title(:edit_shot_record), do: gettext("Edit Shot Records")
|
defp page_title(:edit_shot_record), do: gettext("Edit Shot Record")
|
||||||
defp page_title(:move), do: gettext("Move Ammo")
|
defp page_title(:move), do: gettext("Move Ammo")
|
||||||
defp page_title(:show), do: gettext("Show Ammo")
|
defp page_title(:show), do: gettext("Show Ammo")
|
||||||
defp page_title(:edit), do: gettext("Edit Ammo")
|
defp page_title(:edit), do: gettext("Edit Ammo")
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<.form
|
<.form
|
||||||
:let={f}
|
:let={f}
|
||||||
for={@changeset}
|
for={@changeset}
|
||||||
id="shot-group-form"
|
id="shot-record-form"
|
||||||
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
phx-change="validate"
|
phx-change="validate"
|
||||||
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
|
<%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
|
||||||
<%= textarea(f, :notes,
|
<%= textarea(f, :notes,
|
||||||
id: "shot-group-form-notes",
|
id: "shot-record-form-notes",
|
||||||
class: "input input-primary col-span-2",
|
class: "input input-primary col-span-2",
|
||||||
maxlength: 255,
|
maxlength: 255,
|
||||||
placeholder: gettext("Really great weather"),
|
placeholder: gettext("Really great weather"),
|
||||||
|
@ -37,7 +37,7 @@ defmodule CanneryWeb.RangeLive.Index do
|
|||||||
defp apply_action(%{assigns: %{current_user: current_user}} = socket, :edit, %{"id" => id}) do
|
defp apply_action(%{assigns: %{current_user: current_user}} = socket, :edit, %{"id" => id}) do
|
||||||
socket
|
socket
|
||||||
|> assign(
|
|> assign(
|
||||||
page_title: gettext("Edit Shot Records"),
|
page_title: gettext("Edit Shot Record"),
|
||||||
shot_record: ActivityLog.get_shot_record!(id, current_user)
|
shot_record: ActivityLog.get_shot_record!(id, current_user)
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
@ -469,12 +469,6 @@ msgstr "Keine Munition selektiert"
|
|||||||
msgid "Record shots"
|
msgid "Record shots"
|
||||||
msgstr "Schüsse dokumentieren"
|
msgstr "Schüsse dokumentieren"
|
||||||
|
|
||||||
#: lib/cannery_web/live/pack_live/show.ex:42
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:40
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Edit Shot Records"
|
|
||||||
msgstr "Schießkladde editieren"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:48
|
#: lib/cannery_web/live/range_live/index.ex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Shot Records"
|
msgid "New Shot Records"
|
||||||
@ -1465,3 +1459,9 @@ msgstr "Patronen:"
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up!"
|
msgid "Used up!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/pack_live/show.ex:42
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:40
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Edit Shot Record"
|
||||||
|
msgstr "Schießkladde editieren"
|
||||||
|
@ -463,12 +463,6 @@ msgstr ""
|
|||||||
msgid "Record shots"
|
msgid "Record shots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/pack_live/show.ex:42
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:40
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Edit Shot Records"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:48
|
#: lib/cannery_web/live/range_live/index.ex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Shot Records"
|
msgid "New Shot Records"
|
||||||
@ -1448,3 +1442,9 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up!"
|
msgid "Used up!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/pack_live/show.ex:42
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:40
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Edit Shot Record"
|
||||||
|
msgstr ""
|
||||||
|
@ -463,12 +463,6 @@ msgstr ""
|
|||||||
msgid "Record shots"
|
msgid "Record shots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/pack_live/show.ex:42
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:40
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Edit Shot Records"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:48
|
#: lib/cannery_web/live/range_live/index.ex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Shot Records"
|
msgid "New Shot Records"
|
||||||
@ -1448,3 +1442,9 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up!"
|
msgid "Used up!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/pack_live/show.ex:42
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:40
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Edit Shot Record"
|
||||||
|
msgstr ""
|
||||||
|
@ -470,12 +470,6 @@ msgstr "No hay munición preparada"
|
|||||||
msgid "Record shots"
|
msgid "Record shots"
|
||||||
msgstr "Tiros récord"
|
msgstr "Tiros récord"
|
||||||
|
|
||||||
#: lib/cannery_web/live/pack_live/show.ex:42
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:40
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Edit Shot Records"
|
|
||||||
msgstr "Editar Tiros Récord"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:48
|
#: lib/cannery_web/live/range_live/index.ex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Shot Records"
|
msgid "New Shot Records"
|
||||||
@ -1467,3 +1461,9 @@ msgstr "Balas"
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up!"
|
msgid "Used up!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/pack_live/show.ex:42
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:40
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Edit Shot Record"
|
||||||
|
msgstr "Editar Tiros Récord"
|
||||||
|
@ -471,12 +471,6 @@ msgstr "Aucune munition sélectionnée"
|
|||||||
msgid "Record shots"
|
msgid "Record shots"
|
||||||
msgstr "Tirs enregistrés"
|
msgstr "Tirs enregistrés"
|
||||||
|
|
||||||
#: lib/cannery_web/live/pack_live/show.ex:42
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:40
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Edit Shot Records"
|
|
||||||
msgstr "Modifier les enregistrements de tir"
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:48
|
#: lib/cannery_web/live/range_live/index.ex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Shot Records"
|
msgid "New Shot Records"
|
||||||
@ -1468,3 +1462,9 @@ msgstr "Cartouches :"
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up!"
|
msgid "Used up!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/pack_live/show.ex:42
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:40
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Edit Shot Record"
|
||||||
|
msgstr "Modifier les enregistrements de tir"
|
||||||
|
@ -465,12 +465,6 @@ msgstr ""
|
|||||||
msgid "Record shots"
|
msgid "Record shots"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/pack_live/show.ex:42
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:40
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "Edit Shot Records"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/cannery_web/live/range_live/index.ex:48
|
#: lib/cannery_web/live/range_live/index.ex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Shot Records"
|
msgid "New Shot Records"
|
||||||
@ -1459,3 +1453,9 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Used up!"
|
msgid "Used up!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/pack_live/show.ex:42
|
||||||
|
#: lib/cannery_web/live/range_live/index.ex:40
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Edit Shot Record"
|
||||||
|
msgstr ""
|
||||||
|
@ -318,12 +318,12 @@ defmodule CanneryWeb.PackLiveTest do
|
|||||||
assert_patch(index_live, Routes.pack_index_path(conn, :add_shot_record, pack))
|
assert_patch(index_live, Routes.pack_index_path(conn, :add_shot_record, pack))
|
||||||
|
|
||||||
assert index_live
|
assert index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_change(shot_record: @shot_record_invalid_attrs) =~ "can't be blank"
|
|> render_change(shot_record: @shot_record_invalid_attrs) =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_submit(shot_record: @shot_record_create_attrs)
|
|> render_submit(shot_record: @shot_record_create_attrs)
|
||||||
|> follow_redirect(conn, Routes.pack_index_path(conn, :index))
|
|> follow_redirect(conn, Routes.pack_index_path(conn, :index))
|
||||||
|
|
||||||
@ -401,12 +401,12 @@ defmodule CanneryWeb.PackLiveTest do
|
|||||||
assert_patch(index_live, Routes.pack_show_path(conn, :add_shot_record, pack))
|
assert_patch(index_live, Routes.pack_show_path(conn, :add_shot_record, pack))
|
||||||
|
|
||||||
assert index_live
|
assert index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_change(shot_record: @shot_record_invalid_attrs) =~ "can't be blank"
|
|> render_change(shot_record: @shot_record_invalid_attrs) =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_submit(shot_record: @shot_record_create_attrs)
|
|> render_submit(shot_record: @shot_record_create_attrs)
|
||||||
|> follow_redirect(conn, Routes.pack_show_path(conn, :show, pack))
|
|> follow_redirect(conn, Routes.pack_show_path(conn, :show, pack))
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ defmodule CanneryWeb.PackLiveTest do
|
|||||||
|
|
||||||
assert index_live
|
assert index_live
|
||||||
|> element(~s/a[aria-label="Edit shot recordd of #{shot_record.count} shots"]/)
|
|> element(~s/a[aria-label="Edit shot recordd of #{shot_record.count} shots"]/)
|
||||||
|> render_click() =~ "Edit Shot Records"
|
|> render_click() =~ "Edit Shot Record"
|
||||||
|
|
||||||
assert_patch(
|
assert_patch(
|
||||||
index_live,
|
index_live,
|
||||||
@ -431,12 +431,12 @@ defmodule CanneryWeb.PackLiveTest do
|
|||||||
)
|
)
|
||||||
|
|
||||||
assert index_live
|
assert index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_change(shot_record: @shot_record_invalid_attrs) =~ "can't be blank"
|
|> render_change(shot_record: @shot_record_invalid_attrs) =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_submit(shot_record: @shot_record_update_attrs)
|
|> render_submit(shot_record: @shot_record_update_attrs)
|
||||||
|> follow_redirect(conn, Routes.pack_show_path(conn, :show, pack))
|
|> follow_redirect(conn, Routes.pack_show_path(conn, :show, pack))
|
||||||
|
|
||||||
|
@ -133,12 +133,12 @@ defmodule CanneryWeb.RangeLiveTest do
|
|||||||
assert_patch(index_live, Routes.range_index_path(conn, :add_shot_record, pack))
|
assert_patch(index_live, Routes.range_index_path(conn, :add_shot_record, pack))
|
||||||
|
|
||||||
assert index_live
|
assert index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_change(shot_record: @invalid_attrs) =~ "can't be blank"
|
|> render_change(shot_record: @invalid_attrs) =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_submit(shot_record: @create_attrs)
|
|> render_submit(shot_record: @create_attrs)
|
||||||
|> follow_redirect(conn, Routes.range_index_path(conn, :index))
|
|> follow_redirect(conn, Routes.range_index_path(conn, :index))
|
||||||
|
|
||||||
@ -151,17 +151,17 @@ defmodule CanneryWeb.RangeLiveTest do
|
|||||||
|
|
||||||
assert index_live
|
assert index_live
|
||||||
|> element(~s/a[aria-label="Edit shot record of #{shot_record.count} shots"]/)
|
|> element(~s/a[aria-label="Edit shot record of #{shot_record.count} shots"]/)
|
||||||
|> render_click() =~ "Edit Shot Records"
|
|> render_click() =~ "Edit Shot Record"
|
||||||
|
|
||||||
assert_patch(index_live, Routes.range_index_path(conn, :edit, shot_record))
|
assert_patch(index_live, Routes.range_index_path(conn, :edit, shot_record))
|
||||||
|
|
||||||
assert index_live
|
assert index_live
|
||||||
|> form("#shot-group-form")
|
|> form("#shot-record-form")
|
||||||
|> render_change(shot_record: @invalid_attrs) =~ "can't be blank"
|
|> render_change(shot_record: @invalid_attrs) =~ "can't be blank"
|
||||||
|
|
||||||
{:ok, _view, html} =
|
{:ok, _view, html} =
|
||||||
index_live
|
index_live
|
||||||
|> form("#shot-group-form", shot_record: @update_attrs)
|
|> form("#shot-record-form", shot_record: @update_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
|> follow_redirect(conn, Routes.range_index_path(conn, :index))
|
|> follow_redirect(conn, Routes.range_index_path(conn, :index))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user