87 lines
3.8 KiB
Text
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>
|