From a804998c4a21a6e9f2f8eb2bcdc52231a8fc8c88 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 31 Jan 2021 16:35:51 -0700 Subject: [PATCH] unfinish tasks --- lib/planner/tasks.ex | 6 ++++++ lib/planner/tasks/task.ex | 4 ++++ lib/planner_web/live/tasks_components.ex | 6 +++++- lib/planner_web/live/tasks_live.ex | 6 ++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/planner/tasks.ex b/lib/planner/tasks.ex index c64d00b..4b3c9b3 100644 --- a/lib/planner/tasks.ex +++ b/lib/planner/tasks.ex @@ -160,6 +160,12 @@ defmodule Planner.Tasks do |> Repo.update() end + def unfinish_task_by_id!(id) do + get_task!(id) + |> Task.unfinish_task() + |> Repo.update() + end + def verify_task_id_from_url(task_id) do task_id = case UUID.dump(task_id) do diff --git a/lib/planner/tasks/task.ex b/lib/planner/tasks/task.ex index 121330d..cf97f7f 100644 --- a/lib/planner/tasks/task.ex +++ b/lib/planner/tasks/task.ex @@ -26,6 +26,10 @@ defmodule Planner.Tasks.Task do change(task, finished_at: now()) end + def unfinish_task(task) do + change(task, finished_at: nil) + end + def preview(task) do hd(String.split(task.value, "\n")) end diff --git a/lib/planner_web/live/tasks_components.ex b/lib/planner_web/live/tasks_components.ex index aa9f6f5..8789e27 100644 --- a/lib/planner_web/live/tasks_components.ex +++ b/lib/planner_web/live/tasks_components.ex @@ -86,7 +86,11 @@ defmodule TaskComponent do phx-value-task-id="<%= @task.id %>"> <% _ -> %> - ! + + ! + <% end %>
diff --git a/lib/planner_web/live/tasks_live.ex b/lib/planner_web/live/tasks_live.ex index c4ffc21..4dba104 100644 --- a/lib/planner_web/live/tasks_live.ex +++ b/lib/planner_web/live/tasks_live.ex @@ -194,6 +194,12 @@ defmodule PlannerWeb.TasksLive do {:noreply, push_patch(socket, to: route)} end + def handle_event("unfinish-task", %{"task-id" => task_id}, socket) do + {_, _} = Tasks.unfinish_task_by_id!(task_id) + route = get_index_route(socket) + {:noreply, push_patch(socket, to: route)} + end + def handle_event("new-task", %{"task" => task_params}, socket) do add_new_task(task_params, socket.assigns.active_plan, socket) end