I am new to cakephp and I have got a problem with checkboxes. I have orders page where I can select items with checkboxes but I can't delete them. So I want to make function where I can delete checked items.
admin_index.ctp
<td><?php echo $this->Form->check('Order.id.' . $order['Order']['id'], ['type' => 'checkbox', 'name' => 'checkboxName','label' => false, 'class' => 'case hidden-xs']); ?></td>
echo $this->Html->link('<i class="fa fa-times"></i> ' . __('Geselecteerde aanvragen verwijderen'),
['action' => 'deleteSelected', $order['Order']['id']],
['escape' => false, 'class' => 'btn btn-primary mb10']
) . ' ';
OrdersController.php
public function deleteSelected($id = null)
{
if (!$this->Order->exists($id)) {
throw new NotFoundException(__('Aanvraag niet gevonden.'));
}
$order = $this->Order->find('first', ['conditions' => ['Order.id' => $id]]);
if ($this->Auth->user('group_id') != 3) {
if ($order['Order']['customer_id'] != $this->Auth->user('id')) {
throw new ForbiddenException(__('Verboden toegang'));
}
}
if ($this->Order->deleteSelected($id) && $this->request->data['checkboxName'] == checked) {
$this->Flash->alert(__('De aanvraag is geannuleerd.'), [
'plugin' => 'BoostCake',
'params' => ['class' => 'alert-success']
]);
} else {
$this->Flash->alert(__('De aanvraag kon niet worden geannuleerd, probeer het later opnieuw.'), [
'plugin' => 'BoostCake',
'params' => ['class' => 'alert-danger']
]);
}
$referParams = Router::parse($this->referer('/', true));
if ($referParams['action'] == 'check') {
return $this->redirect(['action' => 'check']);
} else {
return $this->redirect(['action' => 'index']);
}
}
Aucun commentaire:
Enregistrer un commentaire