Amigos que tal, tengo un problema.
Estoy trabajando con cakephp y en unos de mis controladores tengo la accion delete.
Dentro de mi vista le doy la opcion al usuario de eliminar una categoria, que estas mismas estan asocidadas a un Area. Asi, no se puede llegar y eliminar dicha categoria por las FK que se generan. Cuando el usuario da click en eliminar le envio el siguiente script.
Código Javascript
:
Ver original<script>
$(function(){
$('.option_delete').on('click', function (e) {
modal.confirm('<?=h(__('Do you really want to delete this Category?'));?>', function () {
window.location.href = '<?php echo $this->Html->url(array('controller' => 'categories',
'action' => 'delete',
$categories['Category']['id']));?>';
});
});
});
</script>
Si el usuario da que si, va hacia la accion delete que es esta.
Código PHP:
public function admin_delete($id = null) {
$this->Category->id = $id;
if (!$this->Category->exists())
throw new NotFoundException(__('Invalid role'));
$resultSelected= $this->Category->Area->find('count', array('conditions'=>array('Area.category_id' => $id)));
if ($resultSelected > 0)
throw new RuntimeException(__('Areas ligadas'));
if (!$this->Category->delete())
throw new RuntimeException(__('The Category couldn\'t be deleted. Try again'));
$this->Session->setSuccess(__('Cate successfully deleted'));
$this->redirect(array('action' => 'index'));
}
Mi idea es que cuando el usuario de Aceptar en el modal de confirmación se le envie el mensaje de no poder eliminar la categoria, pero dar la opcion de "ligar" esas areas que quedarian en el aire a otra categoria. Mediante un combobox o algun otro elemento listar las categorias disponibles.
No tengo mucho conocimiento de ajax, js, jq, pero puedo aprender. Si tienen alguna solución o alguna idea de como poder realizarlo se los agradeceria.
Slds.