Added complete button
This commit is contained in:
@@ -22,6 +22,16 @@ class TasksController < ApplicationController
|
|||||||
@task.destroy
|
@task.destroy
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def complete
|
||||||
|
@task = @project.tasks.find(params[:id])
|
||||||
|
@task.update(status: "done")
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.turbo_stream
|
||||||
|
format.html { redirect_to @project }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_project
|
def set_project
|
||||||
|
|||||||
@@ -4,18 +4,23 @@
|
|||||||
<turbo-frame id="tasks">
|
<turbo-frame id="tasks">
|
||||||
<ul id="tasks_list">
|
<ul id="tasks_list">
|
||||||
<% @project.tasks.each do |task| %>
|
<% @project.tasks.each do |task| %>
|
||||||
<li id="<%= dom_id(task) %>">
|
<turbo-frame id="<%= dom_id(task) %>">
|
||||||
<%= task.title %> (<%= task.status %>)
|
<li>
|
||||||
<%= link_to "Destroy", project_task_path(@project, task), data: {
|
<%= task.title %> (<%= task.status %>)
|
||||||
turbo_method: :delete,
|
|
||||||
turbo_confirm: "Are you sure?"
|
<%= link_to "Destroy", project_task_path(@project, task), data: { turbo_method: :delete, turbo_confirm: "Are you sure?" } %>
|
||||||
} %>
|
|
||||||
</li>
|
<% unless task.status == "done" %>
|
||||||
|
<%= button_to "Complete", complete_project_task_path(@project, task), method: :patch, form: { data: { turbo_frame: dom_id(task) } } %>
|
||||||
|
<% end %>
|
||||||
|
</li>
|
||||||
|
</turbo-frame>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
</turbo-frame>
|
</turbo-frame>
|
||||||
|
|
||||||
|
|
||||||
<turbo-frame id="new_task">
|
<turbo-frame id="new_task">
|
||||||
|
<br>
|
||||||
|
<h2>Add New Task</h2>
|
||||||
<%= render partial: "tasks/form", locals: { project: @project, task: Task.new } %>
|
<%= render partial: "tasks/form", locals: { project: @project, task: Task.new } %>
|
||||||
</turbo-frame>
|
</turbo-frame>
|
||||||
16
app/views/tasks/_task.html.erb
Normal file
16
app/views/tasks/_task.html.erb
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<turbo-frame id="<%= dom_id(task) %>">
|
||||||
|
<li>
|
||||||
|
<%= task.title %> (<%= task.status %>)
|
||||||
|
|
||||||
|
<%= link_to "Destroy", project_task_path(task.project, task), data: {
|
||||||
|
turbo_method: :delete,
|
||||||
|
turbo_confirm: "Are you sure?"
|
||||||
|
} %>
|
||||||
|
|
||||||
|
<% unless task.status == "completed" %>
|
||||||
|
<%= button_to "Complete", complete_project_task_path(task.project, task),
|
||||||
|
method: :patch,
|
||||||
|
form: { data: { turbo_frame: dom_id(task) } } %>
|
||||||
|
<% end %>
|
||||||
|
</li>
|
||||||
|
</turbo-frame>
|
||||||
10
app/views/tasks/complete.turbo_stream.erb
Normal file
10
app/views/tasks/complete.turbo_stream.erb
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<%= turbo_stream.replace dom_id(@task) do %>
|
||||||
|
<li>
|
||||||
|
<%= @task.title %> (<%= @task.status %>)
|
||||||
|
|
||||||
|
<%= link_to "Destroy", project_task_path(@project, @task), data: {
|
||||||
|
turbo_method: :delete,
|
||||||
|
turbo_confirm: "Are you sure?"
|
||||||
|
} %>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
<%= turbo_stream.append "tasks_list" do %>
|
<%= turbo_stream.append "tasks_list" do %>
|
||||||
<li id="<%= dom_id(@task) %>">
|
<%= render partial: "tasks/task", locals: { task: @task } %>
|
||||||
<%= @task.title %> (<%= @task.status %>)
|
|
||||||
<%= link_to "Destroy", project_task_path(@project, @task), data: {
|
|
||||||
turbo_method: :delete,
|
|
||||||
turbo_confirm: "Are you sure?"
|
|
||||||
} %>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= turbo_stream.replace "new_task" do %>
|
<%= turbo_stream.replace "new_task" do %>
|
||||||
|
|||||||
@@ -3,7 +3,11 @@ Rails.application.routes.draw do
|
|||||||
root "projects#index"
|
root "projects#index"
|
||||||
|
|
||||||
resources :projects do
|
resources :projects do
|
||||||
resources :tasks
|
resources :tasks do
|
||||||
|
member do
|
||||||
|
patch :complete
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user