Arreglado error al borrar idioma de candidato
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_PROFIND_Web/trunk@68 3fe1ab16-cfe0-e34b-8c9f-7d8c168d430d
This commit is contained in:
parent
e81ded2173
commit
bdf9c1c41b
@ -117,11 +117,14 @@ class CandidatoController extends Controller {
|
||||
}
|
||||
|
||||
// Guardar los datos
|
||||
$errores = array();
|
||||
$transaccion = Yii::app()->db->beginTransaction();
|
||||
try {
|
||||
Yii::trace('Guardando el candidato', 'application.controllers.CandidatoController');
|
||||
if (!$candidato->save())
|
||||
if (!$candidato->save()) {
|
||||
$errores = array_merge($errores, $candidato->getErrors());
|
||||
throw new CException('Error al guardar el candidato');
|
||||
}
|
||||
|
||||
if (($quitarFotografia == '1') && ($candidato->fotografia->tieneFotografia())) {
|
||||
Yii::trace('Eliminando la fotografía del candidato', 'application.controllers.CandidatoController');
|
||||
@ -136,16 +139,21 @@ class CandidatoController extends Controller {
|
||||
// Titulaciones
|
||||
if (!empty($listaTitulacionesBorrar)) {
|
||||
Yii::trace('Eliminando titulaciones marcadas para borrar', 'application.controllers.CandidatoController');
|
||||
foreach ($listaIdiomasBorrar as $candidatoTitulacion) {
|
||||
if (!$candidatoTitulacion->delete())
|
||||
foreach ($listaTitulacionesBorrar as $candidatoTitulacion) {
|
||||
if (!$candidatoTitulacion->delete()) {
|
||||
$errores = array_merge($errores, $candidatoTitulacion->getErrors());
|
||||
throw new CException('Error al eliminar una titulación del candidato');
|
||||
}
|
||||
}
|
||||
$listaTitulacionesBorrar = NULL;
|
||||
}
|
||||
if (!empty($candidato->titulaciones)) {
|
||||
Yii::trace('Guardando la lista de titulaciones', 'application.controllers.CandidatoController');
|
||||
foreach ($candidato->titulaciones as $candidatoTitulacion) {
|
||||
if (!$candidatoTitulacion->save())
|
||||
if (!$candidatoTitulacion->save()) {
|
||||
$errores = array_merge($errores, $candidatoTitulacion->getErrors());
|
||||
throw new CException('Error al guardar una titulación del candidato');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -153,15 +161,22 @@ class CandidatoController extends Controller {
|
||||
if (!empty($listaIdiomasBorrar)) {
|
||||
Yii::trace('Eliminando idiomas marcados para borrar', 'application.controllers.CandidatoController');
|
||||
foreach ($listaIdiomasBorrar as $candidatoIdioma) {
|
||||
if (!$candidatoIdioma->delete())
|
||||
Yii::trace('Eliminando idioma... ', 'application.controllers.CandidatoController');
|
||||
Yii::trace(CVarDumper::dumpAsString($candidatoIdioma->attributes), 'application.controllers.CandidatoController');
|
||||
if (!$candidatoIdioma->delete()) {
|
||||
$errores = array_merge($errores, $candidatoIdioma->getErrors());
|
||||
throw new CException('Error al eliminar un idioma del candidato');
|
||||
}
|
||||
}
|
||||
$listaIdiomasBorrar = NULL;
|
||||
}
|
||||
if (!empty($candidato->idiomas)) {
|
||||
Yii::trace('Guardando la lista de idiomas', 'application.controllers.CandidatoController');
|
||||
foreach ($candidato->idiomas as $candidatoIdioma) {
|
||||
if (!$candidatoIdioma->save())
|
||||
if (!$candidatoIdioma->save()) {
|
||||
$errores = array_merge($errores, $candidatoIdioma->getErrors());
|
||||
throw new CException('Error al guardar un idioma del candidato');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -177,12 +192,6 @@ class CandidatoController extends Controller {
|
||||
Yii::app()->user->setFlash('error', Yii::t('profind', 'Se ha producido un error al actualizar el candidato'));
|
||||
|
||||
if (YII_DEBUG) {
|
||||
$errores = $candidato->getErrors();
|
||||
if (isset($candidatoTitulacion))
|
||||
$errores = array_merge($errores, $candidatoTitulacion->getErrors());
|
||||
if (isset($candidatoIdioma))
|
||||
$errores = array_merge($errores, $candidatoIdioma->getErrors());
|
||||
|
||||
$resultado = array();
|
||||
foreach ($errores as $campo => $mensaje)
|
||||
$resultado[$campo] = $mensaje;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user