forked from shibao/cannery
add search to container index
This commit is contained in:
parent
11ef53d1bf
commit
95642061db
@ -1,6 +1,6 @@
|
|||||||
# v0.8.0
|
# v0.8.0
|
||||||
- Add search to catalog and ammo
|
- Add search to catalog, ammo and container index
|
||||||
- Tweak urls for catalog and ammo
|
- Tweak urls for catalog, ammo and containers
|
||||||
|
|
||||||
# v0.7.2
|
# v0.7.2
|
||||||
- Code improvements
|
- Code improvements
|
||||||
|
@ -17,17 +17,56 @@ defmodule Cannery.Containers do
|
|||||||
iex> list_containers(%User{id: 123})
|
iex> list_containers(%User{id: 123})
|
||||||
[%Container{}, ...]
|
[%Container{}, ...]
|
||||||
|
|
||||||
|
iex> list_containers("cool", %User{id: 123})
|
||||||
|
[%Container{name: "my cool container"}, ...]
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@spec list_containers(User.t()) :: [Container.t()]
|
@spec list_containers(User.t()) :: [Container.t()]
|
||||||
def list_containers(%User{id: user_id}) do
|
@spec list_containers(search :: nil | String.t(), User.t()) :: [Container.t()]
|
||||||
Repo.all(
|
def list_containers(search \\ nil, %User{id: user_id}) do
|
||||||
from c in Container,
|
from(c in Container,
|
||||||
|
as: :c,
|
||||||
left_join: t in assoc(c, :tags),
|
left_join: t in assoc(c, :tags),
|
||||||
|
as: :t,
|
||||||
left_join: ag in assoc(c, :ammo_groups),
|
left_join: ag in assoc(c, :ammo_groups),
|
||||||
|
as: :ag,
|
||||||
where: c.user_id == ^user_id,
|
where: c.user_id == ^user_id,
|
||||||
order_by: c.name,
|
order_by: c.name,
|
||||||
preload: [tags: t, ammo_groups: ag]
|
preload: [tags: t, ammo_groups: ag]
|
||||||
)
|
)
|
||||||
|
|> list_containers_search(search)
|
||||||
|
|> Repo.all()
|
||||||
|
end
|
||||||
|
|
||||||
|
defp list_containers_search(query, nil), do: query
|
||||||
|
defp list_containers_search(query, ""), do: query
|
||||||
|
|
||||||
|
defp list_containers_search(query, search) do
|
||||||
|
trimmed_search = String.trim(search)
|
||||||
|
|
||||||
|
query
|
||||||
|
|> where(
|
||||||
|
[c: c, t: t],
|
||||||
|
fragment(
|
||||||
|
"? @@ websearch_to_tsquery('english', ?)",
|
||||||
|
c.search,
|
||||||
|
^trimmed_search
|
||||||
|
) or
|
||||||
|
fragment(
|
||||||
|
"? @@ websearch_to_tsquery('english', ?)",
|
||||||
|
t.search,
|
||||||
|
^trimmed_search
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|> order_by(
|
||||||
|
[c: c],
|
||||||
|
desc:
|
||||||
|
fragment(
|
||||||
|
"ts_rank_cd(?, websearch_to_tsquery('english', ?), 4)",
|
||||||
|
c.search,
|
||||||
|
^trimmed_search
|
||||||
|
)
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
|
@ -10,7 +10,13 @@ defmodule CanneryWeb.ContainerLive.Index do
|
|||||||
alias Ecto.Changeset
|
alias Ecto.Changeset
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(_params, _session, socket), do: {:ok, socket |> assign(view_table: false)}
|
def mount(%{"search" => search}, _session, socket) do
|
||||||
|
{:ok, socket |> assign(view_table: true, search: search) |> display_containers()}
|
||||||
|
end
|
||||||
|
|
||||||
|
def mount(_params, _session, socket) do
|
||||||
|
{:ok, socket |> assign(view_table: true, search: nil) |> display_containers()}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_params(params, _url, %{assigns: %{live_action: live_action}} = socket) do
|
def handle_params(params, _url, %{assigns: %{live_action: live_action}} = socket) do
|
||||||
@ -21,7 +27,7 @@ defmodule CanneryWeb.ContainerLive.Index do
|
|||||||
%{name: container_name} =
|
%{name: container_name} =
|
||||||
container =
|
container =
|
||||||
Containers.get_container!(id, current_user)
|
Containers.get_container!(id, current_user)
|
||||||
|> Repo.preload([:tags, :ammo_groups], force: true)
|
|> Repo.preload([:tags, :ammo_groups])
|
||||||
|
|
||||||
socket
|
socket
|
||||||
|> assign(page_title: gettext("Edit %{name}", name: container_name), container: container)
|
|> assign(page_title: gettext("Edit %{name}", name: container_name), container: container)
|
||||||
@ -42,19 +48,18 @@ defmodule CanneryWeb.ContainerLive.Index do
|
|||||||
socket
|
socket
|
||||||
|> assign(
|
|> assign(
|
||||||
page_title: gettext("Containers"),
|
page_title: gettext("Containers"),
|
||||||
container: nil
|
container: nil,
|
||||||
|
search: nil
|
||||||
)
|
)
|
||||||
|> display_containers()
|
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_action(socket, :table, _params) do
|
defp apply_action(socket, :search, %{"search" => search}) do
|
||||||
socket
|
socket
|
||||||
|> assign(
|
|> assign(
|
||||||
page_title: gettext("Containers"),
|
page_title: gettext("Containers"),
|
||||||
container: nil,
|
container: nil,
|
||||||
view_table: true
|
search: search
|
||||||
)
|
)
|
||||||
|> display_containers()
|
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_action(%{assigns: %{current_user: current_user}} = socket, :edit_tags, %{"id" => id}) do
|
defp apply_action(%{assigns: %{current_user: current_user}} = socket, :edit_tags, %{"id" => id}) do
|
||||||
@ -104,17 +109,22 @@ defmodule CanneryWeb.ContainerLive.Index do
|
|||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
|
def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
|
||||||
new_path =
|
{:noreply, socket |> assign(:view_table, !view_table) |> display_containers()}
|
||||||
if view_table,
|
|
||||||
do: Routes.container_index_path(Endpoint, :index),
|
|
||||||
else: Routes.container_index_path(Endpoint, :table)
|
|
||||||
|
|
||||||
{:noreply, socket |> assign(view_table: !view_table) |> push_patch(to: new_path)}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
defp display_containers(%{assigns: %{current_user: current_user}} = socket) do
|
@impl true
|
||||||
|
def handle_event("search", %{"search" => %{"search_term" => ""}}, socket) do
|
||||||
|
{:noreply, socket |> push_patch(to: Routes.container_index_path(Endpoint, :index))}
|
||||||
|
end
|
||||||
|
|
||||||
|
def handle_event("search", %{"search" => %{"search_term" => search_term}}, socket) do
|
||||||
|
{:noreply,
|
||||||
|
socket |> push_patch(to: Routes.container_index_path(Endpoint, :search, search_term))}
|
||||||
|
end
|
||||||
|
|
||||||
|
defp display_containers(%{assigns: %{search: search, current_user: current_user}} = socket) do
|
||||||
containers =
|
containers =
|
||||||
Containers.list_containers(current_user) |> Repo.preload([:tags, :ammo_groups], force: true)
|
Containers.list_containers(search, current_user) |> Repo.preload([:tags, :ammo_groups])
|
||||||
|
|
||||||
columns =
|
columns =
|
||||||
[
|
[
|
||||||
@ -243,7 +253,4 @@ defmodule CanneryWeb.ContainerLive.Index do
|
|||||||
end
|
end
|
||||||
|
|
||||||
defp get_value_for_key(key, container), do: container |> Map.get(key)
|
defp get_value_for_key(key, container), do: container |> Map.get(key)
|
||||||
|
|
||||||
def return_to(true = _view_table), do: Routes.container_index_path(Endpoint, :table)
|
|
||||||
def return_to(false = _view_table), do: Routes.container_index_path(Endpoint, :index)
|
|
||||||
end
|
end
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<%= gettext("Containers") %>
|
<%= gettext("Containers") %>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<%= if @containers |> Enum.empty?() do %>
|
<%= if @containers |> Enum.empty?() and @search |> is_nil() do %>
|
||||||
<h2 class="title text-xl text-primary-600">
|
<h2 class="title text-xl text-primary-600">
|
||||||
<%= gettext("No containers") %>
|
<%= gettext("No containers") %>
|
||||||
<%= display_emoji("😔") %>
|
<%= display_emoji("😔") %>
|
||||||
@ -17,7 +17,23 @@
|
|||||||
<%= dgettext("actions", "New Container") %>
|
<%= dgettext("actions", "New Container") %>
|
||||||
</.link>
|
</.link>
|
||||||
|
|
||||||
<div class="flex flex-col justify-center items-center">
|
<div class="w-full flex flex-col sm:flex-row justify-center items-center space-y-4 sm:space-y-0 sm:space-x-4 max-w-xl">
|
||||||
|
<.form
|
||||||
|
:let={f}
|
||||||
|
for={:search}
|
||||||
|
phx-change="search"
|
||||||
|
phx-submit="search"
|
||||||
|
class="grow self-stretch flex flex-col items-stretch"
|
||||||
|
data-qa="container_search"
|
||||||
|
>
|
||||||
|
<%= text_input(f, :search_term,
|
||||||
|
class: "input input-primary",
|
||||||
|
value: @search,
|
||||||
|
phx_debounce: 300,
|
||||||
|
placeholder: gettext("Search containers")
|
||||||
|
) %>
|
||||||
|
</.form>
|
||||||
|
|
||||||
<.toggle_button action="toggle_table" value={@view_table}>
|
<.toggle_button action="toggle_table" value={@view_table}>
|
||||||
<span class="title text-lg text-primary-600">
|
<span class="title text-lg text-primary-600">
|
||||||
<%= gettext("View as table") %>
|
<%= gettext("View as table") %>
|
||||||
@ -27,6 +43,12 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="w-full flex flex-row flex-wrap justify-center items-center">
|
<div class="w-full flex flex-row flex-wrap justify-center items-center">
|
||||||
|
<%= if @containers |> Enum.empty?() do %>
|
||||||
|
<h2 class="title text-xl text-primary-600">
|
||||||
|
<%= gettext("No containers") %>
|
||||||
|
<%= display_emoji("😔") %>
|
||||||
|
</h2>
|
||||||
|
<% else %>
|
||||||
<%= if @view_table do %>
|
<%= if @view_table do %>
|
||||||
<.live_component
|
<.live_component
|
||||||
module={CanneryWeb.Components.TableComponent}
|
module={CanneryWeb.Components.TableComponent}
|
||||||
@ -70,7 +92,9 @@
|
|||||||
phx-click="delete"
|
phx-click="delete"
|
||||||
phx-value-id={container.id}
|
phx-value-id={container.id}
|
||||||
data-confirm={
|
data-confirm={
|
||||||
dgettext("prompts", "Are you sure you want to delete %{name}?", name: container.name)
|
dgettext("prompts", "Are you sure you want to delete %{name}?",
|
||||||
|
name: container.name
|
||||||
|
)
|
||||||
}
|
}
|
||||||
data-qa={"delete-#{container.id}"}
|
data-qa={"delete-#{container.id}"}
|
||||||
>
|
>
|
||||||
@ -79,25 +103,26 @@
|
|||||||
</.container_card>
|
</.container_card>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= if @live_action in [:new, :edit, :clone] do %>
|
<%= if @live_action in [:new, :edit, :clone] do %>
|
||||||
<.modal return_to={return_to(@view_table)}>
|
<.modal return_to={Routes.container_index_path(Endpoint, :index)}>
|
||||||
<.live_component
|
<.live_component
|
||||||
module={CanneryWeb.ContainerLive.FormComponent}
|
module={CanneryWeb.ContainerLive.FormComponent}
|
||||||
id={@container.id || :new}
|
id={@container.id || :new}
|
||||||
title={@page_title}
|
title={@page_title}
|
||||||
action={@live_action}
|
action={@live_action}
|
||||||
container={@container}
|
container={@container}
|
||||||
return_to={return_to(@view_table)}
|
return_to={Routes.container_index_path(Endpoint, :index)}
|
||||||
current_user={@current_user}
|
current_user={@current_user}
|
||||||
/>
|
/>
|
||||||
</.modal>
|
</.modal>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= if @live_action == :edit_tags do %>
|
<%= if @live_action == :edit_tags do %>
|
||||||
<.modal return_to={return_to(@view_table)}>
|
<.modal return_to={Routes.container_index_path(Endpoint, :index)}>
|
||||||
<.live_component
|
<.live_component
|
||||||
module={CanneryWeb.ContainerLive.EditTagsComponent}
|
module={CanneryWeb.ContainerLive.EditTagsComponent}
|
||||||
id={@container.id}
|
id={@container.id}
|
||||||
|
@ -11,18 +11,14 @@ defmodule CanneryWeb.ContainerLive.Show do
|
|||||||
alias Phoenix.LiveView.Socket
|
alias Phoenix.LiveView.Socket
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(_params, _session, %{assigns: %{live_action: live_action}} = socket),
|
def mount(_params, _session, socket),
|
||||||
do: {:ok, socket |> assign(show_used: false, view_table: live_action == :table)}
|
do: {:ok, socket |> assign(show_used: false, view_table: true)}
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_params(
|
def handle_params(%{"id" => id}, _session, %{assigns: %{current_user: current_user}} = socket) do
|
||||||
%{"id" => id},
|
|
||||||
_session,
|
|
||||||
%{assigns: %{current_user: current_user, live_action: live_action}} = socket
|
|
||||||
) do
|
|
||||||
socket =
|
socket =
|
||||||
socket
|
socket
|
||||||
|> assign(view_table: live_action == :table)
|
|> assign(view_table: true)
|
||||||
|> render_container(id, current_user)
|
|> render_container(id, current_user)
|
||||||
|
|
||||||
{:noreply, socket}
|
{:noreply, socket}
|
||||||
@ -94,17 +90,8 @@ defmodule CanneryWeb.ContainerLive.Show do
|
|||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_event(
|
def handle_event("toggle_table", _params, %{assigns: %{view_table: view_table}} = socket) do
|
||||||
"toggle_table",
|
{:noreply, socket |> assign(:view_table, !view_table) |> render_container()}
|
||||||
_params,
|
|
||||||
%{assigns: %{view_table: view_table, container: container}} = socket
|
|
||||||
) do
|
|
||||||
new_path =
|
|
||||||
if view_table,
|
|
||||||
do: Routes.container_show_path(Endpoint, :show, container),
|
|
||||||
else: Routes.container_show_path(Endpoint, :table, container)
|
|
||||||
|
|
||||||
{:noreply, socket |> push_patch(to: new_path)}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec render_container(Socket.t(), Container.id(), User.t()) :: Socket.t()
|
@spec render_container(Socket.t(), Container.id(), User.t()) :: Socket.t()
|
||||||
|
@ -77,16 +77,15 @@ defmodule CanneryWeb.Router do
|
|||||||
live "/type/:id/table", AmmoTypeLive.Show, :table
|
live "/type/:id/table", AmmoTypeLive.Show, :table
|
||||||
|
|
||||||
live "/containers", ContainerLive.Index, :index
|
live "/containers", ContainerLive.Index, :index
|
||||||
live "/containers/table", ContainerLive.Index, :table
|
|
||||||
live "/containers/new", ContainerLive.Index, :new
|
live "/containers/new", ContainerLive.Index, :new
|
||||||
live "/containers/:id/edit", ContainerLive.Index, :edit
|
live "/containers/edit/:id", ContainerLive.Index, :edit
|
||||||
live "/containers/:id/clone", ContainerLive.Index, :clone
|
live "/containers/clone/:id", ContainerLive.Index, :clone
|
||||||
live "/containers/:id/edit_tags", ContainerLive.Index, :edit_tags
|
live "/containers/edit_tags/:id", ContainerLive.Index, :edit_tags
|
||||||
|
live "/containers/search/:search", ContainerLive.Index, :search
|
||||||
|
|
||||||
live "/containers/:id/show", ContainerLive.Show, :show
|
live "/container/:id", ContainerLive.Show, :show
|
||||||
live "/containers/:id/show/table", ContainerLive.Show, :table
|
live "/container/edit/:id", ContainerLive.Show, :edit
|
||||||
live "/containers/:id/show/edit", ContainerLive.Show, :edit
|
live "/container/edit_tags/:id", ContainerLive.Show, :edit_tags
|
||||||
live "/containers/:id/show/edit_tags", ContainerLive.Show, :edit_tags
|
|
||||||
|
|
||||||
live "/ammo", AmmoGroupLive.Index, :index
|
live "/ammo", AmmoGroupLive.Index, :index
|
||||||
live "/ammo/new", AmmoGroupLive.Index, :new
|
live "/ammo/new", AmmoGroupLive.Index, :new
|
||||||
|
@ -114,8 +114,8 @@ msgid "Container"
|
|||||||
msgstr "Behälter"
|
msgstr "Behälter"
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:57
|
#: lib/cannery_web/components/topbar.ex:57
|
||||||
#: lib/cannery_web/live/container_live/index.ex:44
|
#: lib/cannery_web/live/container_live/index.ex:50
|
||||||
#: lib/cannery_web/live/container_live/index.ex:53
|
#: lib/cannery_web/live/container_live/index.ex:59
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:3
|
#: lib/cannery_web/live/container_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Containers"
|
msgid "Containers"
|
||||||
@ -141,7 +141,7 @@ msgstr "Anzahl:"
|
|||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
||||||
#: lib/cannery_web/live/container_live/index.ex:122
|
#: lib/cannery_web/live/container_live/index.ex:132
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Beschreibung"
|
msgstr "Beschreibung"
|
||||||
@ -218,7 +218,7 @@ msgstr "Für 60 Tage eingeloggt bleiben"
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
||||||
#: lib/cannery_web/live/container_live/index.ex:123
|
#: lib/cannery_web/live/container_live/index.ex:133
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr "Standort"
|
msgstr "Standort"
|
||||||
@ -253,7 +253,7 @@ msgstr "Meine coole Munitionskiste"
|
|||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/index.ex:121
|
#: lib/cannery_web/live/container_live/index.ex:131
|
||||||
#: lib/cannery_web/live/invite_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:75
|
#: lib/cannery_web/live/tag_live/form_component.ex:75
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -266,8 +266,8 @@ msgstr "Name"
|
|||||||
msgid "New Ammo type"
|
msgid "New Ammo type"
|
||||||
msgstr "Neuer Munitionstyp"
|
msgstr "Neuer Munitionstyp"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:31
|
#: lib/cannery_web/live/container_live/index.ex:37
|
||||||
#: lib/cannery_web/live/container_live/index.ex:38
|
#: lib/cannery_web/live/container_live/index.ex:44
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Container"
|
msgid "New Container"
|
||||||
msgstr "Neuer Behälter"
|
msgstr "Neuer Behälter"
|
||||||
@ -294,6 +294,7 @@ msgid "No ammo for this type"
|
|||||||
msgstr "Keine Munition dieser Art"
|
msgstr "Keine Munition dieser Art"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No containers"
|
msgid "No containers"
|
||||||
msgstr "Kein Behälter"
|
msgstr "Kein Behälter"
|
||||||
@ -392,7 +393,7 @@ msgid "Stored in"
|
|||||||
msgstr "Gelagert in"
|
msgstr "Gelagert in"
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:49
|
#: lib/cannery_web/components/topbar.ex:49
|
||||||
#: lib/cannery_web/live/container_live/index.ex:127
|
#: lib/cannery_web/live/container_live/index.ex:137
|
||||||
#: lib/cannery_web/live/tag_live/index.ex:32
|
#: lib/cannery_web/live/tag_live/index.ex:32
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -422,7 +423,7 @@ msgstr "Leuchtspur"
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
||||||
#: lib/cannery_web/live/container_live/index.ex:124
|
#: lib/cannery_web/live/container_live/index.ex:134
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Art"
|
msgstr "Art"
|
||||||
@ -637,14 +638,14 @@ msgstr "Neu verbinden..."
|
|||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr "Lädt..."
|
msgstr "Lädt..."
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:27
|
#: lib/cannery_web/live/container_live/index.ex:33
|
||||||
#: lib/cannery_web/live/container_live/show.ex:126
|
#: lib/cannery_web/live/container_live/show.ex:113
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name}"
|
msgid "Edit %{name}"
|
||||||
msgstr "%{name} bearbeiten"
|
msgstr "%{name} bearbeiten"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:65
|
#: lib/cannery_web/live/container_live/index.ex:70
|
||||||
#: lib/cannery_web/live/container_live/show.ex:127
|
#: lib/cannery_web/live/container_live/show.ex:114
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr "Editiere %{name} Tags"
|
msgstr "Editiere %{name} Tags"
|
||||||
@ -863,19 +864,19 @@ msgid "Rounds shot: %{count}"
|
|||||||
msgstr "Patronen abgefeuert"
|
msgstr "Patronen abgefeuert"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
||||||
#: lib/cannery_web/live/container_live/index.ex:125
|
#: lib/cannery_web/live/container_live/index.ex:135
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Packs"
|
msgid "Packs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
||||||
#: lib/cannery_web/live/container_live/index.ex:126
|
#: lib/cannery_web/live/container_live/index.ex:136
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Rounds"
|
msgid "Rounds"
|
||||||
msgstr "Patronen:"
|
msgstr "Patronen:"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:23
|
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:111
|
#: lib/cannery_web/live/container_live/show.html.heex:111
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "View as table"
|
msgid "View as table"
|
||||||
@ -1126,3 +1127,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Search ammo"
|
msgid "Search ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Search containers"
|
||||||
|
msgstr ""
|
||||||
|
@ -23,18 +23,18 @@ msgstr ""
|
|||||||
## Run "mix gettext.extract" to bring this file up to
|
## Run "mix gettext.extract" to bring this file up to
|
||||||
## date. Leave "msgstr"s empty as changing them here has no
|
## date. Leave "msgstr"s empty as changing them here has no
|
||||||
## effect: edit them in PO (.po) files instead.
|
## effect: edit them in PO (.po) files instead.
|
||||||
#: lib/cannery/containers.ex:140
|
#: lib/cannery/containers.ex:179
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container must be empty before deleting"
|
msgid "Container must be empty before deleting"
|
||||||
msgstr "Behälter muss vor dem Löschen leer sein"
|
msgstr "Behälter muss vor dem Löschen leer sein"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:88
|
#: lib/cannery_web/live/container_live/index.ex:93
|
||||||
#: lib/cannery_web/live/container_live/show.ex:77
|
#: lib/cannery_web/live/container_live/show.ex:73
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not delete %{name}: %{error}"
|
msgid "Could not delete %{name}: %{error}"
|
||||||
msgstr "Konnte %{name} nicht löschen: %{error}"
|
msgstr "Konnte %{name} nicht löschen: %{error}"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:76
|
#: lib/cannery_web/live/container_live/index.ex:81
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not find that container"
|
msgid "Could not find that container"
|
||||||
msgstr "Konnte Behälter nicht finden"
|
msgstr "Konnte Behälter nicht finden"
|
||||||
|
@ -50,8 +50,8 @@ msgstr "%{name} erfolgreich deaktiviert"
|
|||||||
msgid "%{name} enabled succesfully"
|
msgid "%{name} enabled succesfully"
|
||||||
msgstr "%{name} erfolgreich aktiviert"
|
msgstr "%{name} erfolgreich aktiviert"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:81
|
#: lib/cannery_web/live/container_live/index.ex:86
|
||||||
#: lib/cannery_web/live/container_live/show.ex:67
|
#: lib/cannery_web/live/container_live/show.ex:63
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{name} has been deleted"
|
msgid "%{name} has been deleted"
|
||||||
msgstr "%{name} wurde gelöscht"
|
msgstr "%{name} wurde gelöscht"
|
||||||
@ -82,8 +82,8 @@ msgstr ""
|
|||||||
"Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht "
|
"Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht "
|
||||||
"zurückgenommen werden!"
|
"zurückgenommen werden!"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:236
|
#: lib/cannery_web/live/container_live/index.ex:246
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:73
|
#: lib/cannery_web/live/container_live/index.html.heex:95
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -188,7 +188,7 @@ msgstr ""
|
|||||||
msgid "%{name} added successfully"
|
msgid "%{name} added successfully"
|
||||||
msgstr "%{name} erfolgreich hinzugefügt"
|
msgstr "%{name} erfolgreich hinzugefügt"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/show.ex:43
|
#: lib/cannery_web/live/container_live/show.ex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{tag_name} has been removed from %{container_name}"
|
msgid "%{tag_name} has been removed from %{container_name}"
|
||||||
msgstr "%{tag_name} wurde von %{container_name} entfernt"
|
msgstr "%{tag_name} wurde von %{container_name} entfernt"
|
||||||
|
@ -99,8 +99,8 @@ msgid "Container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:57
|
#: lib/cannery_web/components/topbar.ex:57
|
||||||
#: lib/cannery_web/live/container_live/index.ex:44
|
#: lib/cannery_web/live/container_live/index.ex:50
|
||||||
#: lib/cannery_web/live/container_live/index.ex:53
|
#: lib/cannery_web/live/container_live/index.ex:59
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:3
|
#: lib/cannery_web/live/container_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Containers"
|
msgid "Containers"
|
||||||
@ -126,7 +126,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
||||||
#: lib/cannery_web/live/container_live/index.ex:122
|
#: lib/cannery_web/live/container_live/index.ex:132
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -203,7 +203,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
||||||
#: lib/cannery_web/live/container_live/index.ex:123
|
#: lib/cannery_web/live/container_live/index.ex:133
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -238,7 +238,7 @@ msgstr ""
|
|||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/index.ex:121
|
#: lib/cannery_web/live/container_live/index.ex:131
|
||||||
#: lib/cannery_web/live/invite_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:75
|
#: lib/cannery_web/live/tag_live/form_component.ex:75
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -251,8 +251,8 @@ msgstr ""
|
|||||||
msgid "New Ammo type"
|
msgid "New Ammo type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:31
|
#: lib/cannery_web/live/container_live/index.ex:37
|
||||||
#: lib/cannery_web/live/container_live/index.ex:38
|
#: lib/cannery_web/live/container_live/index.ex:44
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Container"
|
msgid "New Container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -279,6 +279,7 @@ msgid "No ammo for this type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No containers"
|
msgid "No containers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -375,7 +376,7 @@ msgid "Stored in"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:49
|
#: lib/cannery_web/components/topbar.ex:49
|
||||||
#: lib/cannery_web/live/container_live/index.ex:127
|
#: lib/cannery_web/live/container_live/index.ex:137
|
||||||
#: lib/cannery_web/live/tag_live/index.ex:32
|
#: lib/cannery_web/live/tag_live/index.ex:32
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -405,7 +406,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
||||||
#: lib/cannery_web/live/container_live/index.ex:124
|
#: lib/cannery_web/live/container_live/index.ex:134
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -620,14 +621,14 @@ msgstr ""
|
|||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:27
|
#: lib/cannery_web/live/container_live/index.ex:33
|
||||||
#: lib/cannery_web/live/container_live/show.ex:126
|
#: lib/cannery_web/live/container_live/show.ex:113
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name}"
|
msgid "Edit %{name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:65
|
#: lib/cannery_web/live/container_live/index.ex:70
|
||||||
#: lib/cannery_web/live/container_live/show.ex:127
|
#: lib/cannery_web/live/container_live/show.ex:114
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -846,19 +847,19 @@ msgid "Rounds shot: %{count}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
||||||
#: lib/cannery_web/live/container_live/index.ex:125
|
#: lib/cannery_web/live/container_live/index.ex:135
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Packs"
|
msgid "Packs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
||||||
#: lib/cannery_web/live/container_live/index.ex:126
|
#: lib/cannery_web/live/container_live/index.ex:136
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Rounds"
|
msgid "Rounds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:23
|
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:111
|
#: lib/cannery_web/live/container_live/show.html.heex:111
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "View as table"
|
msgid "View as table"
|
||||||
@ -1109,3 +1110,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Search ammo"
|
msgid "Search ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Search containers"
|
||||||
|
msgstr ""
|
||||||
|
@ -100,8 +100,8 @@ msgid "Container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:57
|
#: lib/cannery_web/components/topbar.ex:57
|
||||||
#: lib/cannery_web/live/container_live/index.ex:44
|
#: lib/cannery_web/live/container_live/index.ex:50
|
||||||
#: lib/cannery_web/live/container_live/index.ex:53
|
#: lib/cannery_web/live/container_live/index.ex:59
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:3
|
#: lib/cannery_web/live/container_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Containers"
|
msgid "Containers"
|
||||||
@ -127,7 +127,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
||||||
#: lib/cannery_web/live/container_live/index.ex:122
|
#: lib/cannery_web/live/container_live/index.ex:132
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -204,7 +204,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
||||||
#: lib/cannery_web/live/container_live/index.ex:123
|
#: lib/cannery_web/live/container_live/index.ex:133
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -239,7 +239,7 @@ msgstr ""
|
|||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/index.ex:121
|
#: lib/cannery_web/live/container_live/index.ex:131
|
||||||
#: lib/cannery_web/live/invite_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:75
|
#: lib/cannery_web/live/tag_live/form_component.ex:75
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -252,8 +252,8 @@ msgstr ""
|
|||||||
msgid "New Ammo type"
|
msgid "New Ammo type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:31
|
#: lib/cannery_web/live/container_live/index.ex:37
|
||||||
#: lib/cannery_web/live/container_live/index.ex:38
|
#: lib/cannery_web/live/container_live/index.ex:44
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Container"
|
msgid "New Container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -280,6 +280,7 @@ msgid "No ammo for this type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No containers"
|
msgid "No containers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -376,7 +377,7 @@ msgid "Stored in"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:49
|
#: lib/cannery_web/components/topbar.ex:49
|
||||||
#: lib/cannery_web/live/container_live/index.ex:127
|
#: lib/cannery_web/live/container_live/index.ex:137
|
||||||
#: lib/cannery_web/live/tag_live/index.ex:32
|
#: lib/cannery_web/live/tag_live/index.ex:32
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -406,7 +407,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
||||||
#: lib/cannery_web/live/container_live/index.ex:124
|
#: lib/cannery_web/live/container_live/index.ex:134
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -621,14 +622,14 @@ msgstr ""
|
|||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:27
|
#: lib/cannery_web/live/container_live/index.ex:33
|
||||||
#: lib/cannery_web/live/container_live/show.ex:126
|
#: lib/cannery_web/live/container_live/show.ex:113
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name}"
|
msgid "Edit %{name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:65
|
#: lib/cannery_web/live/container_live/index.ex:70
|
||||||
#: lib/cannery_web/live/container_live/show.ex:127
|
#: lib/cannery_web/live/container_live/show.ex:114
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -847,19 +848,19 @@ msgid "Rounds shot: %{count}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
||||||
#: lib/cannery_web/live/container_live/index.ex:125
|
#: lib/cannery_web/live/container_live/index.ex:135
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Packs"
|
msgid "Packs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
||||||
#: lib/cannery_web/live/container_live/index.ex:126
|
#: lib/cannery_web/live/container_live/index.ex:136
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Rounds"
|
msgid "Rounds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:23
|
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:111
|
#: lib/cannery_web/live/container_live/show.html.heex:111
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "View as table"
|
msgid "View as table"
|
||||||
@ -1110,3 +1111,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Search ammo"
|
msgid "Search ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Search containers"
|
||||||
|
msgstr ""
|
||||||
|
@ -10,18 +10,18 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
|
|
||||||
#: lib/cannery/containers.ex:140
|
#: lib/cannery/containers.ex:179
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container must be empty before deleting"
|
msgid "Container must be empty before deleting"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:88
|
#: lib/cannery_web/live/container_live/index.ex:93
|
||||||
#: lib/cannery_web/live/container_live/show.ex:77
|
#: lib/cannery_web/live/container_live/show.ex:73
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not delete %{name}: %{error}"
|
msgid "Could not delete %{name}: %{error}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:76
|
#: lib/cannery_web/live/container_live/index.ex:81
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not find that container"
|
msgid "Could not find that container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -38,8 +38,8 @@ msgstr ""
|
|||||||
msgid "%{name} enabled succesfully"
|
msgid "%{name} enabled succesfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:81
|
#: lib/cannery_web/live/container_live/index.ex:86
|
||||||
#: lib/cannery_web/live/container_live/show.ex:67
|
#: lib/cannery_web/live/container_live/show.ex:63
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{name} has been deleted"
|
msgid "%{name} has been deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -68,8 +68,8 @@ msgstr ""
|
|||||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:236
|
#: lib/cannery_web/live/container_live/index.ex:246
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:73
|
#: lib/cannery_web/live/container_live/index.html.heex:95
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -168,7 +168,7 @@ msgstr ""
|
|||||||
msgid "%{name} added successfully"
|
msgid "%{name} added successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/show.ex:43
|
#: lib/cannery_web/live/container_live/show.ex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{tag_name} has been removed from %{container_name}"
|
msgid "%{tag_name} has been removed from %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -10,18 +10,18 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery/containers.ex:140
|
#: lib/cannery/containers.ex:179
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container must be empty before deleting"
|
msgid "Container must be empty before deleting"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:88
|
#: lib/cannery_web/live/container_live/index.ex:93
|
||||||
#: lib/cannery_web/live/container_live/show.ex:77
|
#: lib/cannery_web/live/container_live/show.ex:73
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not delete %{name}: %{error}"
|
msgid "Could not delete %{name}: %{error}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:76
|
#: lib/cannery_web/live/container_live/index.ex:81
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not find that container"
|
msgid "Could not find that container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -114,8 +114,8 @@ msgid "Container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:57
|
#: lib/cannery_web/components/topbar.ex:57
|
||||||
#: lib/cannery_web/live/container_live/index.ex:44
|
#: lib/cannery_web/live/container_live/index.ex:50
|
||||||
#: lib/cannery_web/live/container_live/index.ex:53
|
#: lib/cannery_web/live/container_live/index.ex:59
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:3
|
#: lib/cannery_web/live/container_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Containers"
|
msgid "Containers"
|
||||||
@ -141,7 +141,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
||||||
#: lib/cannery_web/live/container_live/index.ex:122
|
#: lib/cannery_web/live/container_live/index.ex:132
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -218,7 +218,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
||||||
#: lib/cannery_web/live/container_live/index.ex:123
|
#: lib/cannery_web/live/container_live/index.ex:133
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -253,7 +253,7 @@ msgstr ""
|
|||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/index.ex:121
|
#: lib/cannery_web/live/container_live/index.ex:131
|
||||||
#: lib/cannery_web/live/invite_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:75
|
#: lib/cannery_web/live/tag_live/form_component.ex:75
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -266,8 +266,8 @@ msgstr ""
|
|||||||
msgid "New Ammo type"
|
msgid "New Ammo type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:31
|
#: lib/cannery_web/live/container_live/index.ex:37
|
||||||
#: lib/cannery_web/live/container_live/index.ex:38
|
#: lib/cannery_web/live/container_live/index.ex:44
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Container"
|
msgid "New Container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -294,6 +294,7 @@ msgid "No ammo for this type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No containers"
|
msgid "No containers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -390,7 +391,7 @@ msgid "Stored in"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:49
|
#: lib/cannery_web/components/topbar.ex:49
|
||||||
#: lib/cannery_web/live/container_live/index.ex:127
|
#: lib/cannery_web/live/container_live/index.ex:137
|
||||||
#: lib/cannery_web/live/tag_live/index.ex:32
|
#: lib/cannery_web/live/tag_live/index.ex:32
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -420,7 +421,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
||||||
#: lib/cannery_web/live/container_live/index.ex:124
|
#: lib/cannery_web/live/container_live/index.ex:134
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -635,14 +636,14 @@ msgstr ""
|
|||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:27
|
#: lib/cannery_web/live/container_live/index.ex:33
|
||||||
#: lib/cannery_web/live/container_live/show.ex:126
|
#: lib/cannery_web/live/container_live/show.ex:113
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name}"
|
msgid "Edit %{name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:65
|
#: lib/cannery_web/live/container_live/index.ex:70
|
||||||
#: lib/cannery_web/live/container_live/show.ex:127
|
#: lib/cannery_web/live/container_live/show.ex:114
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -861,19 +862,19 @@ msgid "Rounds shot: %{count}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
||||||
#: lib/cannery_web/live/container_live/index.ex:125
|
#: lib/cannery_web/live/container_live/index.ex:135
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Packs"
|
msgid "Packs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
||||||
#: lib/cannery_web/live/container_live/index.ex:126
|
#: lib/cannery_web/live/container_live/index.ex:136
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Rounds"
|
msgid "Rounds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:23
|
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:111
|
#: lib/cannery_web/live/container_live/show.html.heex:111
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "View as table"
|
msgid "View as table"
|
||||||
@ -1124,3 +1125,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Search ammo"
|
msgid "Search ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Search containers"
|
||||||
|
msgstr ""
|
||||||
|
@ -23,18 +23,18 @@ msgstr ""
|
|||||||
## Run "mix gettext.extract" to bring this file up to
|
## Run "mix gettext.extract" to bring this file up to
|
||||||
## date. Leave "msgstr"s empty as changing them here has no
|
## date. Leave "msgstr"s empty as changing them here has no
|
||||||
## effect: edit them in PO (.po) files instead.
|
## effect: edit them in PO (.po) files instead.
|
||||||
#: lib/cannery/containers.ex:140
|
#: lib/cannery/containers.ex:179
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container must be empty before deleting"
|
msgid "Container must be empty before deleting"
|
||||||
msgstr "El contenedor debe estar vacío antes de ser borrado"
|
msgstr "El contenedor debe estar vacío antes de ser borrado"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:88
|
#: lib/cannery_web/live/container_live/index.ex:93
|
||||||
#: lib/cannery_web/live/container_live/show.ex:77
|
#: lib/cannery_web/live/container_live/show.ex:73
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not delete %{name}: %{error}"
|
msgid "Could not delete %{name}: %{error}"
|
||||||
msgstr "No se pudo eliminar %{name}: %{error}"
|
msgstr "No se pudo eliminar %{name}: %{error}"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:76
|
#: lib/cannery_web/live/container_live/index.ex:81
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not find that container"
|
msgid "Could not find that container"
|
||||||
msgstr "No se pudo encontrar el contenedor"
|
msgstr "No se pudo encontrar el contenedor"
|
||||||
|
@ -50,8 +50,8 @@ msgstr "%{name} desactivado exitosamente"
|
|||||||
msgid "%{name} enabled succesfully"
|
msgid "%{name} enabled succesfully"
|
||||||
msgstr "%{name} activado exitosamente"
|
msgstr "%{name} activado exitosamente"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:81
|
#: lib/cannery_web/live/container_live/index.ex:86
|
||||||
#: lib/cannery_web/live/container_live/show.ex:67
|
#: lib/cannery_web/live/container_live/show.ex:63
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{name} has been deleted"
|
msgid "%{name} has been deleted"
|
||||||
msgstr "%{name} ha sido borrado"
|
msgstr "%{name} ha sido borrado"
|
||||||
@ -82,8 +82,8 @@ msgstr ""
|
|||||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||||
msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!"
|
msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:236
|
#: lib/cannery_web/live/container_live/index.ex:246
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:73
|
#: lib/cannery_web/live/container_live/index.html.heex:95
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -187,7 +187,7 @@ msgstr ""
|
|||||||
msgid "%{name} added successfully"
|
msgid "%{name} added successfully"
|
||||||
msgstr "%{name} añadido exitosamente"
|
msgstr "%{name} añadido exitosamente"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/show.ex:43
|
#: lib/cannery_web/live/container_live/show.ex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{tag_name} has been removed from %{container_name}"
|
msgid "%{tag_name} has been removed from %{container_name}"
|
||||||
msgstr "se ha removido %{tag_name} de %{container_name}"
|
msgstr "se ha removido %{tag_name} de %{container_name}"
|
||||||
|
@ -114,8 +114,8 @@ msgid "Container"
|
|||||||
msgstr "Conteneur"
|
msgstr "Conteneur"
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:57
|
#: lib/cannery_web/components/topbar.ex:57
|
||||||
#: lib/cannery_web/live/container_live/index.ex:44
|
#: lib/cannery_web/live/container_live/index.ex:50
|
||||||
#: lib/cannery_web/live/container_live/index.ex:53
|
#: lib/cannery_web/live/container_live/index.ex:59
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:3
|
#: lib/cannery_web/live/container_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Containers"
|
msgid "Containers"
|
||||||
@ -141,7 +141,7 @@ msgstr "Quantité :"
|
|||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
||||||
#: lib/cannery_web/live/container_live/index.ex:122
|
#: lib/cannery_web/live/container_live/index.ex:132
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Description"
|
msgstr "Description"
|
||||||
@ -218,7 +218,7 @@ msgstr "Me garder authentifié durant 60 jours"
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
||||||
#: lib/cannery_web/live/container_live/index.ex:123
|
#: lib/cannery_web/live/container_live/index.ex:133
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr "Localisation"
|
msgstr "Localisation"
|
||||||
@ -253,7 +253,7 @@ msgstr "Ma superbe boite de munition"
|
|||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/index.ex:121
|
#: lib/cannery_web/live/container_live/index.ex:131
|
||||||
#: lib/cannery_web/live/invite_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:75
|
#: lib/cannery_web/live/tag_live/form_component.ex:75
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -266,8 +266,8 @@ msgstr "Nom"
|
|||||||
msgid "New Ammo type"
|
msgid "New Ammo type"
|
||||||
msgstr "Nouveau type de munition"
|
msgstr "Nouveau type de munition"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:31
|
#: lib/cannery_web/live/container_live/index.ex:37
|
||||||
#: lib/cannery_web/live/container_live/index.ex:38
|
#: lib/cannery_web/live/container_live/index.ex:44
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Container"
|
msgid "New Container"
|
||||||
msgstr "Nouveau conteneur"
|
msgstr "Nouveau conteneur"
|
||||||
@ -294,6 +294,7 @@ msgid "No ammo for this type"
|
|||||||
msgstr "Aucune munition pour ce type"
|
msgstr "Aucune munition pour ce type"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No containers"
|
msgid "No containers"
|
||||||
msgstr "Aucun conteneur"
|
msgstr "Aucun conteneur"
|
||||||
@ -392,7 +393,7 @@ msgid "Stored in"
|
|||||||
msgstr "Est stocké dans"
|
msgstr "Est stocké dans"
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:49
|
#: lib/cannery_web/components/topbar.ex:49
|
||||||
#: lib/cannery_web/live/container_live/index.ex:127
|
#: lib/cannery_web/live/container_live/index.ex:137
|
||||||
#: lib/cannery_web/live/tag_live/index.ex:32
|
#: lib/cannery_web/live/tag_live/index.ex:32
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -424,7 +425,7 @@ msgstr "Traceuse"
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
||||||
#: lib/cannery_web/live/container_live/index.ex:124
|
#: lib/cannery_web/live/container_live/index.ex:134
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
@ -639,14 +640,14 @@ msgstr "Reconnexion en cours…"
|
|||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr "Chargement en cours…"
|
msgstr "Chargement en cours…"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:27
|
#: lib/cannery_web/live/container_live/index.ex:33
|
||||||
#: lib/cannery_web/live/container_live/show.ex:126
|
#: lib/cannery_web/live/container_live/show.ex:113
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name}"
|
msgid "Edit %{name}"
|
||||||
msgstr "Éditer %{name}"
|
msgstr "Éditer %{name}"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:65
|
#: lib/cannery_web/live/container_live/index.ex:70
|
||||||
#: lib/cannery_web/live/container_live/show.ex:127
|
#: lib/cannery_web/live/container_live/show.ex:114
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr "Éditer les tags de %{name}"
|
msgstr "Éditer les tags de %{name}"
|
||||||
@ -866,19 +867,19 @@ msgid "Rounds shot: %{count}"
|
|||||||
msgstr "Cartouches tirées"
|
msgstr "Cartouches tirées"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
||||||
#: lib/cannery_web/live/container_live/index.ex:125
|
#: lib/cannery_web/live/container_live/index.ex:135
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Packs"
|
msgid "Packs"
|
||||||
msgstr "Packages :"
|
msgstr "Packages :"
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
||||||
#: lib/cannery_web/live/container_live/index.ex:126
|
#: lib/cannery_web/live/container_live/index.ex:136
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Rounds"
|
msgid "Rounds"
|
||||||
msgstr "Cartouches :"
|
msgstr "Cartouches :"
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:23
|
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:111
|
#: lib/cannery_web/live/container_live/show.html.heex:111
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "View as table"
|
msgid "View as table"
|
||||||
@ -1129,3 +1130,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Search ammo"
|
msgid "Search ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Search containers"
|
||||||
|
msgstr ""
|
||||||
|
@ -23,18 +23,18 @@ msgstr ""
|
|||||||
# # Run "mix gettext.extract" to bring this file up to
|
# # Run "mix gettext.extract" to bring this file up to
|
||||||
# # date. Leave "msgstr"s empty as changing them here has no
|
# # date. Leave "msgstr"s empty as changing them here has no
|
||||||
# # effect: edit them in PO (.po) files instead.
|
# # effect: edit them in PO (.po) files instead.
|
||||||
#: lib/cannery/containers.ex:140
|
#: lib/cannery/containers.ex:179
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container must be empty before deleting"
|
msgid "Container must be empty before deleting"
|
||||||
msgstr "Le conteneur doit être vide pour être supprimé"
|
msgstr "Le conteneur doit être vide pour être supprimé"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:88
|
#: lib/cannery_web/live/container_live/index.ex:93
|
||||||
#: lib/cannery_web/live/container_live/show.ex:77
|
#: lib/cannery_web/live/container_live/show.ex:73
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not delete %{name}: %{error}"
|
msgid "Could not delete %{name}: %{error}"
|
||||||
msgstr "Impossible de supprimer %{name} : %{error}"
|
msgstr "Impossible de supprimer %{name} : %{error}"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:76
|
#: lib/cannery_web/live/container_live/index.ex:81
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not find that container"
|
msgid "Could not find that container"
|
||||||
msgstr "Impossible de trouver ce conteneur"
|
msgstr "Impossible de trouver ce conteneur"
|
||||||
|
@ -50,8 +50,8 @@ msgstr "%{name} supprimé·e avec succès"
|
|||||||
msgid "%{name} enabled succesfully"
|
msgid "%{name} enabled succesfully"
|
||||||
msgstr "%{name} activé·e avec succès"
|
msgstr "%{name} activé·e avec succès"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:81
|
#: lib/cannery_web/live/container_live/index.ex:86
|
||||||
#: lib/cannery_web/live/container_live/show.ex:67
|
#: lib/cannery_web/live/container_live/show.ex:63
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{name} has been deleted"
|
msgid "%{name} has been deleted"
|
||||||
msgstr "%{name} a été supprimé·e"
|
msgstr "%{name} a été supprimé·e"
|
||||||
@ -83,8 +83,8 @@ msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Êtes-vous certain·e de supprimer %{email} ? Cette action est définitive !"
|
"Êtes-vous certain·e de supprimer %{email} ? Cette action est définitive !"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:236
|
#: lib/cannery_web/live/container_live/index.ex:246
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:73
|
#: lib/cannery_web/live/container_live/index.html.heex:95
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -189,7 +189,7 @@ msgstr ""
|
|||||||
msgid "%{name} added successfully"
|
msgid "%{name} added successfully"
|
||||||
msgstr "%{name} a été ajouté avec succès"
|
msgstr "%{name} a été ajouté avec succès"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/show.ex:43
|
#: lib/cannery_web/live/container_live/show.ex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{tag_name} has been removed from %{container_name}"
|
msgid "%{tag_name} has been removed from %{container_name}"
|
||||||
msgstr "%{tag_name} a été retiré de %{container_name}"
|
msgstr "%{tag_name} a été retiré de %{container_name}"
|
||||||
|
@ -110,8 +110,8 @@ msgid "Container"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:57
|
#: lib/cannery_web/components/topbar.ex:57
|
||||||
#: lib/cannery_web/live/container_live/index.ex:44
|
#: lib/cannery_web/live/container_live/index.ex:50
|
||||||
#: lib/cannery_web/live/container_live/index.ex:53
|
#: lib/cannery_web/live/container_live/index.ex:59
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:3
|
#: lib/cannery_web/live/container_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Containers"
|
msgid "Containers"
|
||||||
@ -137,7 +137,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
#: lib/cannery_web/live/container_live/form_component.html.heex:27
|
||||||
#: lib/cannery_web/live/container_live/index.ex:122
|
#: lib/cannery_web/live/container_live/index.ex:132
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -214,7 +214,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
#: lib/cannery_web/components/move_ammo_group_component.ex:69
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
#: lib/cannery_web/live/container_live/form_component.html.heex:42
|
||||||
#: lib/cannery_web/live/container_live/index.ex:123
|
#: lib/cannery_web/live/container_live/index.ex:133
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -249,7 +249,7 @@ msgstr ""
|
|||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
#: lib/cannery_web/components/ammo_type_table_component.ex:45
|
||||||
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
#: lib/cannery_web/live/container_live/form_component.html.heex:20
|
||||||
#: lib/cannery_web/live/container_live/index.ex:121
|
#: lib/cannery_web/live/container_live/index.ex:131
|
||||||
#: lib/cannery_web/live/invite_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:75
|
#: lib/cannery_web/live/tag_live/form_component.ex:75
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -262,8 +262,8 @@ msgstr ""
|
|||||||
msgid "New Ammo type"
|
msgid "New Ammo type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:31
|
#: lib/cannery_web/live/container_live/index.ex:37
|
||||||
#: lib/cannery_web/live/container_live/index.ex:38
|
#: lib/cannery_web/live/container_live/index.ex:44
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "New Container"
|
msgid "New Container"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -290,6 +290,7 @@ msgid "No ammo for this type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:8
|
#: lib/cannery_web/live/container_live/index.html.heex:8
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:48
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No containers"
|
msgid "No containers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -386,7 +387,7 @@ msgid "Stored in"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/topbar.ex:49
|
#: lib/cannery_web/components/topbar.ex:49
|
||||||
#: lib/cannery_web/live/container_live/index.ex:127
|
#: lib/cannery_web/live/container_live/index.ex:137
|
||||||
#: lib/cannery_web/live/tag_live/index.ex:32
|
#: lib/cannery_web/live/tag_live/index.ex:32
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
#: lib/cannery_web/live/tag_live/index.html.heex:3
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -416,7 +417,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
#: lib/cannery_web/components/move_ammo_group_component.ex:68
|
||||||
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
#: lib/cannery_web/live/container_live/form_component.html.heex:35
|
||||||
#: lib/cannery_web/live/container_live/index.ex:124
|
#: lib/cannery_web/live/container_live/index.ex:134
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -631,14 +632,14 @@ msgstr ""
|
|||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:27
|
#: lib/cannery_web/live/container_live/index.ex:33
|
||||||
#: lib/cannery_web/live/container_live/show.ex:126
|
#: lib/cannery_web/live/container_live/show.ex:113
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name}"
|
msgid "Edit %{name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:65
|
#: lib/cannery_web/live/container_live/index.ex:70
|
||||||
#: lib/cannery_web/live/container_live/show.ex:127
|
#: lib/cannery_web/live/container_live/show.ex:114
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Edit %{name} tags"
|
msgid "Edit %{name} tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -857,19 +858,19 @@ msgid "Rounds shot: %{count}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
#: lib/cannery_web/components/ammo_type_table_component.ex:100
|
||||||
#: lib/cannery_web/live/container_live/index.ex:125
|
#: lib/cannery_web/live/container_live/index.ex:135
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Packs"
|
msgid "Packs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
#: lib/cannery_web/components/ammo_type_table_component.ex:80
|
||||||
#: lib/cannery_web/live/container_live/index.ex:126
|
#: lib/cannery_web/live/container_live/index.ex:136
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Rounds"
|
msgid "Rounds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:23
|
#: lib/cannery_web/live/container_live/index.html.heex:39
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:111
|
#: lib/cannery_web/live/container_live/show.html.heex:111
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "View as table"
|
msgid "View as table"
|
||||||
@ -1120,3 +1121,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Search ammo"
|
msgid "Search ammo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/cannery_web/live/container_live/index.html.heex:33
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Search containers"
|
||||||
|
msgstr ""
|
||||||
|
@ -24,18 +24,18 @@ msgstr ""
|
|||||||
## Run "mix gettext.extract" to bring this file up to
|
## Run "mix gettext.extract" to bring this file up to
|
||||||
## date. Leave "msgstr"s empty as changing them here has no
|
## date. Leave "msgstr"s empty as changing them here has no
|
||||||
## effect: edit them in PO (.po) files instead.
|
## effect: edit them in PO (.po) files instead.
|
||||||
#: lib/cannery/containers.ex:140
|
#: lib/cannery/containers.ex:179
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Container must be empty before deleting"
|
msgid "Container must be empty before deleting"
|
||||||
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
|
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:88
|
#: lib/cannery_web/live/container_live/index.ex:93
|
||||||
#: lib/cannery_web/live/container_live/show.ex:77
|
#: lib/cannery_web/live/container_live/show.ex:73
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not delete %{name}: %{error}"
|
msgid "Could not delete %{name}: %{error}"
|
||||||
msgstr "Ní feidir %{name} a scriosadh: %{error}"
|
msgstr "Ní feidir %{name} a scriosadh: %{error}"
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:76
|
#: lib/cannery_web/live/container_live/index.ex:81
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Could not find that container"
|
msgid "Could not find that container"
|
||||||
msgstr "Ní feidir an coimeádán sin a fáil"
|
msgstr "Ní feidir an coimeádán sin a fáil"
|
||||||
|
@ -48,8 +48,8 @@ msgstr ""
|
|||||||
msgid "%{name} enabled succesfully"
|
msgid "%{name} enabled succesfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:81
|
#: lib/cannery_web/live/container_live/index.ex:86
|
||||||
#: lib/cannery_web/live/container_live/show.ex:67
|
#: lib/cannery_web/live/container_live/show.ex:63
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{name} has been deleted"
|
msgid "%{name} has been deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -78,8 +78,8 @@ msgstr ""
|
|||||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:236
|
#: lib/cannery_web/live/container_live/index.ex:246
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:73
|
#: lib/cannery_web/live/container_live/index.html.heex:95
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -178,7 +178,7 @@ msgstr ""
|
|||||||
msgid "%{name} added successfully"
|
msgid "%{name} added successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/show.ex:43
|
#: lib/cannery_web/live/container_live/show.ex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{tag_name} has been removed from %{container_name}"
|
msgid "%{tag_name} has been removed from %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -37,8 +37,8 @@ msgstr ""
|
|||||||
msgid "%{name} enabled succesfully"
|
msgid "%{name} enabled succesfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:81
|
#: lib/cannery_web/live/container_live/index.ex:86
|
||||||
#: lib/cannery_web/live/container_live/show.ex:67
|
#: lib/cannery_web/live/container_live/show.ex:63
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{name} has been deleted"
|
msgid "%{name} has been deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -67,8 +67,8 @@ msgstr ""
|
|||||||
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
msgid "Are you sure you want to delete %{email}? This action is permanent!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/index.ex:236
|
#: lib/cannery_web/live/container_live/index.ex:246
|
||||||
#: lib/cannery_web/live/container_live/index.html.heex:73
|
#: lib/cannery_web/live/container_live/index.html.heex:95
|
||||||
#: lib/cannery_web/live/container_live/show.html.heex:59
|
#: lib/cannery_web/live/container_live/show.html.heex:59
|
||||||
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
#: lib/cannery_web/live/tag_live/index.html.heex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
@ -167,7 +167,7 @@ msgstr ""
|
|||||||
msgid "%{name} added successfully"
|
msgid "%{name} added successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/cannery_web/live/container_live/show.ex:43
|
#: lib/cannery_web/live/container_live/show.ex:39
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "%{tag_name} has been removed from %{container_name}"
|
msgid "%{tag_name} has been removed from %{container_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -34,9 +34,47 @@ defmodule Cannery.ContainersTest do
|
|||||||
test "list_containers/1 returns all containers",
|
test "list_containers/1 returns all containers",
|
||||||
%{current_user: current_user, container: container} do
|
%{current_user: current_user, container: container} do
|
||||||
assert Containers.list_containers(current_user) ==
|
assert Containers.list_containers(current_user) ==
|
||||||
[container |> Repo.preload([:ammo_groups, :tags])]
|
[container] |> preload_containers()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "list_containers/2 returns relevant containers for a user",
|
||||||
|
%{current_user: current_user} do
|
||||||
|
container_a =
|
||||||
|
container_fixture(%{"name" => "my cool container"}, current_user) |> preload_containers()
|
||||||
|
|
||||||
|
container_b =
|
||||||
|
container_fixture(%{"desc" => "a fascinating description"}, current_user)
|
||||||
|
|> preload_containers()
|
||||||
|
|
||||||
|
container_c = container_fixture(%{"location" => "a secret place"}, current_user)
|
||||||
|
tag = tag_fixture(%{"name" => "stupendous tag"}, current_user)
|
||||||
|
Containers.add_tag!(container_c, tag, current_user)
|
||||||
|
container_c = container_c |> preload_containers()
|
||||||
|
|
||||||
|
container_d = container_fixture(%{"type" => "musty old box"}, current_user)
|
||||||
|
tag = tag_fixture(%{"name" => "amazing tag"}, current_user)
|
||||||
|
Containers.add_tag!(container_d, tag, current_user)
|
||||||
|
container_d = container_d |> preload_containers()
|
||||||
|
|
||||||
|
_shouldnt_return =
|
||||||
|
container_fixture(%{"name" => "another person's container"}, user_fixture())
|
||||||
|
|
||||||
|
# attributes
|
||||||
|
assert Containers.list_containers("cool", current_user) == [container_a]
|
||||||
|
assert Containers.list_containers("fascinating", current_user) == [container_b]
|
||||||
|
assert Containers.list_containers("secret", current_user) == [container_c]
|
||||||
|
assert Containers.list_containers("box", current_user) == [container_d]
|
||||||
|
|
||||||
|
# tags
|
||||||
|
assert Containers.list_containers("stupendous", current_user) == [container_c]
|
||||||
|
assert Containers.list_containers("amazing", current_user) == [container_d]
|
||||||
|
|
||||||
|
assert Containers.list_containers("asajslkdflskdf", current_user) == []
|
||||||
|
end
|
||||||
|
|
||||||
|
defp preload_containers(containers),
|
||||||
|
do: containers |> Repo.preload([:ammo_groups, :tags])
|
||||||
|
|
||||||
test "get_container!/1 returns the container with given id",
|
test "get_container!/1 returns the container with given id",
|
||||||
%{current_user: current_user, container: container} do
|
%{current_user: current_user, container: container} do
|
||||||
assert Containers.get_container!(container.id, current_user) ==
|
assert Containers.get_container!(container.id, current_user) ==
|
||||||
|
@ -62,7 +62,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
%{ammo_type: ammo_type, ammo_group: ammo_group, shot_group: shot_group}
|
%{ammo_type: ammo_type, ammo_group: ammo_group, shot_group: shot_group}
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "Index regular" do
|
describe "Index" do
|
||||||
setup [:register_and_log_in_user, :create_container]
|
setup [:register_and_log_in_user, :create_container]
|
||||||
|
|
||||||
test "lists all containers", %{conn: conn, container: container} do
|
test "lists all containers", %{conn: conn, container: container} do
|
||||||
@ -72,132 +72,43 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
assert html =~ container.location
|
assert html =~ container.location
|
||||||
end
|
end
|
||||||
|
|
||||||
test "saves new container", %{conn: conn, container: container} do
|
test "lists all containers in table mode", %{conn: conn, container: container} do
|
||||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||||
|
|
||||||
assert index_live |> element("a", dgettext("actions", "New Container")) |> render_click() =~
|
html = index_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
||||||
gettext("New Container")
|
|
||||||
|
|
||||||
assert_patch(index_live, Routes.container_index_path(conn, :new))
|
|
||||||
|
|
||||||
# assert index_live
|
|
||||||
# |> form("#container-form", container: @invalid_attrs)
|
|
||||||
# |> render_change() =~ dgettext("errors", "can't be blank")
|
|
||||||
|
|
||||||
{:ok, _view, html} =
|
|
||||||
index_live
|
|
||||||
|> form("#container-form", container: @create_attrs)
|
|
||||||
|> render_submit()
|
|
||||||
|> follow_redirect(conn, Routes.container_index_path(conn, :index))
|
|
||||||
|
|
||||||
assert html =~ dgettext("prompts", "%{name} created successfully", name: container.name)
|
|
||||||
assert html =~ "some location"
|
|
||||||
end
|
|
||||||
|
|
||||||
test "updates container in listing", %{
|
|
||||||
conn: conn,
|
|
||||||
current_user: current_user,
|
|
||||||
container: container
|
|
||||||
} do
|
|
||||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
|
||||||
|
|
||||||
assert index_live |> element("[data-qa=\"edit-#{container.id}\"]") |> render_click() =~
|
|
||||||
gettext("Edit %{name}", name: container.name)
|
|
||||||
|
|
||||||
assert_patch(index_live, Routes.container_index_path(conn, :edit, container))
|
|
||||||
|
|
||||||
# assert index_live
|
|
||||||
# |> form("#container-form", container: @invalid_attrs)
|
|
||||||
# |> render_change() =~ dgettext("errors", "can't be blank")
|
|
||||||
|
|
||||||
{:ok, _view, html} =
|
|
||||||
index_live
|
|
||||||
|> form("#container-form", container: @update_attrs)
|
|
||||||
|> render_submit()
|
|
||||||
|> follow_redirect(conn, Routes.container_index_path(conn, :index))
|
|
||||||
|
|
||||||
container = container.id |> Containers.get_container!(current_user)
|
|
||||||
assert html =~ dgettext("prompts", "%{name} updated successfully", name: container.name)
|
|
||||||
assert html =~ "some updated location"
|
|
||||||
end
|
|
||||||
|
|
||||||
test "clones container in listing", %{
|
|
||||||
conn: conn,
|
|
||||||
current_user: current_user,
|
|
||||||
container: container
|
|
||||||
} do
|
|
||||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
|
||||||
|
|
||||||
html = index_live |> element("[data-qa=\"clone-#{container.id}\"]") |> render_click()
|
|
||||||
assert html =~ gettext("New Container")
|
|
||||||
assert html =~ "some location"
|
|
||||||
|
|
||||||
assert_patch(index_live, Routes.container_index_path(conn, :clone, container))
|
|
||||||
|
|
||||||
# assert index_live
|
|
||||||
# |> form("#container-form", container: @invalid_attrs)
|
|
||||||
# |> render_change() =~ dgettext("errors", "can't be blank")
|
|
||||||
|
|
||||||
{:ok, _view, html} =
|
|
||||||
index_live
|
|
||||||
|> form("#container-form", container: @create_attrs)
|
|
||||||
|> render_submit()
|
|
||||||
|> follow_redirect(conn, Routes.container_index_path(conn, :index))
|
|
||||||
|
|
||||||
container = container.id |> Containers.get_container!(current_user)
|
|
||||||
assert html =~ dgettext("prompts", "%{name} created successfully", name: container.name)
|
|
||||||
assert html =~ "some location"
|
|
||||||
end
|
|
||||||
|
|
||||||
test "clones container in listing with updates", %{
|
|
||||||
conn: conn,
|
|
||||||
current_user: current_user,
|
|
||||||
container: container
|
|
||||||
} do
|
|
||||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
|
||||||
|
|
||||||
assert index_live |> element("[data-qa=\"clone-#{container.id}\"]") |> render_click() =~
|
|
||||||
gettext("New Container")
|
|
||||||
|
|
||||||
assert_patch(index_live, Routes.container_index_path(conn, :clone, container))
|
|
||||||
|
|
||||||
# assert index_live
|
|
||||||
# |> form("#container-form", container: @invalid_attrs)
|
|
||||||
# |> render_change() =~ dgettext("errors", "can't be blank")
|
|
||||||
|
|
||||||
{:ok, _view, html} =
|
|
||||||
index_live
|
|
||||||
|> form("#container-form",
|
|
||||||
container: Map.merge(@create_attrs, %{location: "some updated location"})
|
|
||||||
)
|
|
||||||
|> render_submit()
|
|
||||||
|> follow_redirect(conn, Routes.container_index_path(conn, :index))
|
|
||||||
|
|
||||||
container = container.id |> Containers.get_container!(current_user)
|
|
||||||
assert html =~ dgettext("prompts", "%{name} created successfully", name: container.name)
|
|
||||||
assert html =~ "some updated location"
|
|
||||||
end
|
|
||||||
|
|
||||||
test "deletes container in listing", %{conn: conn, container: container} do
|
|
||||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
|
||||||
|
|
||||||
assert index_live |> element("[data-qa=\"delete-#{container.id}\"]") |> render_click()
|
|
||||||
refute has_element?(index_live, "#container-#{container.id}")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "Index table" do
|
|
||||||
setup [:register_and_log_in_user, :create_container]
|
|
||||||
|
|
||||||
test "lists all containers", %{conn: conn, container: container} do
|
|
||||||
{:ok, _index_live, html} = live(conn, Routes.container_index_path(conn, :table))
|
|
||||||
|
|
||||||
assert html =~ gettext("Containers")
|
assert html =~ gettext("Containers")
|
||||||
assert html =~ container.location
|
assert html =~ container.location
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "can search for containers", %{conn: conn, container: container} do
|
||||||
|
{:ok, index_live, html} = live(conn, Routes.container_index_path(conn, :index))
|
||||||
|
|
||||||
|
assert html =~ container.location
|
||||||
|
|
||||||
|
assert index_live
|
||||||
|
|> form("[data-qa=\"container_search\"]",
|
||||||
|
search: %{search_term: container.location}
|
||||||
|
)
|
||||||
|
|> render_change() =~ container.location
|
||||||
|
|
||||||
|
assert_patch(index_live, Routes.container_index_path(conn, :search, container.location))
|
||||||
|
|
||||||
|
refute index_live
|
||||||
|
|> form("[data-qa=\"container_search\"]", search: %{search_term: "something_else"})
|
||||||
|
|> render_change() =~ container.location
|
||||||
|
|
||||||
|
assert_patch(index_live, Routes.container_index_path(conn, :search, "something_else"))
|
||||||
|
|
||||||
|
assert index_live
|
||||||
|
|> form("[data-qa=\"container_search\"]", search: %{search_term: ""})
|
||||||
|
|> render_change() =~ container.location
|
||||||
|
|
||||||
|
assert_patch(index_live, Routes.container_index_path(conn, :index))
|
||||||
|
end
|
||||||
|
|
||||||
test "saves new container", %{conn: conn, container: container} do
|
test "saves new container", %{conn: conn, container: container} do
|
||||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :table))
|
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||||
|
|
||||||
assert index_live |> element("a", dgettext("actions", "New Container")) |> render_click() =~
|
assert index_live |> element("a", dgettext("actions", "New Container")) |> render_click() =~
|
||||||
gettext("New Container")
|
gettext("New Container")
|
||||||
@ -212,7 +123,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
index_live
|
index_live
|
||||||
|> form("#container-form", container: @create_attrs)
|
|> form("#container-form", container: @create_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
|> follow_redirect(conn, Routes.container_index_path(conn, :table))
|
|> follow_redirect(conn, Routes.container_index_path(conn, :index))
|
||||||
|
|
||||||
assert html =~ dgettext("prompts", "%{name} created successfully", name: container.name)
|
assert html =~ dgettext("prompts", "%{name} created successfully", name: container.name)
|
||||||
assert html =~ "some location"
|
assert html =~ "some location"
|
||||||
@ -223,7 +134,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
current_user: current_user,
|
current_user: current_user,
|
||||||
container: container
|
container: container
|
||||||
} do
|
} do
|
||||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :table))
|
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||||
|
|
||||||
assert index_live |> element("[data-qa=\"edit-#{container.id}\"]") |> render_click() =~
|
assert index_live |> element("[data-qa=\"edit-#{container.id}\"]") |> render_click() =~
|
||||||
gettext("Edit %{name}", name: container.name)
|
gettext("Edit %{name}", name: container.name)
|
||||||
@ -238,7 +149,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
index_live
|
index_live
|
||||||
|> form("#container-form", container: @update_attrs)
|
|> form("#container-form", container: @update_attrs)
|
||||||
|> render_submit()
|
|> render_submit()
|
||||||
|> follow_redirect(conn, Routes.container_index_path(conn, :table))
|
|> follow_redirect(conn, Routes.container_index_path(conn, :index))
|
||||||
|
|
||||||
container = container.id |> Containers.get_container!(current_user)
|
container = container.id |> Containers.get_container!(current_user)
|
||||||
assert html =~ dgettext("prompts", "%{name} updated successfully", name: container.name)
|
assert html =~ dgettext("prompts", "%{name} updated successfully", name: container.name)
|
||||||
@ -303,7 +214,7 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "deletes container in listing", %{conn: conn, container: container} do
|
test "deletes container in listing", %{conn: conn, container: container} do
|
||||||
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :table))
|
{:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index))
|
||||||
|
|
||||||
assert index_live |> element("[data-qa=\"delete-#{container.id}\"]") |> render_click()
|
assert index_live |> element("[data-qa=\"delete-#{container.id}\"]") |> render_click()
|
||||||
refute has_element?(index_live, "#container-#{container.id}")
|
refute has_element?(index_live, "#container-#{container.id}")
|
||||||
@ -367,7 +278,6 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
|
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
|
||||||
|
|
||||||
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
||||||
assert_patch(show_live, Routes.container_show_path(conn, :table, container))
|
|
||||||
|
|
||||||
assert html =~ ammo_type_name
|
assert html =~ ammo_type_name
|
||||||
assert html =~ "some ammo group"
|
assert html =~ "some ammo group"
|
||||||
@ -396,7 +306,6 @@ defmodule CanneryWeb.ContainerLiveTest do
|
|||||||
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
|
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
|
||||||
|
|
||||||
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
|
||||||
assert_patch(show_live, Routes.container_show_path(conn, :table, container))
|
|
||||||
|
|
||||||
assert html =~ dgettext("actions", "Show used")
|
assert html =~ dgettext("actions", "Show used")
|
||||||
refute html =~ "some ammo group"
|
refute html =~ "some ammo group"
|
||||||
|
Loading…
Reference in New Issue
Block a user