Form
Code: Select all
{% for task in tasks %}
<tr>
<td class="text-left">
<form action="{{ edit }}" method="post" id="form-edit-{{ task.task_id }}" style="width:100%;">
<div style="padding:0; float:left; width:5%;">
{{ task.task_id }} <!--THIS IS VISUALLY SHOWING ME ON THE FORM ID BEING CHECKED IS CORRECT-->
{% if task.task_id in selected %}
<input type="checkbox" name="dashboard_task_delete" value="1" class="form-control" style="margin-top:12px; float:left;" checked="checked" />
{% else %}
<input type="checkbox" name="dashboard_task_delete" value="0" class="form-control" style="margin-top:12px; float:left;" />
{% endif %}
<input type="text" name="dashboard_task_id" value="{{ task.task_id }}" id="dashboard_task_id" class="form-control" style="float:left; width:28px; visibility:hidden;" />
</div>
<div style="padding:0 12px; float:left; width:15%;">
<select name="dashboard_task_status" id="input-task-status" class="form-control">
{% if task.task_status == 2 %}
<option value="2" selected="selected">{{ text_task_completed }}</option>
<option value="1">{{ text_task_pending }}</option>
<option value="0">{{ text_task_inactive }}</option>
{% elseif task.task_status == 1 %}
<option value="2">{{ text_task_completed }}</option>
<option value="1" selected="selected">{{ text_task_pending }}</option>
<option value="0">{{ text_task_inactive }}</option>
{% elseif task.task_status == 0 %}
<option value="2">{{ text_task_completed }}</option>
<option value="1">{{ text_task_pending }}</option>
<option value="0" selected="selected">{{ text_task_inactive }}</option>
{% endif %}
</select>
</div>
<div style="padding:0 12px; float:left; width:50%;">
<input type="text" name="dashboard_task_description" value="{{ task.task_description }}" placeholder="{{ task.task_description }}" id="input-task-description" class="form-control" />
</div>
<div style="padding:0 12px; float:left; width:20%;">
<input type="datetime" name="dashboard_task_deadline" value="{{ task.task_deadline }}" placeholder="{{ task.task_deadline }}" id="input-task-deadline" class="form-control" />
</div>
<div style="padding:0 12px; float:left; width:10%;">
<button type="submit" form="form-edit-{{ task.task_id }}" formaction="{{ edit }}" class="btn btn-warning" id="dashboard_task_edit" data-toggle="tooltip" title="{{ button_edit }}">
{{ task.task_id }} <!--THIS IS VISUALLY SHOWING ME ON THE FORM ID BEING SUBMITTED IS CORRECT-->
<span class="fa fa-save"></span>
</button>
</div>
</form>
</td>
</tr>
{% endfor %}
controller (I stripped some of the visual aspects of the index away so it's easier to see the main components)
Code: Select all
public function index() {
$this->load->language('extension/dashboard/tasks');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('setting/setting');
$this->load->model('extension/dashboard/tasks');
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
$this->model_setting_setting->editSetting('dashboard_tasks', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->response->redirect($this->url->link('extension/dashboard/tasks', 'user_token=' . $this->session->data['user_token'] . '&type=module', true));
}
if (isset($this->error['warning'])) {
$data['error_warning'] = $this->error['warning'];
} else {
$data['error_warning'] = '';
}
$data['action'] = $this->url->link('extension/dashboard/tasks', 'user_token=' . $this->session->data['user_token'], true);
$data['add'] = $this->url->link('extension/dashboard/tasks/add', 'user_token=' . $this->session->data['user_token'], true);
$data['edit'] = $this->url->link('extension/dashboard/tasks/edit', 'user_token=' . $this->session->data['user_token'], true);
$data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=dashboard', true);
if (isset($this->request->post['dashboard_tasks_width'])) {
$data['dashboard_tasks_width'] = $this->request->post['dashboard_tasks_width'];
} else {
$data['dashboard_tasks_width'] = $this->config->get('dashboard_tasks_width');
}
$data['columns'] = array();
for ($i = 3; $i <= 12; $i++) {
$data['columns'][] = $i;
}
if (isset($this->request->post['dashboard_tasks_status'])) {
$data['dashboard_tasks_status'] = $this->request->post['dashboard_tasks_status'];
} else {
$data['dashboard_tasks_status'] = $this->config->get('dashboard_tasks_status');
}
$data['user_token'] = $this->session->data['user_token'];
// List tasks
$data['tasks'] = array();
$filter = 'task_id';
$results = $this->model_extension_dashboard_tasks->getTasks($filter);
foreach ($results as $result) {
$data['tasks'][] = array(
'task_id' => $result['task_id'],
'task_description' => $result['task_description'],
'task_status' => $result['task_status'],
'task_deadline' => $result['task_deadline'],
);
}
$this->response->setOutput($this->load->view('extension/dashboard/tasks_form', $data));
}
public function edit() {
$this->load->model('extension/dashboard/tasks');
// if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
$task_id = $this->request->post['dashboard_task_id'];
$status = $this->request->post['dashboard_task_status'];
$description = htmlentities($this->request->post['dashboard_task_description'], ENT_QUOTES);
$deadline = $this->request->post['dashboard_task_deadline'];
$this->log->write($task_id);
if (isset($this->request->post['dashboard_task_delete'])) {
$this->model_extension_dashboard_tasks->deleteTask($task_id);
} else {
$this->model_extension_dashboard_tasks->editTask($task_id, $status, $description, $deadline);
}
$this->session->data['success'] = $this->language->get('text_success');
$this->response->redirect($this->url->link('extension/dashboard/tasks', 'user_token=' . $this->session->data['user_token'] . '&type=module', true));
// }
}