Store user that created a property
This commit is contained in:
parent
8d9da4ea40
commit
57658a6857
7 changed files with 33 additions and 6 deletions
lib
real_estate
real_estate_web/live/property_live
|
@ -51,7 +51,7 @@ defmodule RealEstate.Properties do
|
|||
"""
|
||||
def create_property(attrs \\ %{}) do
|
||||
%Property{}
|
||||
|> Property.changeset(attrs)
|
||||
|> Property.create_changeset(attrs)
|
||||
|> Repo.insert()
|
||||
end
|
||||
|
||||
|
|
|
@ -11,6 +11,12 @@ defmodule RealEstate.Properties.Property do
|
|||
timestamps()
|
||||
end
|
||||
|
||||
def create_changeset(property, attrs) do
|
||||
property
|
||||
|> cast(attrs, [:name, :price, :description, :user_id])
|
||||
|> validate_required([:name, :price, :description, :user_id])
|
||||
end
|
||||
|
||||
@doc false
|
||||
def changeset(property, attrs) do
|
||||
property
|
||||
|
|
|
@ -41,6 +41,9 @@ defmodule RealEstateWeb.PropertyLive.FormComponent do
|
|||
end
|
||||
|
||||
defp save_property(socket, :new, property_params) do
|
||||
current_user = socket.assigns.current_user
|
||||
property_params = Map.put(property_params, "user_id", current_user.id)
|
||||
|
||||
case Properties.create_property(property_params) do
|
||||
{:ok, _property} ->
|
||||
{:noreply,
|
||||
|
|
|
@ -5,7 +5,8 @@ defmodule RealEstateWeb.PropertyLive.Index do
|
|||
alias RealEstate.Properties.Property
|
||||
|
||||
@impl true
|
||||
def mount(_params, _session, socket) do
|
||||
def mount(_params, session, socket) do
|
||||
socket = assign_defaults(session, socket)
|
||||
{:ok, assign(socket, :properties, list_properties())}
|
||||
end
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
title: @page_title,
|
||||
action: @live_action,
|
||||
property: @property,
|
||||
current_user: @current_user,
|
||||
return_to: Routes.property_index_path(@socket, :index) %>
|
||||
<% end %>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue