ACTUALLY WORKING
This commit is contained in:
parent
ffa6d3bc55
commit
02cc1072c0
@ -1,9 +1,31 @@
|
|||||||
defmodule BwcWeb.SessionController do
|
defmodule BwcWeb.SessionController do
|
||||||
use BwcWeb, :controller
|
use BwcWeb, :controller
|
||||||
|
|
||||||
|
def update(conn, params) do
|
||||||
|
cards = Bwc.list_cards()
|
||||||
|
player = Map.get(params, "player")
|
||||||
|
new_username = Map.get(player, "username")
|
||||||
|
old_username = Map.get(player, "old_username")
|
||||||
|
case {old_username, new_username} |> Bwc.change_name() do
|
||||||
|
{:ok, player} ->
|
||||||
|
conn
|
||||||
|
|> put_session(:username, player.username)
|
||||||
|
|> put_flash(:info, "You are now known as '#{player.username}'.")
|
||||||
|
|> redirect(to: Routes.card_path(conn, :index, cards))
|
||||||
|
{:error, player} ->
|
||||||
|
conn |> render("new.html", player: player, method: :update)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def new(conn, _params) do
|
def new(conn, _params) do
|
||||||
player = Bwc.new_player()
|
player = Bwc.new_player()
|
||||||
render(conn, "new.html", player: player)
|
method = cond do
|
||||||
|
conn |> get_session(:username) == "Nobody" ->
|
||||||
|
:create
|
||||||
|
true ->
|
||||||
|
:update
|
||||||
|
end
|
||||||
|
render(conn, "new.html", player: player, method: method)
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_name(conn, params) do
|
def set_name(conn, params) do
|
||||||
|
|||||||
@ -6,12 +6,12 @@ defmodule BwcWeb.Roster do
|
|||||||
def call(conn, _opts) do
|
def call(conn, _opts) do
|
||||||
import Logger
|
import Logger
|
||||||
|
|
||||||
player =
|
{:ok, player} =
|
||||||
conn
|
conn
|
||||||
|> get_session(:username)
|
|> get_session(:username)
|
||||||
|> case do
|
|> case do
|
||||||
nil -> "Nobody"
|
nil -> {:ok, "Nobody"}
|
||||||
username -> Bwc.get_player_by(%{username: username})
|
username -> Bwc.get_or_create_player(username)
|
||||||
end
|
end
|
||||||
Logger.debug(player)
|
Logger.debug(player)
|
||||||
assign(conn, :current_player, player)
|
assign(conn, :current_player, player)
|
||||||
|
|||||||
@ -22,6 +22,8 @@ defmodule BwcWeb.Router do
|
|||||||
|
|
||||||
get "/join", SessionController, :new
|
get "/join", SessionController, :new
|
||||||
post "/join", SessionController, :create
|
post "/join", SessionController, :create
|
||||||
|
post "/rename", SessionController, :update
|
||||||
|
put "/rename", SessionController, :update
|
||||||
get "/leave", SessionController, :delete
|
get "/leave", SessionController, :delete
|
||||||
|
|
||||||
get "/create", CardController, :new
|
get "/create", CardController, :new
|
||||||
|
|||||||
@ -1,8 +1,13 @@
|
|||||||
<%= form_for @player, Routes.session_path(@conn, :create), fn(f) -> %>
|
<%= form_for @player, Routes.session_path(@conn, @method), fn(f) -> %>
|
||||||
|
|
||||||
<div class="new-session uk-panel uk-panel-box uk-panel-box-secondary uk-padding uk-flex uk-flex-column">
|
<div class="new-session uk-panel uk-panel-box uk-panel-box-secondary uk-padding uk-flex uk-flex-column">
|
||||||
<div class="uk-flex-item">
|
<div class="uk-flex-item">
|
||||||
|
<%= if @current_player do %>
|
||||||
|
<%= text_input f, :username, "placeholder": @current_player.username, "value": @current_player.username %>
|
||||||
|
<%= text_input f, :old_username, "value": @current_player.username, "class": "uk-hidden" %>
|
||||||
|
<% else %>
|
||||||
<%= text_input f, :username, "placeholder": "Join the game as..." %>
|
<%= text_input f, :username, "placeholder": "Join the game as..." %>
|
||||||
|
<% end %>
|
||||||
<%= error_tag f, :username %>
|
<%= error_tag f, :username %>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@ -12,7 +17,11 @@
|
|||||||
<div class="uk-flex uk-flex-center">
|
<div class="uk-flex uk-flex-center">
|
||||||
<ul class="uk-subnav uk-subnav-pill" style="margin-bottom:0px;">
|
<ul class="uk-subnav uk-subnav-pill" style="margin-bottom:0px;">
|
||||||
<li>
|
<li>
|
||||||
|
<%= if @current_player do %>
|
||||||
|
<%= submit "Change Name", class: "uk-active uk-subnav-pill", id: "joinGame" %>
|
||||||
|
<% else %>
|
||||||
<%= submit "Join", class: "uk-active uk-subnav-pill", id: "joinGame" %>
|
<%= submit "Join", class: "uk-active uk-subnav-pill", id: "joinGame" %>
|
||||||
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user