Render 'complete' button only if the task's status is not 'done'.
This commit is contained in:
@@ -18,9 +18,18 @@ class TasksController < ApplicationController
|
||||
end
|
||||
|
||||
def destroy
|
||||
@task = @project.tasks.find(params[:id])
|
||||
@task = @project.tasks.find_by(id: params[:id])
|
||||
return unless @task
|
||||
|
||||
task_dom_id = "task_#{@task.id}"
|
||||
@task.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.turbo_stream { render turbo_stream: turbo_stream.remove(task_dom_id) }
|
||||
format.html { redirect_to @project }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def complete
|
||||
@task = @project.tasks.find(params[:id])
|
||||
@@ -30,7 +39,7 @@ class TasksController < ApplicationController
|
||||
format.turbo_stream
|
||||
format.html { redirect_to @project }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
<li>
|
||||
<%= task.title %> (<%= task.status %>)
|
||||
|
||||
<%= link_to "Destroy", project_task_path(task.project, task), data: {
|
||||
turbo_method: :delete,
|
||||
turbo_confirm: "Are you sure?"
|
||||
} %>
|
||||
<%= 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),
|
||||
<% unless task.status == "done" %>
|
||||
<%= button_to "Complete",
|
||||
complete_project_task_path(task.project, task),
|
||||
method: :patch,
|
||||
form: { data: { turbo_frame: dom_id(task) } } %>
|
||||
<% end %>
|
||||
|
||||
Reference in New Issue
Block a user