diff --git a/lib/comfycamp/accounts.ex b/lib/comfycamp/accounts.ex index ffe006a..5cad78e 100644 --- a/lib/comfycamp/accounts.ex +++ b/lib/comfycamp/accounts.ex @@ -26,6 +26,13 @@ defmodule Comfycamp.Accounts do Repo.get_by(User, email: email) end + @doc """ + Get all users. + """ + def list_users() do + Repo.all(User) + end + @doc """ Gets a user by email and password. diff --git a/lib/comfycamp_web/controllers/admin_page_controller.ex b/lib/comfycamp_web/controllers/admin_page_controller.ex index d575ce1..35ec55a 100644 --- a/lib/comfycamp_web/controllers/admin_page_controller.ex +++ b/lib/comfycamp_web/controllers/admin_page_controller.ex @@ -7,18 +7,6 @@ defmodule ComfycampWeb.AdminPageController do |> render(:home, page_title: "Админка") end - def posts(conn, _params) do - conn - |> put_layout(html: :admin) - |> render(:home, page_title: "Админка") - end - - def users(conn, _params) do - conn - |> put_layout(html: :admin) - |> render(:home, page_title: "Админка") - end - def services(conn, _params) do conn |> put_layout(html: :admin) diff --git a/lib/comfycamp_web/controllers/user_editor_controller.ex b/lib/comfycamp_web/controllers/user_editor_controller.ex new file mode 100644 index 0000000..6d2c6e4 --- /dev/null +++ b/lib/comfycamp_web/controllers/user_editor_controller.ex @@ -0,0 +1,20 @@ +defmodule ComfycampWeb.UserEditorController do + use ComfycampWeb, :controller + alias Comfycamp.Accounts + + def index(conn, _params) do + users = Accounts.list_users() + + conn + |> put_layout(html: :admin) + |> render(:index, page_title: "Пользователи", users: users) + end + + def show(conn, %{"id" => id}) do + user = Accounts.get_user!(id) + + conn + |> put_layout(html: :admin) + |> render(:show, page_title: user.email, user: user) + end +end diff --git a/lib/comfycamp_web/controllers/user_editor_html.ex b/lib/comfycamp_web/controllers/user_editor_html.ex new file mode 100644 index 0000000..eff9a1a --- /dev/null +++ b/lib/comfycamp_web/controllers/user_editor_html.ex @@ -0,0 +1,45 @@ +defmodule ComfycampWeb.UserEditorHTML do + use ComfycampWeb, :html + + def index(assigns) do + ~H""" +
ID | +Одобрен? | +Админ? | +|
---|---|---|---|
<%= user.id %> | ++ <.link href={~p"/admin/users/#{user}"}><%= user.email %> + | +<%= user.is_approved %> | +<%= user.is_admin %> | +
+ <%= if @user.info do %> + <%= @user.info %> + <% else %> + Описания нет. + <% end %> +
+