blonk is a radar for your web, where you follow vibes for cool blips on the radar
at main 30 lines 820 B view raw
1defmodule ElixirBlonkWeb.UserRegistrationController do 2 use ElixirBlonkWeb, :controller 3 4 alias ElixirBlonk.Accounts 5 alias ElixirBlonk.Accounts.User 6 alias ElixirBlonkWeb.UserAuth 7 8 def new(conn, _params) do 9 changeset = Accounts.change_user_registration(%User{}) 10 render(conn, :new, changeset: changeset) 11 end 12 13 def create(conn, %{"user" => user_params}) do 14 case Accounts.register_user(user_params) do 15 {:ok, user} -> 16 {:ok, _} = 17 Accounts.deliver_user_confirmation_instructions( 18 user, 19 &url(~p"/users/confirm/#{&1}") 20 ) 21 22 conn 23 |> put_flash(:info, "User created successfully.") 24 |> UserAuth.log_in_user(user) 25 26 {:error, %Ecto.Changeset{} = changeset} -> 27 render(conn, :new, changeset: changeset) 28 end 29 end 30end