tududi/app/views/tasks/_form.erb
2024-02-12 13:16:03 +02:00

87 lines
3.8 KiB
Text

<% action_url = task.new_record? ? '/task/create' : "/task/#{task.id}" %>
<% method = task.new_record? ? 'post' : 'patch' %>
<form action="<%= action_url %>" method="post" class="">
<% unless task.new_record? %>
<input type="hidden" name="_method" value="<%= method %>">
<% end %>
<fieldset>
<div class="row mb-3">
<div class="col-md-12">
<div class="input-group input-group-lg">
<input type="text" id="task_name_<%= task.id %>" name="name" value="<%= task.name %>" class="form-control" placeholder="+ Add Task" required>
</div>
</div>
</div>
<div class="row mb-3">
<div class="col-md-12">
<label for="task_tags_<%= task.id %>" class="form-label">Tags:</label>
<input name="tags" id="task_tags_<%= task.id %>" class="form-control" value="<%= task.tags&.map(&:name)&.join(',') %>" placeholder="Add Tags">
</div>
</div>
<div class="row mb-3">
<div class="col-md-12">
<label for="task_project" class="form-label">Project (optional):</label>
<select id="task_project_<%= task.id %>" name="project_id" class="form-select">
<option value="">No Project</option>
<% current_user.projects.each do |project| %>
<option value="<%= project.id %>" <%= 'selected' if task.project_id == project.id %>><%= project.name %></option>
<% end %>
</select>
</div>
</div>
<div class="row mb-3">
<div class="col-md-4">
<label for="task_status" class="form-label">Status:</label>
<select id="task_status_<%= task.id %>" name="status" class="form-select">
<option value="not_started" <%= 'selected' if task.not_started? %>>Not Started</option>
<option value="in_progress" <%= 'selected' if task.in_progress? %>>In Progress</option>
<option value="done" <%= 'selected' if task.done? %>>Done</option>
<option value="archived" <%= 'selected' if task.archived? %>>Archived</option>
</select>
</div>
<div class="col-md-4">
<label for="task_priority" class="form-label">Priority:</label>
<select id="task_priority_<%= task.id %>" name="priority" class="form-select">
<option value="low" <%= 'selected' if task.low? %>>Low</option>
<option value="medium" <%= 'selected' if task.medium? %>>Medium</option>
<option value="high" <%= 'selected' if task.high? %>>High</option>
</select>
</div>
<div class="col-md-4">
<label for="task_due_date" class="form-label">Due Date:</label>
<input type="date" id="task_due_date_<%= task.id %>" name="due_date" value="<%= task.due_date.strftime('%Y-%m-%d') if task.due_date %>" class="form-control">
</div>
</div>
<div class="row mb-3">
<div class="col-md-12">
<label for="task_note" class="form-label">Note:</label>
<textarea rows="4" id="task_note_<%= task.id %>" name="note" class="form-control" placeholder=""><%= task.note %></textarea>
</div>
</div>
<div class="row">
<div class="mt-4">
<button type="submit" class="btn btn-primary">
<%= task.new_record? ? 'Create Task' : 'Update Task' %>
</button>
<% unless task.new_record? %>
<button type="button" class="btn btn-danger" onclick="deleteTask('<%= task.id %>')">
<i class="bi bi-trash"></i>
</button>
<% end %>
</div>
</div>
</fieldset>
</form>
<% if !task.new_record? %>
<form id="delete_task_<%= task.id %>" action="/task/<%= task.id %>" method="post" class="d-none">
<input type="hidden" name="_method" value="delete">
</form>
<% end %>
<script>
function deleteTask(taskId) {
if (confirm('Are you sure you want to delete this task?')) {
var form = document.getElementById('delete_task_' + taskId);
form.submit();
}
}
</script>