diff --git a/assets/js/sorting.js b/assets/js/sorting.js index 4cd391e0f..e469bd147 100644 --- a/assets/js/sorting.js +++ b/assets/js/sorting.js @@ -2,6 +2,7 @@ import Sortable from "../vendor/sortable.js" export const InitSorting = { mounted() { + var placeholder = document.createElement('div'); new Sortable(this.el, { animation: 150, ghostClass: "bg-slate-100", @@ -11,6 +12,9 @@ export const InitSorting = { const elements = Array.from(this.el.children) const ids = elements.map(elm => elm.id) this.pushEvent("update-sorting", {ids: ids}) + }, + setData: (dataTransfer, _) => { + dataTransfer.setDragImage(placeholder, 0, 0); } }) } diff --git a/lib/atomic/board.ex b/lib/atomic/board.ex index b37cf65c6..a33be6ace 100644 --- a/lib/atomic/board.ex +++ b/lib/atomic/board.ex @@ -87,6 +87,10 @@ defmodule Atomic.Board do """ def create_board(attrs \\ %{}) do + IO.inspect(attrs) + IO.puts("changeset: ") + IO.inspect(Board.changeset(%Board{}, attrs)) + %Board{} |> Board.changeset(attrs) |> Repo.insert() @@ -104,7 +108,7 @@ defmodule Atomic.Board do {:error, %Ecto.Changeset{}} """ - def update_board(%Board{} = board, attrs) do + def update_board(board, attrs) do board |> Board.changeset(attrs) |> Repo.update() @@ -140,7 +144,7 @@ defmodule Atomic.Board do end def get_organization_board_by_year(year, organization_id) do - Repo.get_by(Board, year: year, organization_id: organization_id) + Repo.get_by(Board, name: year, organization_id: organization_id) end @doc """ @@ -195,11 +199,16 @@ defmodule Atomic.Board do end def get_board_department_users(board_departments_id, opts \\ []) do - UserOrganization - |> where([u], u.board_departments_id == ^board_departments_id) - |> order_by([u], u.priority) - |> apply_filters(opts) - |> Repo.all() + if board_departments_id == nil do + [] + else + UserOrganization + |> where([u], u.board_departments_id == ^board_departments_id) + |> order_by([u], u.priority) + |> apply_filters(opts) + |> Repo.all() + |> Repo.preload(:user) + end end @doc """ diff --git a/lib/atomic/organizations/board.ex b/lib/atomic/organizations/board.ex index a62179c26..2bade3863 100644 --- a/lib/atomic/organizations/board.ex +++ b/lib/atomic/organizations/board.ex @@ -2,14 +2,13 @@ defmodule Atomic.Organizations.Board do @moduledoc false use Atomic.Schema - alias Atomic.Ecto.Year alias Atomic.Organizations.BoardDepartments alias Atomic.Organizations.Organization - @required_fields ~w(year organization_id)a + @required_fields ~w(name organization_id)a schema "boards" do - field :year, Year + field :name, :string has_many :board_departments, BoardDepartments belongs_to :organization, Organization diff --git a/lib/atomic_web/components/button.ex b/lib/atomic_web/components/button.ex index 12d441854..79d5243fd 100644 --- a/lib/atomic_web/components/button.ex +++ b/lib/atomic_web/components/button.ex @@ -127,13 +127,13 @@ defmodule AtomicWeb.Components.Button do defp icon_content(assigns) do ~H""" - <.icon name={@icon} class={"#{generate_icon_classes(assigns)}"} solid={@icon_variant == :solid} mini={@icon_variant == :mini} /> + <.icon name={@icon} class={generate_icon_classes(assigns)} solid={@icon_variant == :solid} mini={@icon_variant == :mini} /> """ end defp spinner_content(assigns) do ~H""" - <.spinner size_class={"#{generate_icon_classes(assigns)}"} size={@size} /> + <.spinner size_class={generate_icon_classes(assigns)} size={@size} /> """ end diff --git a/lib/atomic_web/components/modal.ex b/lib/atomic_web/components/modal.ex index 8990f8c3f..e1ebbac46 100644 --- a/lib/atomic_web/components/modal.ex +++ b/lib/atomic_web/components/modal.ex @@ -36,7 +36,7 @@ defmodule AtomicWeb.Components.Modal do ~H"""