From 3e686fa199393505e85bf45ee411331d849f4f95 Mon Sep 17 00:00:00 2001 From: shibao Date: Sat, 15 Feb 2025 04:04:10 +0000 Subject: [PATCH] better code style --- lib/memex/accounts.ex | 2 +- lib/memex/contexts.ex | 4 +- lib/memex/notes.ex | 8 +-- lib/memex/pipelines.ex | 4 +- lib/memex_web.ex | 1 + .../components/contexts_table_component.ex | 2 +- .../core_components/invite_card.html.heex | 22 ++++---- .../components/notes_table_component.ex | 2 +- .../components/pipelines_table_component.ex | 4 +- lib/memex_web/controller_helpers.ex | 13 +++++ .../user_confirmation_controller.ex | 2 +- .../user_reset_password_controller.ex | 2 +- .../controllers/user_settings_controller.ex | 8 +-- .../live/context_live/form_component.ex | 2 +- lib/memex_web/live/context_live/index.ex | 31 ++++++----- lib/memex_web/live/context_live/show.ex | 6 ++- lib/memex_web/live/home_live.ex | 2 +- .../live/invite_live/form_component.ex | 2 +- lib/memex_web/live/invite_live/index.ex | 8 +-- .../live/invite_live/index.html.heex | 2 +- .../live/note_live/form_component.ex | 2 +- lib/memex_web/live/note_live/index.ex | 41 ++++++++------ lib/memex_web/live/note_live/show.ex | 6 ++- .../live/pipeline_live/form_component.ex | 2 +- lib/memex_web/live/pipeline_live/index.ex | 41 ++++++++------ lib/memex_web/live/pipeline_live/show.ex | 12 +++-- .../live/step_live/form_component.ex | 2 +- priv/gettext/de/LC_MESSAGES/default.po | 54 +++++++++---------- priv/gettext/default.pot | 54 +++++++++---------- priv/gettext/en/LC_MESSAGES/default.po | 54 +++++++++---------- test/memex/accounts/invites_test.exs | 2 +- test/memex/accounts_test.exs | 14 ++--- 32 files changed, 225 insertions(+), 186 deletions(-) create mode 100644 lib/memex_web/controller_helpers.ex diff --git a/lib/memex/accounts.ex b/lib/memex/accounts.ex index 13fde54..e605496 100644 --- a/lib/memex/accounts.ex +++ b/lib/memex/accounts.ex @@ -117,7 +117,7 @@ defmodule Memex.Accounts do Multi.new() |> Multi.one(:users_count, from(u in User, select: count(u.id), distinct: true)) |> Multi.run(:use_invite, fn _changes_so_far, _repo -> - if allow_registration?() and invite_token |> is_nil() do + if allow_registration?() and !invite_token do {:ok, nil} else Invites.use_invite(invite_token) diff --git a/lib/memex/contexts.ex b/lib/memex/contexts.ex index 9203314..c9ec67b 100644 --- a/lib/memex/contexts.ex +++ b/lib/memex/contexts.ex @@ -22,7 +22,7 @@ defmodule Memex.Contexts do @spec list_contexts(search :: String.t() | nil, User.t()) :: [Context.t()] def list_contexts(search \\ nil, user) - def list_contexts(search, %{id: user_id}) when search |> is_nil() or search == "" do + def list_contexts(search, %{id: user_id}) when search in [nil, ""] do Repo.all(from c in Context, where: c.user_id == ^user_id, order_by: c.slug) end @@ -63,7 +63,7 @@ defmodule Memex.Contexts do @spec list_public_contexts(search :: String.t() | nil) :: [Context.t()] def list_public_contexts(search \\ nil) - def list_public_contexts(search) when search |> is_nil() or search == "" do + def list_public_contexts(search) when search in [nil, ""] do Repo.all(from c in Context, where: c.visibility == :public, order_by: c.slug) end diff --git a/lib/memex/notes.ex b/lib/memex/notes.ex index b216ac0..1edbdb0 100644 --- a/lib/memex/notes.ex +++ b/lib/memex/notes.ex @@ -22,11 +22,11 @@ defmodule Memex.Notes do @spec list_notes(search :: String.t() | nil, User.t()) :: [Note.t()] def list_notes(search \\ nil, user) - def list_notes(search, %{id: user_id}) when search |> is_nil() or search == "" do - Repo.all(from n in Note, where: n.user_id == ^user_id, order_by: n.slug) + def list_notes(search, %{id: user_id}) when user_id |> is_binary() and search in [nil, ""] do + Repo.all(from n in Note, order_by: n.slug) end - def list_notes(search, %{id: user_id}) when search |> is_binary() do + def list_notes(search, %{id: user_id}) when user_id |> is_binary() and search |> is_binary() do trimmed_search = String.trim(search) Repo.all( @@ -62,7 +62,7 @@ defmodule Memex.Notes do @spec list_public_notes(search :: String.t() | nil) :: [Note.t()] def list_public_notes(search \\ nil) - def list_public_notes(search) when search |> is_nil() or search == "" do + def list_public_notes(search) when search in [nil, ""] do Repo.all(from n in Note, where: n.visibility == :public, order_by: n.slug) end diff --git a/lib/memex/pipelines.ex b/lib/memex/pipelines.ex index 2d60596..c576a8e 100644 --- a/lib/memex/pipelines.ex +++ b/lib/memex/pipelines.ex @@ -22,7 +22,7 @@ defmodule Memex.Pipelines do @spec list_pipelines(search :: String.t() | nil, User.t()) :: [Pipeline.t()] def list_pipelines(search \\ nil, user) - def list_pipelines(search, %{id: user_id}) when search |> is_nil() or search == "" do + def list_pipelines(search, %{id: user_id}) when search in [nil, ""] do Repo.all(from p in Pipeline, where: p.user_id == ^user_id, order_by: p.slug) end @@ -62,7 +62,7 @@ defmodule Memex.Pipelines do @spec list_public_pipelines(search :: String.t() | nil) :: [Pipeline.t()] def list_public_pipelines(search \\ nil) - def list_public_pipelines(search) when search |> is_nil() or search == "" do + def list_public_pipelines(search) when search in [nil, ""] do Repo.all(from p in Pipeline, where: p.visibility == :public, order_by: p.slug) end diff --git a/lib/memex_web.ex b/lib/memex_web.ex index 2e24f00..29e9755 100644 --- a/lib/memex_web.ex +++ b/lib/memex_web.ex @@ -44,6 +44,7 @@ defmodule MemexWeb do use Gettext, backend: MemexWeb.Gettext + import MemexWeb.ControllerHelpers import Plug.Conn unquote(verified_routes()) diff --git a/lib/memex_web/components/contexts_table_component.ex b/lib/memex_web/components/contexts_table_component.ex index cdc1fce..52d610f 100644 --- a/lib/memex_web/components/contexts_table_component.ex +++ b/lib/memex_web/components/contexts_table_component.ex @@ -37,7 +37,7 @@ defmodule MemexWeb.Components.ContextsTableComponent do } = socket ) do columns = - if actions == [] or current_user |> is_nil() do + if actions == [] or !current_user do [] else [%{label: gettext("actions"), key: :actions, sortable: false}] diff --git a/lib/memex_web/components/core_components/invite_card.html.heex b/lib/memex_web/components/core_components/invite_card.html.heex index cabf1f3..5d604dd 100644 --- a/lib/memex_web/components/core_components/invite_card.html.heex +++ b/lib/memex_web/components/core_components/invite_card.html.heex @@ -1,12 +1,13 @@ -
-

+
+

<%= @invite.name %>

- <%= if @invite.disabled_at |> is_nil() do %> + <%= if @invite.disabled_at do %> +

+ <%= gettext("invite disabled") %> +

+ <% else %>

<%= if @invite.uses_left do %> <%= gettext( @@ -17,10 +18,6 @@ <%= gettext("uses left: unlimited") %> <% end %>

- <% else %> -

- <%= gettext("invite disabled") %> -

<% end %> <.qr_code @@ -35,14 +32,13 @@
<%= url(MemexWeb.Endpoint, ~p"/users/register?invite=#{@invite.token}") %> <%= if @code_actions, do: render_slot(@code_actions) %>
-
+
<%= render_slot(@inner_block) %>
diff --git a/lib/memex_web/components/notes_table_component.ex b/lib/memex_web/components/notes_table_component.ex index 78ba7c7..a9f6ed7 100644 --- a/lib/memex_web/components/notes_table_component.ex +++ b/lib/memex_web/components/notes_table_component.ex @@ -37,7 +37,7 @@ defmodule MemexWeb.Components.NotesTableComponent do } = socket ) do columns = - if actions == [] or current_user |> is_nil() do + if actions == [] or !current_user do [] else [%{label: gettext("actions"), key: :actions, sortable: false}] diff --git a/lib/memex_web/components/pipelines_table_component.ex b/lib/memex_web/components/pipelines_table_component.ex index e35adcf..b052327 100644 --- a/lib/memex_web/components/pipelines_table_component.ex +++ b/lib/memex_web/components/pipelines_table_component.ex @@ -37,7 +37,7 @@ defmodule MemexWeb.Components.PipelinesTableComponent do } = socket ) do columns = - if actions == [] or current_user |> is_nil() do + if actions == [] or !current_user do [] else [%{label: gettext("actions"), key: :actions, sortable: false}] @@ -101,7 +101,7 @@ defmodule MemexWeb.Components.PipelinesTableComponent do defp get_value_for_key(:description, %{description: description} = assigns, _additional_data) do description_block = ~H""" -
+
<%= @description %>
""" diff --git a/lib/memex_web/controller_helpers.ex b/lib/memex_web/controller_helpers.ex new file mode 100644 index 0000000..d852887 --- /dev/null +++ b/lib/memex_web/controller_helpers.ex @@ -0,0 +1,13 @@ +defmodule MemexWeb.ControllerHelpers do + @moduledoc """ + Implements controller helpers + """ + + import Plug.Conn, only: [assign: 3] + + def assign(conn, assigns) do + assigns + |> Map.new() + |> Enum.reduce(conn, fn {key, value}, conn -> conn |> assign(key, value) end) + end +end diff --git a/lib/memex_web/controllers/user_confirmation_controller.ex b/lib/memex_web/controllers/user_confirmation_controller.ex index a3584fd..ffbe723 100644 --- a/lib/memex_web/controllers/user_confirmation_controller.ex +++ b/lib/memex_web/controllers/user_confirmation_controller.ex @@ -42,7 +42,7 @@ defmodule MemexWeb.UserConfirmationController do # by some automation or by the user themselves, so we redirect without # a warning message. case conn.assigns do - %{current_user: %{confirmed_at: confirmed_at}} when not is_nil(confirmed_at) -> + %{current_user: %{confirmed_at: %{}}} -> redirect(conn, to: ~p"/") %{} -> diff --git a/lib/memex_web/controllers/user_reset_password_controller.ex b/lib/memex_web/controllers/user_reset_password_controller.ex index 6d83552..78c11b6 100644 --- a/lib/memex_web/controllers/user_reset_password_controller.ex +++ b/lib/memex_web/controllers/user_reset_password_controller.ex @@ -54,7 +54,7 @@ defmodule MemexWeb.UserResetPasswordController do %{"token" => token} = conn.params if user = Accounts.get_user_by_reset_password_token(token) do - conn |> assign(:user, user) |> assign(:token, token) + conn |> assign(user: user, token: token) else conn |> put_flash( diff --git a/lib/memex_web/controllers/user_settings_controller.ex b/lib/memex_web/controllers/user_settings_controller.ex index b9901f1..da4dce6 100644 --- a/lib/memex_web/controllers/user_settings_controller.ex +++ b/lib/memex_web/controllers/user_settings_controller.ex @@ -103,8 +103,10 @@ defmodule MemexWeb.UserSettingsController do defp assign_email_and_password_changesets(%{assigns: %{current_user: user}} = conn, _opts) do conn - |> assign(:email_changeset, Accounts.change_user_email(user)) - |> assign(:password_changeset, Accounts.change_user_password(user)) - |> assign(:locale_changeset, Accounts.change_user_locale(user)) + |> assign( + email_changeset: Accounts.change_user_email(user), + locale_changeset: Accounts.change_user_locale(user), + password_changeset: Accounts.change_user_password(user) + ) end end diff --git a/lib/memex_web/live/context_live/form_component.ex b/lib/memex_web/live/context_live/form_component.ex index ef54557..f2acd2d 100644 --- a/lib/memex_web/live/context_live/form_component.ex +++ b/lib/memex_web/live/context_live/form_component.ex @@ -69,7 +69,7 @@ defmodule MemexWeb.ContextLive.FormComponent do |> push_navigate(to: return_to) {:error, %Changeset{} = changeset} -> - assign(socket, changeset: changeset) + assign(socket, :changeset, changeset) end {:noreply, socket} diff --git a/lib/memex_web/live/context_live/index.ex b/lib/memex_web/live/context_live/index.ex index c3cf8b4..ec2f022 100644 --- a/lib/memex_web/live/context_live/index.ex +++ b/lib/memex_web/live/context_live/index.ex @@ -20,29 +20,37 @@ defmodule MemexWeb.ContextLive.Index do %{slug: slug} = context = Contexts.get_context_by_slug(slug, current_user) socket - |> assign(page_title: gettext("edit %{slug}", slug: slug)) - |> assign(context: context) + |> assign( + context: context, + page_title: gettext("edit %{slug}", slug: slug) + ) end defp apply_action(%{assigns: %{current_user: %{id: current_user_id}}} = socket, :new, _params) do socket - |> assign(page_title: gettext("new context")) - |> assign(context: %Context{visibility: :private, user_id: current_user_id}) + |> assign( + context: %Context{visibility: :private, user_id: current_user_id}, + page_title: gettext("new context") + ) end defp apply_action(socket, :index, _params) do socket - |> assign(page_title: gettext("contexts")) - |> assign(search: nil) - |> assign(context: nil) + |> assign( + context: nil, + page_title: gettext("contexts"), + search: nil + ) |> display_contexts() end defp apply_action(socket, :search, %{"search" => search}) do socket - |> assign(page_title: gettext("contexts")) - |> assign(search: search) - |> assign(context: nil) + |> assign( + context: nil, + page_title: gettext("contexts"), + search: search + ) |> display_contexts() end @@ -68,8 +76,7 @@ defmodule MemexWeb.ContextLive.Index do {:noreply, socket |> push_patch(to: redirect_to)} end - defp display_contexts(%{assigns: %{current_user: current_user, search: search}} = socket) - when not (current_user |> is_nil()) do + defp display_contexts(%{assigns: %{current_user: %{} = current_user, search: search}} = socket) do socket |> assign(contexts: Contexts.list_contexts(search, current_user)) end diff --git a/lib/memex_web/live/context_live/show.ex b/lib/memex_web/live/context_live/show.ex index c310163..54ccf62 100644 --- a/lib/memex_web/live/context_live/show.ex +++ b/lib/memex_web/live/context_live/show.ex @@ -21,8 +21,10 @@ defmodule MemexWeb.ContextLive.Show do socket = socket - |> assign(:page_title, page_title(live_action, context)) - |> assign(:context, context) + |> assign( + context: context, + page_title: page_title(live_action, context) + ) {:noreply, socket} end diff --git a/lib/memex_web/live/home_live.ex b/lib/memex_web/live/home_live.ex index 6ffdb4b..1282967 100644 --- a/lib/memex_web/live/home_live.ex +++ b/lib/memex_web/live/home_live.ex @@ -11,6 +11,6 @@ defmodule MemexWeb.HomeLive do @impl true def mount(_params, _session, socket) do admins = Accounts.list_users_by_role(:admin) - {:ok, socket |> assign(page_title: gettext("home"), admins: admins, version: @version)} + {:ok, socket |> assign(admins: admins, page_title: gettext("home"), version: @version)} end end diff --git a/lib/memex_web/live/invite_live/form_component.ex b/lib/memex_web/live/invite_live/form_component.ex index f42f653..baec5b3 100644 --- a/lib/memex_web/live/invite_live/form_component.ex +++ b/lib/memex_web/live/invite_live/form_component.ex @@ -82,7 +82,7 @@ defmodule MemexWeb.InviteLive.FormComponent do socket |> put_flash(:info, prompt) |> push_navigate(to: return_to) {:error, %Changeset{} = changeset} -> - socket |> assign(changeset: changeset) + socket |> assign(:changeset, changeset) end {:noreply, socket} diff --git a/lib/memex_web/live/invite_live/index.ex b/lib/memex_web/live/invite_live/index.ex index 345ecfa..f1e830e 100644 --- a/lib/memex_web/live/invite_live/index.ex +++ b/lib/memex_web/live/invite_live/index.ex @@ -20,15 +20,15 @@ defmodule MemexWeb.InviteLive.Index do defp apply_action(%{assigns: %{current_user: current_user}} = socket, :edit, %{"id" => id}) do socket - |> assign(page_title: gettext("edit invite"), invite: Invites.get_invite!(id, current_user)) + |> assign(invite: Invites.get_invite!(id, current_user), page_title: gettext("edit invite")) end defp apply_action(socket, :new, _params) do - socket |> assign(page_title: gettext("new invite"), invite: %Invite{}) + socket |> assign(invite: %Invite{}, page_title: gettext("new invite")) end defp apply_action(socket, :index, _params) do - socket |> assign(page_title: gettext("invites"), invite: nil) + socket |> assign(invite: nil, page_title: gettext("invites")) end @impl true @@ -138,6 +138,6 @@ defmodule MemexWeb.InviteLive.Index do use_counts = invites |> Invites.get_use_counts(current_user) users = all_users |> Map.get(:user, []) - socket |> assign(invites: invites, use_counts: use_counts, admins: admins, users: users) + socket |> assign(admins: admins, invites: invites, use_counts: use_counts, users: users) end end diff --git a/lib/memex_web/live/invite_live/index.html.heex b/lib/memex_web/live/invite_live/index.html.heex index edf81d1..8a23faa 100644 --- a/lib/memex_web/live/invite_live/index.html.heex +++ b/lib/memex_web/live/invite_live/index.html.heex @@ -71,7 +71,7 @@ <.link - :if={invite.disabled_at |> is_nil() and not (invite.uses_left |> is_nil())} + :if={!invite.disabled_at and !!invite.uses_left} href="#" class="btn btn-secondary" phx-click="set_unlimited" diff --git a/lib/memex_web/live/note_live/form_component.ex b/lib/memex_web/live/note_live/form_component.ex index e974884..d88b868 100644 --- a/lib/memex_web/live/note_live/form_component.ex +++ b/lib/memex_web/live/note_live/form_component.ex @@ -68,7 +68,7 @@ defmodule MemexWeb.NoteLive.FormComponent do |> push_navigate(to: return_to) {:error, %Changeset{} = changeset} -> - assign(socket, changeset: changeset) + assign(socket, :changeset, changeset) end {:noreply, socket} diff --git a/lib/memex_web/live/note_live/index.ex b/lib/memex_web/live/note_live/index.ex index cc8db10..52e9383 100644 --- a/lib/memex_web/live/note_live/index.ex +++ b/lib/memex_web/live/note_live/index.ex @@ -4,11 +4,11 @@ defmodule MemexWeb.NoteLive.Index do @impl true def mount(%{"search" => search}, _session, socket) do - {:ok, socket |> assign(search: search) |> display_notes()} + {:ok, socket |> assign(:search, search) |> display_notes()} end def mount(_params, _session, socket) do - {:ok, socket |> assign(search: nil) |> display_notes()} + {:ok, socket |> assign(:search, nil) |> display_notes()} end @impl true @@ -20,29 +20,37 @@ defmodule MemexWeb.NoteLive.Index do %{slug: slug} = note = Notes.get_note_by_slug(slug, current_user) socket - |> assign(page_title: gettext("edit %{slug}", slug: slug)) - |> assign(note: note) + |> assign( + note: note, + page_title: gettext("edit %{slug}", slug: slug) + ) end defp apply_action(%{assigns: %{current_user: %{id: current_user_id}}} = socket, :new, _params) do socket - |> assign(page_title: gettext("new note")) - |> assign(note: %Note{visibility: :private, user_id: current_user_id}) + |> assign( + note: %Note{visibility: :private, user_id: current_user_id}, + page_title: gettext("new note") + ) end defp apply_action(socket, :index, _params) do socket - |> assign(page_title: gettext("notes")) - |> assign(search: nil) - |> assign(note: nil) + |> assign( + note: nil, + page_title: gettext("notes"), + search: nil + ) |> display_notes() end defp apply_action(socket, :search, %{"search" => search}) do socket - |> assign(page_title: gettext("notes")) - |> assign(search: search) - |> assign(note: nil) + |> assign( + note: nil, + page_title: gettext("notes"), + search: search + ) |> display_notes() end @@ -53,7 +61,7 @@ defmodule MemexWeb.NoteLive.Index do socket = socket - |> assign(notes: Notes.list_notes(current_user)) + |> assign(:notes, Notes.list_notes(current_user)) |> put_flash(:info, gettext("%{slug} deleted", slug: slug)) {:noreply, socket} @@ -67,12 +75,11 @@ defmodule MemexWeb.NoteLive.Index do {:noreply, socket |> push_patch(to: ~p"/notes/#{search_term}")} end - defp display_notes(%{assigns: %{current_user: current_user, search: search}} = socket) - when not (current_user |> is_nil()) do - socket |> assign(notes: Notes.list_notes(search, current_user)) + defp display_notes(%{assigns: %{current_user: %{} = current_user, search: search}} = socket) do + socket |> assign(:notes, Notes.list_notes(search, current_user)) end defp display_notes(%{assigns: %{search: search}} = socket) do - socket |> assign(notes: Notes.list_public_notes(search)) + socket |> assign(:notes, Notes.list_public_notes(search)) end end diff --git a/lib/memex_web/live/note_live/show.ex b/lib/memex_web/live/note_live/show.ex index 9afbe65..9df7747 100644 --- a/lib/memex_web/live/note_live/show.ex +++ b/lib/memex_web/live/note_live/show.ex @@ -21,8 +21,10 @@ defmodule MemexWeb.NoteLive.Show do socket = socket - |> assign(:page_title, page_title(live_action, note)) - |> assign(:note, note) + |> assign( + note: note, + page_title: page_title(live_action, note) + ) {:noreply, socket} end diff --git a/lib/memex_web/live/pipeline_live/form_component.ex b/lib/memex_web/live/pipeline_live/form_component.ex index d4bf186..9f0be6e 100644 --- a/lib/memex_web/live/pipeline_live/form_component.ex +++ b/lib/memex_web/live/pipeline_live/form_component.ex @@ -73,7 +73,7 @@ defmodule MemexWeb.PipelineLive.FormComponent do |> push_navigate(to: return_to) {:error, %Changeset{} = changeset} -> - assign(socket, changeset: changeset) + assign(socket, :changeset, changeset) end {:noreply, socket} diff --git a/lib/memex_web/live/pipeline_live/index.ex b/lib/memex_web/live/pipeline_live/index.ex index aa93fe1..8aef194 100644 --- a/lib/memex_web/live/pipeline_live/index.ex +++ b/lib/memex_web/live/pipeline_live/index.ex @@ -4,11 +4,11 @@ defmodule MemexWeb.PipelineLive.Index do @impl true def mount(%{"search" => search}, _session, socket) do - {:ok, socket |> assign(search: search) |> display_pipelines()} + {:ok, socket |> assign(:search, search) |> display_pipelines()} end def mount(_params, _session, socket) do - {:ok, socket |> assign(search: nil) |> display_pipelines()} + {:ok, socket |> assign(:search, nil) |> display_pipelines()} end @impl true @@ -20,29 +20,37 @@ defmodule MemexWeb.PipelineLive.Index do %{slug: slug} = pipeline = Pipelines.get_pipeline_by_slug(slug, current_user) socket - |> assign(page_title: gettext("edit %{slug}", slug: slug)) - |> assign(pipeline: pipeline) + |> assign( + page_title: gettext("edit %{slug}", slug: slug), + pipeline: pipeline + ) end defp apply_action(%{assigns: %{current_user: %{id: current_user_id}}} = socket, :new, _params) do socket - |> assign(page_title: gettext("new pipeline")) - |> assign(pipeline: %Pipeline{visibility: :private, user_id: current_user_id}) + |> assign( + page_title: gettext("new pipeline"), + pipeline: %Pipeline{visibility: :private, user_id: current_user_id} + ) end defp apply_action(socket, :index, _params) do socket - |> assign(page_title: gettext("pipelines")) - |> assign(search: nil) - |> assign(pipeline: nil) + |> assign( + page_title: gettext("pipelines"), + pipeline: nil, + search: nil + ) |> display_pipelines() end defp apply_action(socket, :search, %{"search" => search}) do socket - |> assign(page_title: gettext("pipelines")) - |> assign(search: search) - |> assign(pipeline: nil) + |> assign( + page_title: gettext("pipelines"), + pipeline: nil, + search: search + ) |> display_pipelines() end @@ -53,7 +61,7 @@ defmodule MemexWeb.PipelineLive.Index do socket = socket - |> assign(pipelines: Pipelines.list_pipelines(current_user)) + |> assign(:pipelines, Pipelines.list_pipelines(current_user)) |> put_flash(:info, gettext("%{slug} deleted", slug: slug)) {:noreply, socket} @@ -67,12 +75,11 @@ defmodule MemexWeb.PipelineLive.Index do {:noreply, socket |> push_patch(to: ~p"/pipelines/#{search_term}")} end - defp display_pipelines(%{assigns: %{current_user: current_user, search: search}} = socket) - when not (current_user |> is_nil()) do - socket |> assign(pipelines: Pipelines.list_pipelines(search, current_user)) + defp display_pipelines(%{assigns: %{current_user: %{} = current_user, search: search}} = socket) do + socket |> assign(:pipelines, Pipelines.list_pipelines(search, current_user)) end defp display_pipelines(%{assigns: %{search: search}} = socket) do - socket |> assign(pipelines: Pipelines.list_public_pipelines(search)) + socket |> assign(:pipelines, Pipelines.list_public_pipelines(search)) end end diff --git a/lib/memex_web/live/pipeline_live/show.ex b/lib/memex_web/live/pipeline_live/show.ex index 9e37ba5..0b1e5a6 100644 --- a/lib/memex_web/live/pipeline_live/show.ex +++ b/lib/memex_web/live/pipeline_live/show.ex @@ -21,9 +21,11 @@ defmodule MemexWeb.PipelineLive.Show do socket = socket - |> assign(:page_title, page_title(live_action, pipeline)) - |> assign(:pipeline, pipeline) - |> assign(:steps, pipeline |> Steps.list_steps(current_user)) + |> assign( + page_title: page_title(live_action, pipeline), + pipeline: pipeline, + steps: pipeline |> Steps.list_steps(current_user) + ) |> apply_action(live_action, params) {:noreply, socket} @@ -47,8 +49,8 @@ defmodule MemexWeb.PipelineLive.Show do socket |> assign( step: %Step{ - position: steps |> Enum.count(), pipeline_id: pipeline_id, + position: steps |> Enum.count(), user_id: current_user_id } ) @@ -59,7 +61,7 @@ defmodule MemexWeb.PipelineLive.Show do :edit_step, %{"step_id" => step_id} ) do - socket |> assign(step: step_id |> Steps.get_step!(current_user)) + socket |> assign(:step, step_id |> Steps.get_step!(current_user)) end @impl true diff --git a/lib/memex_web/live/step_live/form_component.ex b/lib/memex_web/live/step_live/form_component.ex index 9bf6262..6e785e2 100644 --- a/lib/memex_web/live/step_live/form_component.ex +++ b/lib/memex_web/live/step_live/form_component.ex @@ -75,7 +75,7 @@ defmodule MemexWeb.StepLive.FormComponent do |> push_navigate(to: return_to) {:error, %Changeset{} = changeset} -> - assign(socket, changeset: changeset) + assign(socket, :changeset, changeset) end {:noreply, socket} diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index 7b42b1f..26927d7 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -46,8 +46,8 @@ msgid "confirm new password" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:28 -#: lib/memex_web/live/context_live/index.ex:35 -#: lib/memex_web/live/context_live/index.ex:43 +#: lib/memex_web/live/context_live/index.ex:41 +#: lib/memex_web/live/context_live/index.ex:51 #: lib/memex_web/live/context_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "contexts" @@ -128,7 +128,7 @@ msgstr "" msgid "instance information" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:22 +#: lib/memex_web/components/core_components/invite_card.html.heex:8 #, elixir-autogen, elixir-format msgid "invite disabled" msgstr "" @@ -177,8 +177,8 @@ msgid "no notes found" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:22 -#: lib/memex_web/live/note_live/index.ex:35 -#: lib/memex_web/live/note_live/index.ex:43 +#: lib/memex_web/live/note_live/index.ex:41 +#: lib/memex_web/live/note_live/index.ex:51 #: lib/memex_web/live/note_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "notes" @@ -190,8 +190,8 @@ msgid "notes:" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:34 -#: lib/memex_web/live/pipeline_live/index.ex:35 -#: lib/memex_web/live/pipeline_live/index.ex:43 +#: lib/memex_web/live/pipeline_live/index.ex:40 +#: lib/memex_web/live/pipeline_live/index.ex:50 #: lib/memex_web/live/pipeline_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "pipelines" @@ -305,7 +305,7 @@ msgstr "" msgid "visibility" msgstr "" -#: lib/memex_web/live/note_live/index.ex:29 +#: lib/memex_web/live/note_live/index.ex:33 #, elixir-autogen, elixir-format msgid "new note" msgstr "" @@ -317,7 +317,7 @@ msgstr "" msgid "search" msgstr "" -#: lib/memex_web/live/context_live/index.ex:29 +#: lib/memex_web/live/context_live/index.ex:33 #, elixir-autogen, elixir-format msgid "new context" msgstr "" @@ -332,7 +332,7 @@ msgstr "" msgid "description" msgstr "" -#: lib/memex_web/live/pipeline_live/index.ex:29 +#: lib/memex_web/live/pipeline_live/index.ex:32 #, elixir-autogen, elixir-format msgid "new pipeline" msgstr "" @@ -349,12 +349,12 @@ msgstr "" msgid "%{slug} created" msgstr "" -#: lib/memex_web/live/context_live/index.ex:57 -#: lib/memex_web/live/context_live/show.ex:40 -#: lib/memex_web/live/note_live/index.ex:57 -#: lib/memex_web/live/note_live/show.ex:40 -#: lib/memex_web/live/pipeline_live/index.ex:57 -#: lib/memex_web/live/pipeline_live/show.ex:75 +#: lib/memex_web/live/context_live/index.ex:65 +#: lib/memex_web/live/context_live/show.ex:42 +#: lib/memex_web/live/note_live/index.ex:65 +#: lib/memex_web/live/note_live/show.ex:42 +#: lib/memex_web/live/pipeline_live/index.ex:65 +#: lib/memex_web/live/pipeline_live/show.ex:77 #, elixir-autogen, elixir-format msgid "%{slug} deleted" msgstr "" @@ -366,12 +366,12 @@ msgstr "" msgid "%{slug} saved" msgstr "" -#: lib/memex_web/live/context_live/index.ex:23 -#: lib/memex_web/live/context_live/show.ex:47 -#: lib/memex_web/live/note_live/index.ex:23 -#: lib/memex_web/live/note_live/show.ex:47 -#: lib/memex_web/live/pipeline_live/index.ex:23 -#: lib/memex_web/live/pipeline_live/show.ex:121 +#: lib/memex_web/live/context_live/index.ex:25 +#: lib/memex_web/live/context_live/show.ex:49 +#: lib/memex_web/live/note_live/index.ex:25 +#: lib/memex_web/live/note_live/show.ex:49 +#: lib/memex_web/live/pipeline_live/index.ex:24 +#: lib/memex_web/live/pipeline_live/show.ex:123 #, elixir-autogen, elixir-format msgid "edit %{slug}" msgstr "" @@ -432,7 +432,7 @@ msgstr "" msgid "%{title} created" msgstr "" -#: lib/memex_web/live/pipeline_live/show.ex:93 +#: lib/memex_web/live/pipeline_live/show.ex:95 #, elixir-autogen, elixir-format msgid "%{title} deleted" msgstr "" @@ -442,7 +442,7 @@ msgstr "" msgid "%{title} saved" msgstr "" -#: lib/memex_web/live/pipeline_live/show.ex:123 +#: lib/memex_web/live/pipeline_live/show.ex:125 #, elixir-autogen, elixir-format msgid "add step to %{slug}" msgstr "" @@ -578,7 +578,7 @@ msgstr "" msgid "user registered on%{registered_datetime}" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:17 +#: lib/memex_web/components/core_components/invite_card.html.heex:18 #, elixir-autogen, elixir-format msgid "uses left: unlimited" msgstr "" @@ -588,12 +588,12 @@ msgstr "" msgid "read more on how to use memEx" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:12 +#: lib/memex_web/components/core_components/invite_card.html.heex:13 #, elixir-autogen, elixir-format, fuzzy msgid "uses left: %{uses_left_count}" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:32 +#: lib/memex_web/components/core_components/invite_card.html.heex:29 #, elixir-autogen, elixir-format msgid "uses: %{uses_count}" msgstr "" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index b238892..e3be5a6 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -44,8 +44,8 @@ msgid "confirm new password" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:28 -#: lib/memex_web/live/context_live/index.ex:35 -#: lib/memex_web/live/context_live/index.ex:43 +#: lib/memex_web/live/context_live/index.ex:41 +#: lib/memex_web/live/context_live/index.ex:51 #: lib/memex_web/live/context_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "contexts" @@ -126,7 +126,7 @@ msgstr "" msgid "instance information" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:22 +#: lib/memex_web/components/core_components/invite_card.html.heex:8 #, elixir-autogen, elixir-format msgid "invite disabled" msgstr "" @@ -175,8 +175,8 @@ msgid "no notes found" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:22 -#: lib/memex_web/live/note_live/index.ex:35 -#: lib/memex_web/live/note_live/index.ex:43 +#: lib/memex_web/live/note_live/index.ex:41 +#: lib/memex_web/live/note_live/index.ex:51 #: lib/memex_web/live/note_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "notes" @@ -188,8 +188,8 @@ msgid "notes:" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:34 -#: lib/memex_web/live/pipeline_live/index.ex:35 -#: lib/memex_web/live/pipeline_live/index.ex:43 +#: lib/memex_web/live/pipeline_live/index.ex:40 +#: lib/memex_web/live/pipeline_live/index.ex:50 #: lib/memex_web/live/pipeline_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "pipelines" @@ -303,7 +303,7 @@ msgstr "" msgid "visibility" msgstr "" -#: lib/memex_web/live/note_live/index.ex:29 +#: lib/memex_web/live/note_live/index.ex:33 #, elixir-autogen, elixir-format msgid "new note" msgstr "" @@ -315,7 +315,7 @@ msgstr "" msgid "search" msgstr "" -#: lib/memex_web/live/context_live/index.ex:29 +#: lib/memex_web/live/context_live/index.ex:33 #, elixir-autogen, elixir-format msgid "new context" msgstr "" @@ -330,7 +330,7 @@ msgstr "" msgid "description" msgstr "" -#: lib/memex_web/live/pipeline_live/index.ex:29 +#: lib/memex_web/live/pipeline_live/index.ex:32 #, elixir-autogen, elixir-format msgid "new pipeline" msgstr "" @@ -347,12 +347,12 @@ msgstr "" msgid "%{slug} created" msgstr "" -#: lib/memex_web/live/context_live/index.ex:57 -#: lib/memex_web/live/context_live/show.ex:40 -#: lib/memex_web/live/note_live/index.ex:57 -#: lib/memex_web/live/note_live/show.ex:40 -#: lib/memex_web/live/pipeline_live/index.ex:57 -#: lib/memex_web/live/pipeline_live/show.ex:75 +#: lib/memex_web/live/context_live/index.ex:65 +#: lib/memex_web/live/context_live/show.ex:42 +#: lib/memex_web/live/note_live/index.ex:65 +#: lib/memex_web/live/note_live/show.ex:42 +#: lib/memex_web/live/pipeline_live/index.ex:65 +#: lib/memex_web/live/pipeline_live/show.ex:77 #, elixir-autogen, elixir-format msgid "%{slug} deleted" msgstr "" @@ -364,12 +364,12 @@ msgstr "" msgid "%{slug} saved" msgstr "" -#: lib/memex_web/live/context_live/index.ex:23 -#: lib/memex_web/live/context_live/show.ex:47 -#: lib/memex_web/live/note_live/index.ex:23 -#: lib/memex_web/live/note_live/show.ex:47 -#: lib/memex_web/live/pipeline_live/index.ex:23 -#: lib/memex_web/live/pipeline_live/show.ex:121 +#: lib/memex_web/live/context_live/index.ex:25 +#: lib/memex_web/live/context_live/show.ex:49 +#: lib/memex_web/live/note_live/index.ex:25 +#: lib/memex_web/live/note_live/show.ex:49 +#: lib/memex_web/live/pipeline_live/index.ex:24 +#: lib/memex_web/live/pipeline_live/show.ex:123 #, elixir-autogen, elixir-format msgid "edit %{slug}" msgstr "" @@ -430,7 +430,7 @@ msgstr "" msgid "%{title} created" msgstr "" -#: lib/memex_web/live/pipeline_live/show.ex:93 +#: lib/memex_web/live/pipeline_live/show.ex:95 #, elixir-autogen, elixir-format msgid "%{title} deleted" msgstr "" @@ -440,7 +440,7 @@ msgstr "" msgid "%{title} saved" msgstr "" -#: lib/memex_web/live/pipeline_live/show.ex:123 +#: lib/memex_web/live/pipeline_live/show.ex:125 #, elixir-autogen, elixir-format msgid "add step to %{slug}" msgstr "" @@ -576,7 +576,7 @@ msgstr "" msgid "user registered on%{registered_datetime}" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:17 +#: lib/memex_web/components/core_components/invite_card.html.heex:18 #, elixir-autogen, elixir-format msgid "uses left: unlimited" msgstr "" @@ -586,12 +586,12 @@ msgstr "" msgid "read more on how to use memEx" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:12 +#: lib/memex_web/components/core_components/invite_card.html.heex:13 #, elixir-autogen, elixir-format msgid "uses left: %{uses_left_count}" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:32 +#: lib/memex_web/components/core_components/invite_card.html.heex:29 #, elixir-autogen, elixir-format msgid "uses: %{uses_count}" msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 925bb29..263ff97 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -45,8 +45,8 @@ msgid "confirm new password" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:28 -#: lib/memex_web/live/context_live/index.ex:35 -#: lib/memex_web/live/context_live/index.ex:43 +#: lib/memex_web/live/context_live/index.ex:41 +#: lib/memex_web/live/context_live/index.ex:51 #: lib/memex_web/live/context_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "contexts" @@ -127,7 +127,7 @@ msgstr "" msgid "instance information" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:22 +#: lib/memex_web/components/core_components/invite_card.html.heex:8 #, elixir-autogen, elixir-format msgid "invite disabled" msgstr "" @@ -176,8 +176,8 @@ msgid "no notes found" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:22 -#: lib/memex_web/live/note_live/index.ex:35 -#: lib/memex_web/live/note_live/index.ex:43 +#: lib/memex_web/live/note_live/index.ex:41 +#: lib/memex_web/live/note_live/index.ex:51 #: lib/memex_web/live/note_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "notes" @@ -189,8 +189,8 @@ msgid "notes:" msgstr "" #: lib/memex_web/components/core_components/topbar.html.heex:34 -#: lib/memex_web/live/pipeline_live/index.ex:35 -#: lib/memex_web/live/pipeline_live/index.ex:43 +#: lib/memex_web/live/pipeline_live/index.ex:40 +#: lib/memex_web/live/pipeline_live/index.ex:50 #: lib/memex_web/live/pipeline_live/index.html.heex:3 #, elixir-autogen, elixir-format msgid "pipelines" @@ -304,7 +304,7 @@ msgstr "" msgid "visibility" msgstr "" -#: lib/memex_web/live/note_live/index.ex:29 +#: lib/memex_web/live/note_live/index.ex:33 #, elixir-autogen, elixir-format msgid "new note" msgstr "" @@ -316,7 +316,7 @@ msgstr "" msgid "search" msgstr "" -#: lib/memex_web/live/context_live/index.ex:29 +#: lib/memex_web/live/context_live/index.ex:33 #, elixir-autogen, elixir-format msgid "new context" msgstr "" @@ -331,7 +331,7 @@ msgstr "" msgid "description" msgstr "" -#: lib/memex_web/live/pipeline_live/index.ex:29 +#: lib/memex_web/live/pipeline_live/index.ex:32 #, elixir-autogen, elixir-format msgid "new pipeline" msgstr "" @@ -348,12 +348,12 @@ msgstr "" msgid "%{slug} created" msgstr "" -#: lib/memex_web/live/context_live/index.ex:57 -#: lib/memex_web/live/context_live/show.ex:40 -#: lib/memex_web/live/note_live/index.ex:57 -#: lib/memex_web/live/note_live/show.ex:40 -#: lib/memex_web/live/pipeline_live/index.ex:57 -#: lib/memex_web/live/pipeline_live/show.ex:75 +#: lib/memex_web/live/context_live/index.ex:65 +#: lib/memex_web/live/context_live/show.ex:42 +#: lib/memex_web/live/note_live/index.ex:65 +#: lib/memex_web/live/note_live/show.ex:42 +#: lib/memex_web/live/pipeline_live/index.ex:65 +#: lib/memex_web/live/pipeline_live/show.ex:77 #, elixir-autogen, elixir-format msgid "%{slug} deleted" msgstr "" @@ -365,12 +365,12 @@ msgstr "" msgid "%{slug} saved" msgstr "" -#: lib/memex_web/live/context_live/index.ex:23 -#: lib/memex_web/live/context_live/show.ex:47 -#: lib/memex_web/live/note_live/index.ex:23 -#: lib/memex_web/live/note_live/show.ex:47 -#: lib/memex_web/live/pipeline_live/index.ex:23 -#: lib/memex_web/live/pipeline_live/show.ex:121 +#: lib/memex_web/live/context_live/index.ex:25 +#: lib/memex_web/live/context_live/show.ex:49 +#: lib/memex_web/live/note_live/index.ex:25 +#: lib/memex_web/live/note_live/show.ex:49 +#: lib/memex_web/live/pipeline_live/index.ex:24 +#: lib/memex_web/live/pipeline_live/show.ex:123 #, elixir-autogen, elixir-format msgid "edit %{slug}" msgstr "" @@ -431,7 +431,7 @@ msgstr "" msgid "%{title} created" msgstr "" -#: lib/memex_web/live/pipeline_live/show.ex:93 +#: lib/memex_web/live/pipeline_live/show.ex:95 #, elixir-autogen, elixir-format msgid "%{title} deleted" msgstr "" @@ -441,7 +441,7 @@ msgstr "" msgid "%{title} saved" msgstr "" -#: lib/memex_web/live/pipeline_live/show.ex:123 +#: lib/memex_web/live/pipeline_live/show.ex:125 #, elixir-autogen, elixir-format msgid "add step to %{slug}" msgstr "" @@ -577,7 +577,7 @@ msgstr "" msgid "user registered on%{registered_datetime}" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:17 +#: lib/memex_web/components/core_components/invite_card.html.heex:18 #, elixir-autogen, elixir-format msgid "uses left: unlimited" msgstr "" @@ -587,12 +587,12 @@ msgstr "" msgid "read more on how to use memEx" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:12 +#: lib/memex_web/components/core_components/invite_card.html.heex:13 #, elixir-autogen, elixir-format msgid "uses left: %{uses_left_count}" msgstr "" -#: lib/memex_web/components/core_components/invite_card.html.heex:32 +#: lib/memex_web/components/core_components/invite_card.html.heex:29 #, elixir-autogen, elixir-format msgid "uses: %{uses_count}" msgstr "" diff --git a/test/memex/accounts/invites_test.exs b/test/memex/accounts/invites_test.exs index b8c19f8..cb2392b 100644 --- a/test/memex/accounts/invites_test.exs +++ b/test/memex/accounts/invites_test.exs @@ -126,7 +126,7 @@ defmodule Memex.InvitesTest do %{invite: %{token: token} = invite, current_user: current_user} do {:ok, _invite} = Invites.update_invite(invite, %{uses_left: 1}, current_user) assert {:ok, %{uses_left: 0, disabled_at: disabled_at}} = Invites.use_invite(token) - assert not is_nil(disabled_at) + assert not (disabled_at |> is_nil()) end test "use_invite/1 does not work on disactivated invite", diff --git a/test/memex/accounts_test.exs b/test/memex/accounts_test.exs index 4269c4b..033195f 100644 --- a/test/memex/accounts_test.exs +++ b/test/memex/accounts_test.exs @@ -96,9 +96,9 @@ defmodule Memex.AccountsTest do Accounts.register_user(%{"email" => email, "password" => valid_user_password()}) assert user.email == email - assert is_binary(user.hashed_password) - assert is_nil(user.confirmed_at) - assert is_nil(user.password) + assert user.hashed_password |> is_binary() + assert user.confirmed_at |> is_nil() + assert user.password |> is_nil() end test "records used invite during registration" do @@ -128,7 +128,7 @@ defmodule Memex.AccountsTest do assert changeset.valid? assert get_change(changeset, :email) == email assert get_change(changeset, :password) == password - assert is_nil(get_change(changeset, :hashed_password)) + assert get_change(changeset, :hashed_password) |> is_nil() end end @@ -265,7 +265,7 @@ defmodule Memex.AccountsTest do assert changeset.valid? assert get_change(changeset, :password) == "new valid password" - assert is_nil(get_change(changeset, :hashed_password)) + assert get_change(changeset, :hashed_password) |> is_nil() end end @@ -309,7 +309,7 @@ defmodule Memex.AccountsTest do "password" => "new valid password" }) - assert is_nil(user.password) + assert user.password |> is_nil() assert Accounts.get_user_by_email_and_password(user.email, "new valid password") end @@ -506,7 +506,7 @@ defmodule Memex.AccountsTest do {:ok, updated_user} = Accounts.reset_user_password(user, %{"password" => "new valid password"}) - assert is_nil(updated_user.password) + assert updated_user.password |> is_nil() assert Accounts.get_user_by_email_and_password(user.email, "new valid password") end