Added complete button
This commit is contained in:
@@ -22,6 +22,16 @@ class TasksController < ApplicationController
|
||||
@task.destroy
|
||||
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
|
||||
|
||||
def set_project
|
||||
|
||||
@@ -4,18 +4,23 @@
|
||||
<turbo-frame id="tasks">
|
||||
<ul id="tasks_list">
|
||||
<% @project.tasks.each do |task| %>
|
||||
<li id="<%= dom_id(task) %>">
|
||||
<turbo-frame id="<%= dom_id(task) %>">
|
||||
<li>
|
||||
<%= task.title %> (<%= task.status %>)
|
||||
<%= link_to "Destroy", project_task_path(@project, task), data: {
|
||||
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?" } %>
|
||||
|
||||
<% 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 %>
|
||||
</ul>
|
||||
</turbo-frame>
|
||||
|
||||
|
||||
<turbo-frame id="new_task">
|
||||
<br>
|
||||
<h2>Add New Task</h2>
|
||||
<%= render partial: "tasks/form", locals: { project: @project, task: Task.new } %>
|
||||
</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 %>
|
||||
<li id="<%= dom_id(@task) %>">
|
||||
<%= @task.title %> (<%= @task.status %>)
|
||||
<%= link_to "Destroy", project_task_path(@project, @task), data: {
|
||||
turbo_method: :delete,
|
||||
turbo_confirm: "Are you sure?"
|
||||
} %>
|
||||
</li>
|
||||
<%= render partial: "tasks/task", locals: { task: @task } %>
|
||||
<% end %>
|
||||
|
||||
<%= turbo_stream.replace "new_task" do %>
|
||||
|
||||
@@ -3,7 +3,11 @@ Rails.application.routes.draw do
|
||||
root "projects#index"
|
||||
|
||||
resources :projects do
|
||||
resources :tasks
|
||||
resources :tasks do
|
||||
member do
|
||||
patch :complete
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user