refactor: integrate approval ui review changes
This commit is contained in:
parent
28f97184b3
commit
f53a3ce3cc
13 changed files with 153 additions and 139 deletions
|
|
@ -20,13 +20,14 @@ defmodule MvWeb.JoinRequestLive.Index do
|
|||
|
||||
alias Mv.Membership
|
||||
alias MvWeb.Helpers.DateFormatter
|
||||
alias MvWeb.JoinRequestLive.Helpers, as: JoinRequestHelpers
|
||||
|
||||
@impl true
|
||||
def mount(_params, _session, socket) do
|
||||
actor = current_actor(socket)
|
||||
|
||||
cond do
|
||||
not join_form_enabled?() ->
|
||||
not Membership.join_form_enabled?() ->
|
||||
{:ok, redirect(socket, to: ~p"/members")}
|
||||
|
||||
not can_access_page?(actor, "/join_requests") ->
|
||||
|
|
@ -81,8 +82,8 @@ defmodule MvWeb.JoinRequestLive.Index do
|
|||
{req.email}
|
||||
</:col>
|
||||
<:col :let={req} label={gettext("Status")}>
|
||||
<.badge variant={status_badge_variant(req.status)}>
|
||||
{format_status(req.status)}
|
||||
<.badge variant={JoinRequestHelpers.status_badge_variant(req.status)}>
|
||||
{JoinRequestHelpers.format_status(req.status)}
|
||||
</.badge>
|
||||
</:col>
|
||||
</.table>
|
||||
|
|
@ -119,15 +120,15 @@ defmodule MvWeb.JoinRequestLive.Index do
|
|||
</.maybe_value>
|
||||
</:col>
|
||||
<:col :let={req} label={gettext("Status")}>
|
||||
<.badge variant={status_badge_variant(req.status)}>
|
||||
{format_status(req.status)}
|
||||
<.badge variant={JoinRequestHelpers.status_badge_variant(req.status)}>
|
||||
{JoinRequestHelpers.format_status(req.status)}
|
||||
</.badge>
|
||||
</:col>
|
||||
<:col :let={req} label={gettext("Reviewed at")}>
|
||||
{review_date(req)}
|
||||
</:col>
|
||||
<:col :let={req} label={gettext("Review by")}>
|
||||
{reviewer_display(req)}
|
||||
{JoinRequestHelpers.reviewer_display(req) || ""}
|
||||
</:col>
|
||||
</.table>
|
||||
<% end %>
|
||||
|
|
@ -137,13 +138,6 @@ defmodule MvWeb.JoinRequestLive.Index do
|
|||
"""
|
||||
end
|
||||
|
||||
defp join_form_enabled? do
|
||||
case Membership.get_settings() do
|
||||
{:ok, %{join_form_enabled: true}} -> true
|
||||
_ -> false
|
||||
end
|
||||
end
|
||||
|
||||
defp load_join_requests(socket, actor) do
|
||||
socket =
|
||||
case Membership.list_join_requests(actor: actor, status: :submitted) do
|
||||
|
|
@ -168,17 +162,6 @@ defmodule MvWeb.JoinRequestLive.Index do
|
|||
assign(socket, :page_title, gettext("Join requests"))
|
||||
end
|
||||
|
||||
defp format_status(:pending_confirmation), do: gettext("Pending confirmation")
|
||||
defp format_status(:submitted), do: gettext("Submitted")
|
||||
defp format_status(:approved), do: gettext("Approved")
|
||||
defp format_status(:rejected), do: gettext("Rejected")
|
||||
defp format_status(other), do: to_string(other)
|
||||
|
||||
defp status_badge_variant(:submitted), do: :info
|
||||
defp status_badge_variant(:approved), do: :success
|
||||
defp status_badge_variant(:rejected), do: :error
|
||||
defp status_badge_variant(_), do: :neutral
|
||||
|
||||
defp review_date(req) do
|
||||
date =
|
||||
case req.status do
|
||||
|
|
@ -189,12 +172,4 @@ defmodule MvWeb.JoinRequestLive.Index do
|
|||
|
||||
if date, do: DateFormatter.format_datetime(date), else: ""
|
||||
end
|
||||
|
||||
defp reviewer_display(req) do
|
||||
case req.reviewed_by_user do
|
||||
nil -> ""
|
||||
%{email: email} when not is_nil(email) -> to_string(email) |> String.trim()
|
||||
_ -> ""
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue